* [BUG] ox-taskjuggler: unable to use depends {gapduration}
@ 2014-11-05 6:39 John Hendy
2014-11-05 8:21 ` Christian Egli
0 siblings, 1 reply; 6+ messages in thread
From: John Hendy @ 2014-11-05 6:39 UTC (permalink / raw)
To: emacs-orgmode
I ran into an odd issue with a taskjuggler task tree I'm working on
when trying to apply a gapduration attribute to a task dependency.
Typically, I can just pass any valid taskjuggler attribute through
using properties, but my export was producing an error when trying to
use:
:depends: task {gapduration 1h}
I checked ox-taskjuggler to see if gapduration was not an acceptable
attribute, but it actually references it specifically:
#+begin_quote ox-taskjuggler.el
;; * Dependencies
;;
;; The exporter will handle dependencies that are defined in the tasks...
;; [snip]
;; ;; * Presentation
;; :PROPERTIES:
;; :Effort: 2d
;; :BLOCKER: training_material { gapduration 1d } some_other_task
;; :END:
#+end_quote
Here's my example:
#+begin_src min-config
(add-to-list 'load-path "~/.elisp/org.git/lisp/")
(add-to-list 'load-path "~/.elisp/org.git/contrib/lisp")
(require 'ox-taskjuggler)
#+end_src
#+begin_src test.org
* test :taskjuggler_project:
** task1
:PROPERTIES:
:task_id: task1
:start: 2014-11-05-08:00
:END:
** task2
:PROPERTIES:
:task_id: task2
:BLOCKER: task1 { gapduration 1d }
:duration: 1h
:END:
#+end_src
Oddly, the output is as follows (task section):
#+begin_src test.tjp
task test "test" {
task task1 "task1" {
milestone
start 2014-11-05-08:00
}
task task2 "task2" {
depends !task1 t :taskjuggl
duration 1h
}
#+end_src
For some reason it's grabbing the taskjuggler tag! I tried with the
example in ox-taskjuggler.el with the same result.
M-x org-version
Org-mode version 8.3beta (release_8.3beta-483-g58bb3a.dirty @
/home/jwhendy/.elisp/org.git/lisp/)
Is this a bug or am I mis-interpreting how this would work?
Thanks,
John
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] ox-taskjuggler: unable to use depends {gapduration}
2014-11-05 6:39 [BUG] ox-taskjuggler: unable to use depends {gapduration} John Hendy
@ 2014-11-05 8:21 ` Christian Egli
2014-11-05 13:27 ` Nicolas Goaziou
2014-11-06 0:41 ` John Hendy
0 siblings, 2 replies; 6+ messages in thread
From: Christian Egli @ 2014-11-05 8:21 UTC (permalink / raw)
To: emacs-orgmode
John Hendy <jw.hendy@gmail.com> writes:
> I ran into an odd issue with a taskjuggler task tree I'm working on
> when trying to apply a gapduration attribute to a task dependency.
> Typically, I can just pass any valid taskjuggler attribute through
> using properties, but my export was producing an error when trying to
> use:
>
> :depends: task {gapduration 1h}
>
> Oddly, the output is as follows (task section):
>
> #+begin_src test.tjp
>
> task test "test" {
> task task1 "task1" {
> milestone
> start 2014-11-05-08:00
> }
> task task2 "task2" {
> depends !task1 t :taskjuggl
> duration 1h
> }
> #+end_src
>
> For some reason it's grabbing the taskjuggler tag! I tried with the
> example in ox-taskjuggler.el with the same result.
>
> Is this a bug or am I mis-interpreting how this would work?
No it is indeed a bug. At first I thought this was simply no longer
working in the new exporter but I was wrong. Nicolas of course
implemented it and way more. But there is a subtle bug. I actually found
it because I wondered about the funny "t :taskjuggl" in the output.
Here's the fix.
diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
index 807d702..9e977f6 100644
--- a/contrib/lisp/ox-taskjuggler.el
+++ b/contrib/lisp/ox-taskjuggler.el
@@ -600,7 +600,7 @@ doesn't include leading \"depends\"."
(let ((id (org-element-property :TASK_ID dep)))
(and id
(string-match (concat id " +\\({.*?}\\)") dep-str)
- (org-match-string-no-properties 1))))
+ (org-match-string-no-properties 1 dep-str))))
path)
;; Compute number of exclamation marks by looking for the
;; common ancestor between TASK and DEP.
Nicolas, I can push this myself but I haven't pushed to the repo in
years. What is the current way? Do I just push to master?
Thanks
Christian
--
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [BUG] ox-taskjuggler: unable to use depends {gapduration}
2014-11-05 8:21 ` Christian Egli
@ 2014-11-05 13:27 ` Nicolas Goaziou
2014-11-06 8:19 ` Christian Egli
2014-11-06 0:41 ` John Hendy
1 sibling, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2014-11-05 13:27 UTC (permalink / raw)
To: Christian Egli; +Cc: emacs-orgmode
Hello,
Christian Egli <christian.egli@sbs.ch> writes:
> No it is indeed a bug. At first I thought this was simply no longer
> working in the new exporter but I was wrong. Nicolas of course
> implemented it and way more. But there is a subtle bug. I actually found
> it because I wondered about the funny "t :taskjuggl" in the output.
> Here's the fix.
>
> diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
> index 807d702..9e977f6 100644
> --- a/contrib/lisp/ox-taskjuggler.el
> +++ b/contrib/lisp/ox-taskjuggler.el
> @@ -600,7 +600,7 @@ doesn't include leading \"depends\"."
> (let ((id (org-element-property :TASK_ID dep)))
> (and id
> (string-match (concat id " +\\({.*?}\\)") dep-str)
> - (org-match-string-no-properties 1))))
> + (org-match-string-no-properties 1 dep-str))))
> path)
> ;; Compute number of exclamation marks by looking for the
> ;; common ancestor between TASK and DEP.
>
> Nicolas, I can push this myself but I haven't pushed to the repo in
> years. What is the current way? Do I just push to master?
I think you should push to maint, so that users of org+contrib package
can benefit from your fix soon enough. You then need to merge maint
into master.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] ox-taskjuggler: unable to use depends {gapduration}
2014-11-05 13:27 ` Nicolas Goaziou
@ 2014-11-06 8:19 ` Christian Egli
2014-11-06 17:33 ` Nicolas Goaziou
0 siblings, 1 reply; 6+ messages in thread
From: Christian Egli @ 2014-11-06 8:19 UTC (permalink / raw)
To: emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>> Nicolas, I can push this myself but I haven't pushed to the repo in
>> years. What is the current way? Do I just push to master?
>
> I think you should push to maint, so that users of org+contrib package
> can benefit from your fix soon enough. You then need to merge maint
> into master.
OK, the fix is pushed to maint and merged to master.
Thanks
Christian
--
Christian Egli
Swiss Library for the Blind, Visually Impaired and Print Disabled
Grubenstrasse 12, CH-8045 Zürich, Switzerland
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [BUG] ox-taskjuggler: unable to use depends {gapduration}
2014-11-05 8:21 ` Christian Egli
2014-11-05 13:27 ` Nicolas Goaziou
@ 2014-11-06 0:41 ` John Hendy
1 sibling, 0 replies; 6+ messages in thread
From: John Hendy @ 2014-11-06 0:41 UTC (permalink / raw)
To: Christian Egli; +Cc: emacs-orgmode
On Wed, Nov 5, 2014 at 2:21 AM, Christian Egli <christian.egli@sbs.ch> wrote:
> John Hendy <jw.hendy@gmail.com> writes:
>
>> I ran into an odd issue with a taskjuggler task tree I'm working on
>> when trying to apply a gapduration attribute to a task dependency.
>> Typically, I can just pass any valid taskjuggler attribute through
>> using properties, but my export was producing an error when trying to
>> use:
>>
>> :depends: task {gapduration 1h}
>>
>> Oddly, the output is as follows (task section):
>>
>> #+begin_src test.tjp
>>
>> task test "test" {
>> task task1 "task1" {
>> milestone
>> start 2014-11-05-08:00
>> }
>> task task2 "task2" {
>> depends !task1 t :taskjuggl
>> duration 1h
>> }
>> #+end_src
>>
>> For some reason it's grabbing the taskjuggler tag! I tried with the
>> example in ox-taskjuggler.el with the same result.
>>
>> Is this a bug or am I mis-interpreting how this would work?
>
> No it is indeed a bug. At first I thought this was simply no longer
> working in the new exporter but I was wrong. Nicolas of course
> implemented it and way more. But there is a subtle bug. I actually found
> it because I wondered about the funny "t :taskjuggl" in the output.
> Here's the fix.
>
> diff --git a/contrib/lisp/ox-taskjuggler.el b/contrib/lisp/ox-taskjuggler.el
> index 807d702..9e977f6 100644
> --- a/contrib/lisp/ox-taskjuggler.el
> +++ b/contrib/lisp/ox-taskjuggler.el
> @@ -600,7 +600,7 @@ doesn't include leading \"depends\"."
> (let ((id (org-element-property :TASK_ID dep)))
> (and id
> (string-match (concat id " +\\({.*?}\\)") dep-str)
> - (org-match-string-no-properties 1))))
> + (org-match-string-no-properties 1 dep-str))))
> path)
> ;; Compute number of exclamation marks by looking for the
> ;; common ancestor between TASK and DEP.
>
For some reason, I couldn't apply the patch... since it was just one
line, I manually changed it myself and can report that this appears to
work now. I re-added the {gapduration x} lines to my :depends:
properties and they're being properly applied now.
Thanks a ton for the quick turnaround!
If/when you apply this, could you post back and I'll checkout a fresh
version of ox-taskjuggler to take the official commit?
Best regards,
John
> Nicolas, I can push this myself but I haven't pushed to the repo in
> years. What is the current way? Do I just push to master?
>
> Thanks
> Christian
> --
> Christian Egli
> Swiss Library for the Blind, Visually Impaired and Print Disabled
> Grubenstrasse 12, CH-8045 Zürich, Switzerland
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-11-06 17:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-05 6:39 [BUG] ox-taskjuggler: unable to use depends {gapduration} John Hendy
2014-11-05 8:21 ` Christian Egli
2014-11-05 13:27 ` Nicolas Goaziou
2014-11-06 8:19 ` Christian Egli
2014-11-06 17:33 ` Nicolas Goaziou
2014-11-06 0:41 ` John Hendy
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).