I tried to reproduce your problem but I couldn't. Seems like everything is working properly when I take your example org task and use it as part of a project in an org file that gets exported. My OS and software versions are,
$ uname -a
OpenBSD mymachine.mydomain.org 6.0 GENERIC.MP#2319 amd64
$ emacs --version
GNU Emacs 26.0.50
$ tj323 --version
TaskJuggler v3.6.0 - A Project Management Software
I went ahead and made a second test project to see if I could make anything go wrong there instead. Here's the org file (/tmp/testing.org):
* test project :taskjuggler_project:
:PROPERTIES:
:start: 2017-03-25
:END:
** Milestones
the milestones for the project
*** Start
:PROPERTIES:
:task_id: start
:END:
the start of the project.
*** End
:PROPERTIES:
:task_id: end
:depends: blah
:END:
this is the end of the project
** tasks
*** TODO Some task
DEADLINE: <2017-03-29 Wed> SCHEDULED: <2017-03-27 Mon>
:PROPERTIES:
:task_id: first_task
:Effort: 4:00
:depends: start
:complete: 50
:ALLOCATE: sdude
:END:
this is a test of the system.
*** TODO Another task
DEADLINE: <2017-03-29 Wed> SCHEDULED: <2017-03-28 Tue>
:PROPERTIES:
:task_id: second_task
:Effort: 4:00
:depends: first_task
:complete: 50
:ALLOCATE: sdude
:END:
* Resources :taskjuggler_resource:
:PROPERTIES:
:workinghours: sat, sun off
:END:
These are the resources available to the project.
** Some Dude
:PROPERTIES:
:resource_id: sdude
:limits: { dailymax 8.0h }
:workinghours: mon - fri 9:00 - 12:00, 13:00 - 18:00
:END:
and then exported to tjp in emacs using C-c C-e J j which resulted in the following testing.tjp file:
project nil "test project" "1.0" 2017-03-25 +280d {
}
shift s40 "Part time shift" {
workinghours wed, thu, fri off
}
resource sdude "Some Dude" {
limits { dailymax 8.0h }
workinghours mon - fri 9:00 - 12:00, 13:00 - 18:00
}
task test "test project" {
start 2017-03-25
task milestones "Milestones" {
task start "Start" {
milestone
}
task end "End" {
milestone
}
}
task tasks "tasks" {
task first_task "Some task" {
depends !!milestones.start
purge allocate
allocate sdude
complete 50
effort 4.0h
}
task second_task "Another task" {
depends !first_task
purge allocate
allocate sdude
complete 50
effort 4.0h
}
}
}
textreport report "Plan" {
formats html
header '== test project =='
center -8<-
[#Plan Plan] | [#Resource_Allocation Resource Allocation]
----
=== Plan ===
<[report id="plan"]>
----
=== Resource Allocation ===
<[report id="resourceGraph"]>
->8-
}
# A traditional Gantt chart with a project overview.
taskreport plan "" {
headline "Project Plan"
columns bsi, name, start, end, effort, chart
loadunit shortauto
hideresource 1
}
# A graph showing resource allocation. It identifies whether each
# resource is under- or over-allocated for.
resourcereport resourceGraph "" {
headline "Resource Allocation Graph"
columns no, name, effort, weekly
loadunit shortauto
hidetask ~(isleaf() & isleaf_())
sorttasks plan.start.up
}
Then in an eshell buffer I compiled testing.tjp using taskjuggler:
/tmp $ tj323 testing.tjp
TaskJuggler v3.6.0 - A Project Management Software
Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
by Chris Schlaeger <[email protected]>
This program is free software; you can redistribute it and/or modify it under
the terms of version 2 of the GNU General Public License as published by the
Free Software Foundation.
Reading file testing.tjp [ Done ]
Preparing scenario Plan Scenario [ Done ]
Scheduling scenario Plan Scenario [ Done ]
Checking scenario Plan Scenario [ Done ]
Report Plan [ Done ]
and opened up the resulting /tmp/Plan.html in firefox and it all looked fine:
So not sure what's going on with your set up but at least we can confirm that it all should be working provided you are using the latest versions of emacs and taskjuggler. The lengths of the tasks are correct and when I examine the exported tjp file it seems that properties on the tasks are translated over to the taskjuggler format correctly.