taskjuggler 3.1.0 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +44 -0
- data/bin/tj3webd +4 -0
- data/data/css/tjreport.css +14 -5
- data/data/tjp.vim +22 -7
- data/examples/Fedora-20/reports.tji +2 -4
- data/examples/Scrum/Product Burndown.csv +26 -0
- data/examples/Scrum/Sprint 1 Burndown.csv +26 -0
- data/examples/Scrum/Sprint 2 Burndown.csv +26 -0
- data/examples/Scrum/Sprint 3 Burndown.csv +26 -0
- data/examples/Scrum/scrum.tjp +141 -0
- data/examples/Tutorial/tutorial.tjp +13 -7
- data/lib/taskjuggler/Attributes.rb +2 -3
- data/lib/taskjuggler/HTMLDocument.rb +25 -18
- data/lib/taskjuggler/Journal.rb +85 -65
- data/lib/taskjuggler/KeywordDocumentation.rb +25 -13
- data/lib/taskjuggler/LeaveList.rb +1 -1
- data/lib/taskjuggler/Limits.rb +3 -5
- data/lib/taskjuggler/MessageHandler.rb +173 -19
- data/lib/taskjuggler/Painter.rb +75 -0
- data/lib/taskjuggler/Painter/BasicShapes.rb +76 -0
- data/lib/taskjuggler/Painter/Color.rb +273 -0
- data/lib/taskjuggler/Painter/Element.rb +56 -0
- data/lib/taskjuggler/Painter/FontData.rb +221 -0
- data/lib/taskjuggler/Painter/FontMetrics.rb +125 -0
- data/lib/taskjuggler/Painter/FontMetricsData.rb +151 -0
- data/lib/taskjuggler/Painter/Group.rb +77 -0
- data/lib/taskjuggler/Painter/Points.rb +47 -0
- data/lib/taskjuggler/Painter/Primitives.rb +100 -0
- data/lib/taskjuggler/Painter/SVGSupport.rb +36 -0
- data/lib/taskjuggler/Painter/Text.rb +36 -0
- data/lib/taskjuggler/Project.rb +46 -29
- data/lib/taskjuggler/ProjectFileParser.rb +24 -22
- data/lib/taskjuggler/ProjectFileScanner.rb +2 -2
- data/lib/taskjuggler/PropertyTreeNode.rb +26 -34
- data/lib/taskjuggler/Query.rb +8 -5
- data/lib/taskjuggler/RealFormat.rb +3 -0
- data/lib/taskjuggler/Resource.rb +3 -5
- data/lib/taskjuggler/ResourceScenario.rb +19 -7
- data/lib/taskjuggler/RichText.rb +4 -6
- data/lib/taskjuggler/RichText/FunctionExample.rb +1 -1
- data/lib/taskjuggler/RichText/FunctionHandler.rb +5 -6
- data/lib/taskjuggler/RichText/Parser.rb +4 -6
- data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -1
- data/lib/taskjuggler/RichText/RTFQuery.rb +2 -3
- data/lib/taskjuggler/RichText/RTFReport.rb +1 -1
- data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -2
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -1
- data/lib/taskjuggler/RichText/Scanner.rb +6 -6
- data/lib/taskjuggler/RichText/Snip.rb +1 -2
- data/lib/taskjuggler/RuntimeConfig.rb +9 -6
- data/lib/taskjuggler/ScenarioData.rb +4 -3
- data/lib/taskjuggler/Scoreboard.rb +6 -0
- data/lib/taskjuggler/SheetHandlerBase.rb +25 -8
- data/lib/taskjuggler/SimpleQueryExpander.rb +14 -5
- data/lib/taskjuggler/SyntaxReference.rb +1 -2
- data/lib/taskjuggler/TableColumnSorter.rb +84 -0
- data/lib/taskjuggler/Task.rb +3 -5
- data/lib/taskjuggler/TaskJuggler.rb +36 -29
- data/lib/taskjuggler/TaskScenario.rb +154 -66
- data/lib/taskjuggler/TextParser.rb +24 -17
- data/lib/taskjuggler/TextParser/Scanner.rb +16 -11
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +20 -15
- data/lib/taskjuggler/TimeSheets.rb +6 -12
- data/lib/taskjuggler/Tj3AppBase.rb +35 -16
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +239 -49
- data/lib/taskjuggler/XMLElement.rb +9 -2
- data/lib/taskjuggler/apps/Tj3.rb +43 -37
- data/lib/taskjuggler/apps/Tj3Client.rb +62 -112
- data/lib/taskjuggler/apps/Tj3Daemon.rb +66 -29
- data/lib/taskjuggler/apps/Tj3Man.rb +5 -5
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +10 -13
- data/lib/taskjuggler/apps/Tj3SsSender.rb +13 -16
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +10 -13
- data/lib/taskjuggler/apps/Tj3TsSender.rb +12 -15
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +12 -15
- data/lib/taskjuggler/apps/Tj3WebD.rb +99 -0
- data/lib/taskjuggler/daemon/Daemon.rb +50 -10
- data/lib/taskjuggler/daemon/DaemonConnector.rb +127 -0
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +36 -21
- data/lib/taskjuggler/daemon/ProjectBroker.rb +122 -112
- data/lib/taskjuggler/daemon/ProjectServer.rb +78 -46
- data/lib/taskjuggler/daemon/ReportServer.rb +52 -28
- data/lib/taskjuggler/daemon/ReportServlet.rb +92 -21
- data/lib/taskjuggler/daemon/WebServer.rb +75 -22
- data/lib/taskjuggler/daemon/WelcomePage.rb +1 -0
- data/lib/taskjuggler/reports/AccountListRE.rb +3 -3
- data/lib/taskjuggler/reports/CSVFile.rb +9 -2
- data/lib/taskjuggler/reports/ChartPlotter.rb +453 -0
- data/lib/taskjuggler/reports/Navigator.rb +1 -0
- data/lib/taskjuggler/reports/NikuReport.rb +4 -4
- data/lib/taskjuggler/reports/Report.rb +6 -18
- data/lib/taskjuggler/reports/ReportBase.rb +9 -9
- data/lib/taskjuggler/reports/ReportContext.rb +2 -2
- data/lib/taskjuggler/reports/StatusSheetReport.rb +6 -6
- data/lib/taskjuggler/reports/TableReport.rb +24 -15
- data/lib/taskjuggler/reports/TimeSheetReport.rb +5 -5
- data/lib/taskjuggler/reports/TraceReport.rb +251 -0
- data/lib/tj3webd.rb +17 -0
- data/manual/Day_To_Day_Juggling +10 -3
- data/manual/Installation +38 -19
- data/manual/Software +25 -19
- data/manual/Tutorial +119 -110
- data/manual/html/Day_To_Day_Juggling.html +7 -5
- data/manual/html/Getting_Started.html +4 -4
- data/manual/html/How_To_Contribute.html +4 -4
- data/manual/html/Installation.html +19 -11
- data/manual/html/Intro.html +4 -4
- data/manual/html/Reporting_Bugs.html +4 -4
- data/manual/html/Rich_Text_Attributes.html +4 -4
- data/manual/html/Software.html +15 -11
- data/manual/html/TaskJuggler_2x_Migration.html +4 -4
- data/manual/html/TaskJuggler_Internals.html +4 -4
- data/manual/html/The_TaskJuggler_Syntax.html +4 -4
- data/manual/html/Tutorial.html +41 -32
- data/manual/html/account.html +4 -4
- data/manual/html/account.task.html +4 -4
- data/manual/html/accountprefix.html +4 -4
- data/manual/html/accountreport.html +27 -9
- data/manual/html/accountroot.html +5 -5
- data/manual/html/active.html +4 -4
- data/manual/html/adopt.task.html +4 -4
- data/manual/html/aggregate.html +4 -4
- data/manual/html/alert.html +4 -4
- data/manual/html/alertlevels.html +4 -4
- data/manual/html/allocate.html +5 -5
- data/manual/html/alphabet.html +4 -4
- data/manual/html/alternative.html +4 -4
- data/manual/html/author.html +4 -4
- data/manual/html/balance.html +5 -5
- data/manual/html/booking.resource.html +4 -4
- data/manual/html/booking.task.html +4 -4
- data/manual/html/caption.html +5 -5
- data/manual/html/cellcolor.column.html +43 -8
- data/manual/html/celltext.column.html +4 -4
- data/manual/html/center.html +5 -5
- data/manual/html/charge.html +4 -4
- data/manual/html/chargeset.html +4 -4
- data/manual/html/columnid.html +27 -15
- data/manual/html/columns.html +5 -5
- data/manual/html/complete.html +4 -4
- data/manual/html/copyright.html +4 -4
- data/manual/html/credits.html +4 -4
- data/manual/html/css/tjreport.css +14 -5
- data/manual/html/currency.html +4 -4
- data/manual/html/currencyformat.html +5 -5
- data/manual/html/dailymax.html +5 -5
- data/manual/html/dailymin.html +5 -5
- data/manual/html/dailyworkinghours.html +4 -4
- data/manual/html/date.extend.html +4 -4
- data/manual/html/date.html +5 -5
- data/manual/html/definitions.html +4 -4
- data/manual/html/depends.html +4 -4
- data/manual/html/details.html +4 -4
- data/manual/html/disabled.html +4 -4
- data/manual/html/duration.html +4 -4
- data/manual/html/efficiency.html +4 -4
- data/manual/html/effort.html +4 -4
- data/manual/html/email.html +4 -4
- data/manual/html/enabled.html +4 -4
- data/manual/html/end.column.html +4 -4
- data/manual/html/end.html +4 -4
- data/manual/html/end.limit.html +4 -4
- data/manual/html/end.report.html +5 -5
- data/manual/html/end.timesheet.html +4 -4
- data/manual/html/endcredit.html +4 -4
- data/manual/html/epilog.html +5 -5
- data/manual/html/export.html +4 -4
- data/manual/html/extend.html +4 -4
- data/manual/html/fail.html +43 -8
- data/manual/html/fdl.html +4 -4
- data/manual/html/flags.account.html +4 -4
- data/manual/html/flags.html +4 -4
- data/manual/html/flags.journalentry.html +4 -4
- data/manual/html/flags.report.html +5 -5
- data/manual/html/flags.resource.html +4 -4
- data/manual/html/flags.statussheet.html +4 -4
- data/manual/html/flags.task.html +4 -4
- data/manual/html/flags.timesheet.html +4 -4
- data/manual/html/fontcolor.column.html +43 -8
- data/manual/html/footer.html +5 -5
- data/manual/html/formats.html +5 -5
- data/manual/html/functions.html +4 -4
- data/manual/html/gapduration.html +4 -4
- data/manual/html/gaplength.html +4 -4
- data/manual/html/halign.center.html +4 -4
- data/manual/html/halign.column.html +43 -8
- data/manual/html/halign.left.html +4 -4
- data/manual/html/halign.right.html +4 -4
- data/manual/html/hasalert.html +4 -4
- data/manual/html/header.html +5 -5
- data/manual/html/headline.html +7 -7
- data/manual/html/height.html +72 -0
- data/manual/html/hideaccount.html +46 -11
- data/manual/html/hidejournalentry.html +5 -5
- data/manual/html/hidereport.html +43 -8
- data/manual/html/hideresource.html +44 -9
- data/manual/html/hidetask.html +44 -9
- data/manual/html/icalreport.html +4 -4
- data/manual/html/include.macro.html +4 -4
- data/manual/html/include.project.html +4 -4
- data/manual/html/include.properties.html +4 -4
- data/manual/html/index.html +2 -1
- data/manual/html/inherit.extend.html +4 -4
- data/manual/html/interval1.html +4 -4
- data/manual/html/interval2.html +4 -4
- data/manual/html/interval3.html +4 -4
- data/manual/html/interval4.html +4 -4
- data/manual/html/isactive.html +4 -4
- data/manual/html/ischildof.html +4 -4
- data/manual/html/isdependencyof.html +4 -4
- data/manual/html/isdutyof.html +4 -4
- data/manual/html/isfeatureof.html +4 -4
- data/manual/html/isleaf.html +4 -4
- data/manual/html/ismilestone.html +4 -4
- data/manual/html/isongoing.html +4 -4
- data/manual/html/isresource.html +4 -4
- data/manual/html/isresponsibilityof.html +4 -4
- data/manual/html/istask.html +4 -4
- data/manual/html/journalattributes.html +11 -7
- data/manual/html/journalentry.html +4 -4
- data/manual/html/journalmode.html +5 -5
- data/manual/html/leaveallowance.html +5 -5
- data/manual/html/leaves.html +5 -6
- data/manual/html/left.html +5 -5
- data/manual/html/length.html +4 -4
- data/manual/html/limits.allocate.html +4 -4
- data/manual/html/limits.html +4 -4
- data/manual/html/limits.resource.html +4 -4
- data/manual/html/limits.task.html +4 -4
- data/manual/html/listitem.column.html +4 -4
- data/manual/html/listtype.column.html +4 -4
- data/manual/html/loadunit.html +5 -5
- data/manual/html/logicalexpression.html +8 -44
- data/manual/html/logicalflagexpression.html +4 -4
- data/manual/html/macro.html +4 -4
- data/manual/html/managers.html +4 -4
- data/manual/html/mandatory.html +4 -4
- data/manual/html/maxend.html +4 -4
- data/manual/html/maximum.html +5 -5
- data/manual/html/maxstart.html +4 -4
- data/manual/html/milestone.html +4 -4
- data/manual/html/minend.html +4 -4
- data/manual/html/minimum.html +5 -5
- data/manual/html/minstart.html +4 -4
- data/manual/html/monthlymax.html +5 -5
- data/manual/html/monthlymin.html +5 -5
- data/manual/html/navbar.html +10 -4
- data/manual/html/navigator.html +4 -4
- data/manual/html/newtask.html +4 -4
- data/manual/html/nikureport.html +4 -4
- data/manual/html/note.task.html +4 -4
- data/manual/html/now.html +4 -4
- data/manual/html/numberformat.html +5 -5
- data/manual/html/onend.html +4 -4
- data/manual/html/onstart.html +4 -4
- data/manual/html/opennodes.html +5 -5
- data/manual/html/overtime.booking.html +4 -4
- data/manual/html/period.column.html +4 -4
- data/manual/html/period.limit.html +4 -4
- data/manual/html/period.report.html +5 -5
- data/manual/html/period.task.html +4 -4
- data/manual/html/persistent.html +4 -4
- data/manual/html/precedes.html +4 -4
- data/manual/html/priority.html +4 -4
- data/manual/html/priority.timesheet.html +4 -4
- data/manual/html/project.html +4 -4
- data/manual/html/projectid.html +4 -4
- data/manual/html/projectid.task.html +4 -4
- data/manual/html/projectids.html +4 -4
- data/manual/html/projection.html +5 -7
- data/manual/html/prolog.html +5 -5
- data/manual/html/properties.html +11 -5
- data/manual/html/purge.html +5 -5
- data/manual/html/rate.html +4 -4
- data/manual/html/rate.resource.html +4 -4
- data/manual/html/reference.extend.html +4 -4
- data/manual/html/remaining.html +4 -4
- data/manual/html/replace.html +4 -4
- data/manual/html/reportprefix.html +4 -4
- data/manual/html/resource.html +4 -10
- data/manual/html/resourceattributes.html +4 -4
- data/manual/html/resourceprefix.html +4 -4
- data/manual/html/resourcereport.html +28 -10
- data/manual/html/resourceroot.html +5 -5
- data/manual/html/resources.limit.html +4 -4
- data/manual/html/responsible.html +4 -4
- data/manual/html/richtext.extend.html +4 -4
- data/manual/html/right.html +5 -5
- data/manual/html/rollupaccount.html +44 -9
- data/manual/html/rollupresource.html +44 -9
- data/manual/html/rolluptask.html +44 -9
- data/manual/html/scale.column.html +4 -4
- data/manual/html/scenario.html +4 -22
- data/manual/html/scenario.ical.html +4 -4
- data/manual/html/scenarios.export.html +4 -4
- data/manual/html/scenarios.html +5 -5
- data/manual/html/scenariospecific.extend.html +4 -4
- data/manual/html/scheduled.html +4 -4
- data/manual/html/scheduling.html +4 -4
- data/manual/html/select.html +4 -4
- data/manual/html/selfcontained.html +5 -5
- data/manual/html/shift.allocate.html +4 -4
- data/manual/html/shift.html +4 -4
- data/manual/html/shift.resource.html +5 -5
- data/manual/html/shift.task.html +4 -4
- data/manual/html/shift.timesheet.html +4 -4
- data/manual/html/shifts.allocate.html +4 -4
- data/manual/html/shifts.resource.html +4 -4
- data/manual/html/shifts.task.html +4 -4
- data/manual/html/shorttimeformat.html +4 -4
- data/manual/html/sloppy.booking.html +4 -4
- data/manual/html/sloppy.projection.html +5 -5
- data/manual/html/sortaccounts.html +5 -5
- data/manual/html/sortjournalentries.html +5 -5
- data/manual/html/sortresources.html +5 -5
- data/manual/html/sorttasks.html +5 -5
- data/manual/html/start.column.html +4 -4
- data/manual/html/start.html +4 -4
- data/manual/html/start.limit.html +4 -4
- data/manual/html/start.report.html +5 -5
- data/manual/html/startcredit.html +4 -4
- data/manual/html/status.statussheet.html +4 -4
- data/manual/html/status.timesheet.html +4 -4
- data/manual/html/statussheet.html +4 -4
- data/manual/html/statussheetreport.html +4 -4
- data/manual/html/strict.projection.html +5 -5
- data/manual/html/summary.html +4 -4
- data/manual/html/supplement.html +4 -4
- data/manual/html/supplement.resource.html +4 -10
- data/manual/html/supplement.task.html +4 -28
- data/manual/html/tagfile.html +4 -4
- data/manual/html/task.html +4 -28
- data/manual/html/task.statussheet.html +4 -4
- data/manual/html/task.timesheet.html +4 -4
- data/manual/html/taskattributes.html +4 -4
- data/manual/html/taskprefix.html +4 -4
- data/manual/html/taskreport.html +28 -10
- data/manual/html/taskroot.html +5 -5
- data/manual/html/text.extend.html +4 -4
- data/manual/html/textreport.html +27 -9
- data/manual/html/timeformat.html +5 -5
- data/manual/html/timeoff.nikureport.html +4 -4
- data/manual/html/timesheet.html +4 -4
- data/manual/html/timesheetreport.html +23 -5
- data/manual/html/timezone.export.html +4 -4
- data/manual/html/timezone.html +4 -4
- data/manual/html/timezone.report.html +5 -5
- data/manual/html/timezone.shift.html +4 -4
- data/manual/html/timingresolution.html +4 -4
- data/manual/html/title.column.html +4 -4
- data/manual/html/title.html +5 -5
- data/manual/html/toc.html +207 -179
- data/manual/html/tooltip.column.html +45 -10
- data/manual/html/tracereport.html +405 -0
- data/manual/html/trackingscenario.html +6 -6
- data/manual/html/treelevel.html +4 -4
- data/manual/html/vacation.html +4 -4
- data/manual/html/vacation.resource.html +4 -4
- data/manual/html/vacation.shift.html +4 -4
- data/manual/html/warn.html +43 -8
- data/manual/html/weeklymax.html +5 -5
- data/manual/html/weeklymin.html +5 -5
- data/manual/html/weekstartsmonday.html +4 -4
- data/manual/html/weekstartssunday.html +6 -6
- data/manual/html/width.column.html +6 -6
- data/manual/html/width.html +72 -0
- data/manual/html/work.html +4 -4
- data/manual/html/workinghours.project.html +4 -4
- data/manual/html/workinghours.resource.html +4 -4
- data/manual/html/workinghours.shift.html +4 -4
- data/manual/html/yearlyworkingdays.html +4 -4
- data/spec/Color_spec.rb +60 -0
- data/spec/ProjectBroker_spec.rb +3 -2
- data/spec/StatusSheets_spec.rb +5 -4
- data/spec/TableColumnSorter_spec.rb +78 -0
- data/spec/TimeSheets_spec.rb +6 -2
- data/spec/Tj3Daemon_spec.rb +2 -2
- data/spec/TraceReport_spec.rb +117 -0
- data/taskjuggler.gemspec +1 -1
- data/test/MessageChecker.rb +3 -1
- data/test/ReferenceGenerator.rb +1 -1
- data/test/TestSuite/CSV-Reports/Leave.tjp +1 -1
- data/test/TestSuite/CSV-Reports/refs/resourcereport_with_tasks.csv +3 -0
- data/test/TestSuite/CSV-Reports/refs/taskcounter.csv +9 -0
- data/test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv +19 -16
- data/test/TestSuite/CSV-Reports/refs/weekly.csv +1 -0
- data/test/TestSuite/Export-Reports/refs/LogicalExpression.tjp +14 -2
- data/test/TestSuite/Export-Reports/refs/tutorial.tjp +98 -86
- data/test/TestSuite/Scheduler/Correct/Leaves.tjp +25 -0
- data/test/TestSuite/Syntax/Correct/Leave.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/LogicalExpression.tjp +9 -1
- data/test/TestSuite/Syntax/Correct/TraceReport.tjp +10 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +10 -4
- data/test/test_CSV-Reports.rb +3 -3
- data/test/test_Export-Reports.rb +91 -86
- data/test/test_Journal.rb +15 -12
- data/test/test_Limits.rb +3 -3
- data/test/test_Project.rb +1 -2
- data/test/test_ProjectFileScanner.rb +1 -1
- data/test/test_PropertySet.rb +1 -1
- data/test/test_Query.rb +5 -6
- data/test/test_ReportGenerator.rb +15 -7
- data/test/test_RichText.rb +4 -3
- data/test/test_Scheduler.rb +19 -7
- data/test/test_ShiftAssignments.rb +2 -2
- data/test/test_SimpleQueryExpander.rb +29 -2
- data/test/test_Syntax.rb +14 -5
- metadata +49 -10
- data/lib/taskjuggler/LogFile.rb +0 -73
data/test/test_Journal.rb
CHANGED
@@ -36,8 +36,7 @@ class TestJournal < Test::Unit::TestCase
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def setup
|
39
|
-
@p = TaskJuggler::Project.new('hello', 'Hello World', '1.0'
|
40
|
-
MessageHandler.new(true))
|
39
|
+
@p = TaskJuggler::Project.new('hello', 'Hello World', '1.0')
|
41
40
|
@p['start'] = tm('2009-11-01')
|
42
41
|
@p['end'] = tm('2009-12-31')
|
43
42
|
@j = @p['journal']
|
@@ -109,62 +108,66 @@ class TestJournal < Test::Unit::TestCase
|
|
109
108
|
|
110
109
|
def test_currentEntries
|
111
110
|
createTaskTree
|
111
|
+
q = Query.new
|
112
|
+
q.scenarioIdx = 0
|
112
113
|
# Set a 0 alert for a task
|
113
114
|
a1 = addAlert('2009-11-29', 0, t = task('p1.m1.l1'))
|
114
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), t)
|
115
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), t, 0, nil, q)
|
115
116
|
assert_equal(1, ce.count)
|
116
117
|
assert_equal(a1, ce[0])
|
117
118
|
|
118
119
|
# Add a later alert for the same task
|
119
120
|
a2 = addAlert('2009-11-30', 0, t = task('p1.m1.l1'))
|
120
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), t)
|
121
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), t, 0, nil, q)
|
121
122
|
assert_equal(1, ce.count)
|
122
123
|
assert_equal(a2, ce[0])
|
123
124
|
|
124
125
|
# Add another alert to the sister task and check parent
|
125
126
|
a3 = addAlert('2009-11-30', 0, t = task('p1.m1.l2'))
|
126
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1.m1'))
|
127
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1.m1'), 0, nil, q)
|
127
128
|
assert_equal(2, ce.count)
|
128
129
|
assert_equal(a2, ce[0])
|
129
130
|
assert_equal(a3, ce[1])
|
130
131
|
|
131
132
|
# Check root task
|
132
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'))
|
133
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'), 0, nil, q)
|
133
134
|
assert_equal(2, ce.count)
|
134
135
|
assert_equal(a2, ce[0])
|
135
136
|
assert_equal(a3, ce[1])
|
136
137
|
|
137
138
|
# Add old override alert to p1.m1
|
138
139
|
addAlert('2009-11-29', 0, t = task('p1.m1'))
|
139
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'))
|
140
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'), 0, nil, q)
|
140
141
|
assert_equal(2, ce.count)
|
141
142
|
assert_equal(a2, ce[0])
|
142
143
|
assert_equal(a3, ce[1])
|
143
144
|
|
144
145
|
# Add new override alert to p1.m1
|
145
146
|
a4 = addAlert('2009-12-01', 0, t = task('p1.m1'))
|
146
|
-
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'))
|
147
|
+
ce = @j.currentEntriesR(tm('2009-12-05'), task('p1'), 0, nil, q)
|
147
148
|
assert_equal(1, ce.count)
|
148
149
|
assert_equal(a4, ce[0])
|
149
150
|
end
|
150
151
|
|
151
152
|
def test_alertSimple
|
152
153
|
createTaskTree
|
154
|
+
q = Query.new
|
155
|
+
q.scenarioIdx = 0
|
153
156
|
# Set a 0 alert for a task
|
154
157
|
addAlert('2009-11-29', 0, t = task('p1.m1.l1'))
|
155
|
-
assert_equal(0, @j.alertLevel(tm('2009-12-01'), t,
|
158
|
+
assert_equal(0, @j.alertLevel(tm('2009-12-01'), t, q))
|
156
159
|
|
157
160
|
# Now add a later 1 alert
|
158
161
|
addAlert('2009-12-01', 1, t)
|
159
|
-
assert_equal(1, @j.alertLevel(tm('2009-12-02'), t,
|
162
|
+
assert_equal(1, @j.alertLevel(tm('2009-12-02'), t, q))
|
160
163
|
|
161
164
|
# Set a 2 alert for p1.m1.l2
|
162
165
|
addAlert('2009-11-29', 2, task('p1.m1.l2'))
|
163
|
-
assert_equal(2, @j.alertLevel(tm('2009-12-01'), task('p1'),
|
166
|
+
assert_equal(2, @j.alertLevel(tm('2009-12-01'), task('p1'), q))
|
164
167
|
|
165
168
|
# Overide p1.m1 with 0 alert
|
166
169
|
addAlert('2009-12-01', 0, task('p1.m1'))
|
167
|
-
assert_equal(0, @j.alertLevel(tm('2009-12-01'), task('p1'),
|
170
|
+
assert_equal(0, @j.alertLevel(tm('2009-12-01'), task('p1'), q))
|
168
171
|
end
|
169
172
|
|
170
173
|
private
|
data/test/test_Limits.rb
CHANGED
@@ -24,7 +24,7 @@ class TaskJuggler
|
|
24
24
|
class TestLimits < Test::Unit::TestCase
|
25
25
|
|
26
26
|
def setup
|
27
|
-
@p = Project.new('p1', 'p 1', '1.0'
|
27
|
+
@p = Project.new('p1', 'p 1', '1.0')
|
28
28
|
@p['start'] = TjTime.new('2009-01-21')
|
29
29
|
@p['end'] = TjTime.new('2009-03-01')
|
30
30
|
end
|
@@ -102,7 +102,7 @@ class TestLimits < Test::Unit::TestCase
|
|
102
102
|
assert(l.ok?)
|
103
103
|
l.inc(dateToIdx('2009-02-01-13:00'))
|
104
104
|
assert(!l.ok?)
|
105
|
-
assert(l.ok?(nil, true, r))
|
105
|
+
assert(!l.ok?(nil, true, r))
|
106
106
|
end
|
107
107
|
|
108
108
|
def test_with_resource_2
|
@@ -154,7 +154,7 @@ class TestLimits < Test::Unit::TestCase
|
|
154
154
|
assert(!l.ok?)
|
155
155
|
l.inc(dateToIdx('2009-02-01-12:00'), r)
|
156
156
|
assert(!l.ok?)
|
157
|
-
assert(l.ok?(nil, true, r))
|
157
|
+
assert(!l.ok?(nil, true, r))
|
158
158
|
l.inc(dateToIdx('2009-02-01-13:00'), r)
|
159
159
|
assert(!l.ok?)
|
160
160
|
assert(!l.ok?(nil, true, r))
|
data/test/test_Project.rb
CHANGED
@@ -28,8 +28,7 @@ class TestProject < Test::Unit::TestCase
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_helloWorld
|
31
|
-
p = TaskJuggler::Project.new('hello', 'Hello World', '1.0'
|
32
|
-
MessageHandler.new(true))
|
31
|
+
p = TaskJuggler::Project.new('hello', 'Hello World', '1.0')
|
33
32
|
p['start'] = TjTime.new('2008-07-24')
|
34
33
|
p['end'] = TjTime.new('2008-08-31')
|
35
34
|
|
data/test/test_PropertySet.rb
CHANGED
@@ -28,7 +28,7 @@ class TestPropertySet < Test::Unit::TestCase
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_index
|
31
|
-
p = TaskJuggler::Project.new('p', 'Project', '1.0'
|
31
|
+
p = TaskJuggler::Project.new('p', 'Project', '1.0')
|
32
32
|
p['start'] = TjTime.new('2008-07-29')
|
33
33
|
p['end'] = TjTime.new('2008-08-31')
|
34
34
|
|
data/test/test_Query.rb
CHANGED
@@ -23,8 +23,7 @@ class TaskJuggler
|
|
23
23
|
class TestQuery < Test::Unit::TestCase
|
24
24
|
|
25
25
|
def setup
|
26
|
-
@
|
27
|
-
@p = TaskJuggler::Project.new('id', 'name', 'ver', @mh)
|
26
|
+
@p = TaskJuggler::Project.new('id', 'name', 'ver')
|
28
27
|
@p['start'] = TjTime.new('2010-09-25')
|
29
28
|
@p['end'] = TjTime.new('2010-09-25')
|
30
29
|
end
|
@@ -42,7 +41,7 @@ class TestQuery < Test::Unit::TestCase
|
|
42
41
|
[ 2.0, '2880.0', '48.0', '2.0', '0.3', '0.1', '2.0d'],
|
43
42
|
[ 3.0, '4320.0', '72.0', '3.0', '0.4', '0.1', '3.0d'],
|
44
43
|
[ 4.0, '5760.0', '96.0', '4.0', '0.6', '0.1', '4.0d'],
|
45
|
-
[ 7.0, '10080.0', '168.0', '7.0', '1.0', '0.2', '
|
44
|
+
[ 7.0, '10080.0', '168.0', '7.0', '1.0', '0.2', '7.0d'],
|
46
45
|
[ 14.0, '20160.0', '336.0', '14.0', '2.0', '0.5', '2.0w'],
|
47
46
|
[ 28.0, '40320.0', '672.0', '28.0', '4.0', '0.9', '4.0w']
|
48
47
|
]
|
@@ -62,12 +61,12 @@ class TestQuery < Test::Unit::TestCase
|
|
62
61
|
# Inp mins hours days weeks months shortauto
|
63
62
|
[ 0.0, '0.0', '0.0', '0.0', '0.0', '0.0', '0.0d'],
|
64
63
|
[ 0.25, '120.0', '2.0', '0.3', '0.1', '0.0', '2.0h'],
|
65
|
-
[ 0.1, '48.0', '0.8', '0.1', '0.0', '0.0', '
|
66
|
-
[ 0.5, '240.0', '4.0', '0.5', '0.1', '0.0', '
|
64
|
+
[ 0.1, '48.0', '0.8', '0.1', '0.0', '0.0', '0.1d'],
|
65
|
+
[ 0.5, '240.0', '4.0', '0.5', '0.1', '0.0', '0.5d'],
|
67
66
|
[ 1.0, '480.0', '8.0', '1.0', '0.2', '0.0', '1.0d'],
|
68
67
|
[ 1.5, '720.0', '12.0', '1.5', '0.3', '0.1', '1.5d'],
|
69
68
|
[ 2.0, '960.0', '16.0', '2.0', '0.4', '0.1', '2.0d'],
|
70
|
-
[ 5.0, '2400.0', '40.0', '5.0', '1.0', '0.2', '
|
69
|
+
[ 5.0, '2400.0', '40.0', '5.0', '1.0', '0.2', '5.0d'],
|
71
70
|
[ 10.0, '4800.0', '80.0', '10.0', '2.0', '0.5', '2.0w']
|
72
71
|
]
|
73
72
|
vals.each do |inp, *out|
|
@@ -41,11 +41,17 @@ class TestReportGenerator < Test::Unit::TestCase
|
|
41
41
|
path = File.dirname(__FILE__) + '/'
|
42
42
|
Dir.glob(path + 'TestSuite/ReportGenerator/Errors/*.tjp').each do |f|
|
43
43
|
ENV['TZ'] = 'Europe/Berlin'
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
45
|
+
mh.outputLevel = :none
|
46
|
+
mh.trapSetup = true
|
47
|
+
begin
|
48
|
+
tj = TaskJuggler.new
|
49
|
+
assert(tj.parse([ f ]), "Parser failed for #{f}")
|
50
|
+
assert(tj.schedule, "Scheduler failed for #{f}")
|
51
|
+
tj.warnTsDeltas = true
|
52
|
+
tj.generateReports(@tmpDir)
|
53
|
+
rescue TaskJuggler::TjRuntimeError
|
54
|
+
end
|
49
55
|
checkMessages(tj, f)
|
50
56
|
end
|
51
57
|
end
|
@@ -54,11 +60,13 @@ class TestReportGenerator < Test::Unit::TestCase
|
|
54
60
|
path = File.dirname(__FILE__) + '/'
|
55
61
|
Dir.glob(path + 'TestSuite/ReportGenerator/Correct/*.tjp').each do |f|
|
56
62
|
ENV['TZ'] = 'Europe/Berlin'
|
57
|
-
|
63
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
64
|
+
mh.outputLevel = :none
|
65
|
+
tj = TaskJuggler.new
|
58
66
|
assert(tj.parse([ f ]), "Parser failed for #{f}")
|
59
67
|
assert(tj.schedule, "Scheduler failed for #{f}")
|
60
68
|
assert(tj.generateReports(@tmpDir), "Report generator failed for #{f}")
|
61
|
-
assert(
|
69
|
+
assert(mh.messages.empty?, "Unexpected error in #{f}")
|
62
70
|
|
63
71
|
checkReports(f)
|
64
72
|
end
|
data/test/test_RichText.rb
CHANGED
@@ -22,7 +22,7 @@ require 'taskjuggler/MessageHandler'
|
|
22
22
|
class RTFDummy < TaskJuggler::RichTextFunctionHandler
|
23
23
|
|
24
24
|
def initialize()
|
25
|
-
super(
|
25
|
+
super('dummy')
|
26
26
|
@blockFunction = true
|
27
27
|
end
|
28
28
|
|
@@ -936,8 +936,9 @@ EOT
|
|
936
936
|
|
937
937
|
|
938
938
|
def newRichText(text)
|
939
|
-
mh = TaskJuggler::
|
940
|
-
|
939
|
+
mh = TaskJuggler::MessageHandlerInstance.instance
|
940
|
+
mh.outputLevel = :none
|
941
|
+
rText = TaskJuggler::RichText.new(text, [ RTFDummy.new ])
|
941
942
|
assert(rti = rText.generateIntermediateFormat, mh.to_s)
|
942
943
|
rti.linkTarget = '_blank'
|
943
944
|
rti
|
data/test/test_Scheduler.rb
CHANGED
@@ -27,10 +27,16 @@ class TestScheduler < Test::Unit::TestCase
|
|
27
27
|
path = File.dirname(__FILE__) + '/'
|
28
28
|
Dir.glob(path + 'TestSuite/Scheduler/Errors/*.tjp').each do |f|
|
29
29
|
ENV['TZ'] = 'Europe/Berlin'
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
31
|
+
mh.outputLevel = :none
|
32
|
+
mh.trapSetup = true
|
33
|
+
begin
|
34
|
+
tj = TaskJuggler.new
|
35
|
+
assert(tj.parse([ f ]), "Parser failed for #{f}")
|
36
|
+
tj.warnTsDeltas = true
|
37
|
+
tj.schedule
|
38
|
+
rescue TaskJuggler::TjRuntimeError
|
39
|
+
end
|
34
40
|
checkMessages(tj, f)
|
35
41
|
end
|
36
42
|
end
|
@@ -39,9 +45,15 @@ class TestScheduler < Test::Unit::TestCase
|
|
39
45
|
path = File.dirname(__FILE__) + '/'
|
40
46
|
Dir.glob(path + 'TestSuite/Scheduler/Correct/*.tjp').each do |f|
|
41
47
|
ENV['TZ'] = 'Europe/Berlin'
|
42
|
-
|
43
|
-
|
44
|
-
|
48
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
49
|
+
mh.outputLevel = :none
|
50
|
+
mh.trapSetup = true
|
51
|
+
begin
|
52
|
+
tj = TaskJuggler.new
|
53
|
+
assert(tj.parse([ f ]), "Parser failed for #{f}")
|
54
|
+
assert(tj.schedule, "Scheduler failed for #{f}")
|
55
|
+
rescue TaskJuggler::TjRuntimeError
|
56
|
+
end
|
45
57
|
checkMessages(tj, f)
|
46
58
|
end
|
47
59
|
end
|
@@ -21,8 +21,8 @@ class TestPropertySet < Test::Unit::TestCase
|
|
21
21
|
|
22
22
|
def setup
|
23
23
|
TaskJuggler::ShiftAssignments.sbClear
|
24
|
-
|
25
|
-
|
24
|
+
TaskJuggler::MessageHandlerInstance.instance.reset
|
25
|
+
@p = TaskJuggler::Project.new('p', 'Project', '1.0')
|
26
26
|
@p['start'] = TaskJuggler::TjTime.new('2008-07-29')
|
27
27
|
@p['end'] = TaskJuggler::TjTime.new('2008-08-31')
|
28
28
|
@s1 = TaskJuggler::Shift.new(@p, 's1', "Shift2", nil).scenario(0)
|
@@ -20,6 +20,25 @@ require 'taskjuggler/MessageHandler'
|
|
20
20
|
|
21
21
|
class TestSimpleQueryExpander < Test::Unit::TestCase
|
22
22
|
|
23
|
+
class Scenario
|
24
|
+
|
25
|
+
def id
|
26
|
+
'scId'
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
class Project
|
32
|
+
|
33
|
+
def initialize
|
34
|
+
end
|
35
|
+
|
36
|
+
def scenario(foo)
|
37
|
+
Scenario.new
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
|
23
42
|
class Query
|
24
43
|
|
25
44
|
def initialize
|
@@ -28,6 +47,14 @@ class TestSimpleQueryExpander < Test::Unit::TestCase
|
|
28
47
|
def process
|
29
48
|
end
|
30
49
|
|
50
|
+
def project
|
51
|
+
Project.new
|
52
|
+
end
|
53
|
+
|
54
|
+
def scenarioIdx
|
55
|
+
0
|
56
|
+
end
|
57
|
+
|
31
58
|
def attributeId=(value)
|
32
59
|
end
|
33
60
|
|
@@ -38,6 +65,7 @@ class TestSimpleQueryExpander < Test::Unit::TestCase
|
|
38
65
|
def to_s
|
39
66
|
'XXX'
|
40
67
|
end
|
68
|
+
|
41
69
|
end
|
42
70
|
|
43
71
|
def setup
|
@@ -48,8 +76,7 @@ class TestSimpleQueryExpander < Test::Unit::TestCase
|
|
48
76
|
|
49
77
|
def test_expand
|
50
78
|
exp = TaskJuggler::SimpleQueryExpander.new('foo <-bar-> foo',
|
51
|
-
Query.new,
|
52
|
-
nil, nil)
|
79
|
+
Query.new, nil)
|
53
80
|
assert_equal('foo XXX foo', exp.expand)
|
54
81
|
end
|
55
82
|
|
data/test/test_Syntax.rb
CHANGED
@@ -16,8 +16,8 @@ $:.unshift File.dirname(__FILE__)
|
|
16
16
|
|
17
17
|
require 'test/unit'
|
18
18
|
|
19
|
-
require 'MessageChecker'
|
20
19
|
require 'taskjuggler/TaskJuggler'
|
20
|
+
require 'MessageChecker'
|
21
21
|
|
22
22
|
class TestSyntax < Test::Unit::TestCase
|
23
23
|
|
@@ -30,9 +30,12 @@ class TestSyntax < Test::Unit::TestCase
|
|
30
30
|
path = File.dirname(__FILE__) + '/'
|
31
31
|
Dir.glob(path + 'TestSuite/Syntax/Correct/*.tjp').each do |f|
|
32
32
|
ENV['TZ'] = 'Europe/Berlin'
|
33
|
-
|
33
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
34
|
+
mh.outputLevel = :none
|
35
|
+
mh.trapSetup = true
|
36
|
+
tj = TaskJuggler.new
|
34
37
|
assert(tj.parse([ f ]), "Parser failed for #{f}")
|
35
|
-
assert(
|
38
|
+
assert(mh.messages.empty?, "Unexpected error in #{f}")
|
36
39
|
end
|
37
40
|
end
|
38
41
|
|
@@ -40,8 +43,14 @@ class TestSyntax < Test::Unit::TestCase
|
|
40
43
|
path = File.dirname(__FILE__) + '/'
|
41
44
|
Dir.glob(path + 'TestSuite/Syntax/Errors/*.tjp').each do |f|
|
42
45
|
ENV['TZ'] = 'Europe/Berlin'
|
43
|
-
|
44
|
-
|
46
|
+
(mh = TaskJuggler::MessageHandlerInstance.instance).reset
|
47
|
+
mh.outputLevel = :none
|
48
|
+
mh.trapSetup = true
|
49
|
+
begin
|
50
|
+
tj = TaskJuggler.new
|
51
|
+
assert(!tj.parse([ f ]), "Parser succedded for #{f}")
|
52
|
+
rescue TaskJuggler::TjRuntimeError
|
53
|
+
end
|
45
54
|
checkMessages(tj, f)
|
46
55
|
end
|
47
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taskjuggler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mail
|
16
|
-
requirement: &
|
16
|
+
requirement: &19022880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.
|
21
|
+
version: 2.4.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19022880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: term-ansicolor
|
27
|
-
requirement: &
|
27
|
+
requirement: &19022400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.7
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *19022400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &19021940 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 2.5.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *19021940
|
47
47
|
description: ! 'TaskJuggler is a modern and powerful, Free and Open Source Software
|
48
48
|
project
|
49
49
|
|
@@ -74,6 +74,7 @@ executables:
|
|
74
74
|
- tj3ts_receiver
|
75
75
|
- tj3ts_sender
|
76
76
|
- tj3ts_summary
|
77
|
+
- tj3webd
|
77
78
|
extensions: []
|
78
79
|
extra_rdoc_files:
|
79
80
|
- README.rdoc
|
@@ -108,12 +109,23 @@ files:
|
|
108
109
|
- lib/taskjuggler/LeaveList.rb
|
109
110
|
- lib/taskjuggler/Limits.rb
|
110
111
|
- lib/taskjuggler/Log.rb
|
111
|
-
- lib/taskjuggler/LogFile.rb
|
112
112
|
- lib/taskjuggler/LogicalExpression.rb
|
113
113
|
- lib/taskjuggler/LogicalFunction.rb
|
114
114
|
- lib/taskjuggler/LogicalOperation.rb
|
115
115
|
- lib/taskjuggler/MessageHandler.rb
|
116
116
|
- lib/taskjuggler/PTNProxy.rb
|
117
|
+
- lib/taskjuggler/Painter.rb
|
118
|
+
- lib/taskjuggler/Painter/BasicShapes.rb
|
119
|
+
- lib/taskjuggler/Painter/Color.rb
|
120
|
+
- lib/taskjuggler/Painter/Element.rb
|
121
|
+
- lib/taskjuggler/Painter/FontData.rb
|
122
|
+
- lib/taskjuggler/Painter/FontMetrics.rb
|
123
|
+
- lib/taskjuggler/Painter/FontMetricsData.rb
|
124
|
+
- lib/taskjuggler/Painter/Group.rb
|
125
|
+
- lib/taskjuggler/Painter/Points.rb
|
126
|
+
- lib/taskjuggler/Painter/Primitives.rb
|
127
|
+
- lib/taskjuggler/Painter/SVGSupport.rb
|
128
|
+
- lib/taskjuggler/Painter/Text.rb
|
117
129
|
- lib/taskjuggler/Project.rb
|
118
130
|
- lib/taskjuggler/ProjectFileParser.rb
|
119
131
|
- lib/taskjuggler/ProjectFileScanner.rb
|
@@ -157,6 +169,7 @@ files:
|
|
157
169
|
- lib/taskjuggler/StdIoWrapper.rb
|
158
170
|
- lib/taskjuggler/SyntaxReference.rb
|
159
171
|
- lib/taskjuggler/TableColumnDefinition.rb
|
172
|
+
- lib/taskjuggler/TableColumnSorter.rb
|
160
173
|
- lib/taskjuggler/Task.rb
|
161
174
|
- lib/taskjuggler/TaskDependency.rb
|
162
175
|
- lib/taskjuggler/TaskJuggler.rb
|
@@ -199,7 +212,9 @@ files:
|
|
199
212
|
- lib/taskjuggler/apps/Tj3TsReceiver.rb
|
200
213
|
- lib/taskjuggler/apps/Tj3TsSender.rb
|
201
214
|
- lib/taskjuggler/apps/Tj3TsSummary.rb
|
215
|
+
- lib/taskjuggler/apps/Tj3WebD.rb
|
202
216
|
- lib/taskjuggler/daemon/Daemon.rb
|
217
|
+
- lib/taskjuggler/daemon/DaemonConnector.rb
|
203
218
|
- lib/taskjuggler/daemon/ProcessIntercom.rb
|
204
219
|
- lib/taskjuggler/daemon/ProjectBroker.rb
|
205
220
|
- lib/taskjuggler/daemon/ProjectServer.rb
|
@@ -210,6 +225,7 @@ files:
|
|
210
225
|
- lib/taskjuggler/deep_copy.rb
|
211
226
|
- lib/taskjuggler/reports/AccountListRE.rb
|
212
227
|
- lib/taskjuggler/reports/CSVFile.rb
|
228
|
+
- lib/taskjuggler/reports/ChartPlotter.rb
|
213
229
|
- lib/taskjuggler/reports/CollisionDetector.rb
|
214
230
|
- lib/taskjuggler/reports/ColumnTable.rb
|
215
231
|
- lib/taskjuggler/reports/GanttChart.rb
|
@@ -242,6 +258,7 @@ files:
|
|
242
258
|
- lib/taskjuggler/reports/TextReport.rb
|
243
259
|
- lib/taskjuggler/reports/TimeSheetReport.rb
|
244
260
|
- lib/taskjuggler/reports/TjpExportRE.rb
|
261
|
+
- lib/taskjuggler/reports/TraceReport.rb
|
245
262
|
- lib/tj3.rb
|
246
263
|
- lib/tj3client.rb
|
247
264
|
- lib/tj3d.rb
|
@@ -251,6 +268,7 @@ files:
|
|
251
268
|
- lib/tj3ts_receiver.rb
|
252
269
|
- lib/tj3ts_sender.rb
|
253
270
|
- lib/tj3ts_summary.rb
|
271
|
+
- lib/tj3webd.rb
|
254
272
|
- lib/updateheader.sh
|
255
273
|
- data/css/tjmanual.css
|
256
274
|
- data/css/tjreport.css
|
@@ -283,6 +301,11 @@ files:
|
|
283
301
|
- examples/Fedora-20/icons/fedoralogo.png
|
284
302
|
- examples/Fedora-20/reports.tji
|
285
303
|
- examples/ProjectTemplate/template.tjp
|
304
|
+
- examples/Scrum/Product Burndown.csv
|
305
|
+
- examples/Scrum/Sprint 1 Burndown.csv
|
306
|
+
- examples/Scrum/Sprint 2 Burndown.csv
|
307
|
+
- examples/Scrum/Sprint 3 Burndown.csv
|
308
|
+
- examples/Scrum/scrum.tjp
|
286
309
|
- examples/ToDo-List/todolist.tjp
|
287
310
|
- examples/Tutorial/tutorial.tjp
|
288
311
|
- tasks/changelog.rake
|
@@ -301,6 +324,7 @@ files:
|
|
301
324
|
- manual/html/aggregate.html
|
302
325
|
- manual/html/accountreport.html
|
303
326
|
- manual/html/length.html
|
327
|
+
- manual/html/tracereport.html
|
304
328
|
- manual/html/purge.html
|
305
329
|
- manual/html/mandatory.html
|
306
330
|
- manual/html/precedes.html
|
@@ -408,6 +432,7 @@ files:
|
|
408
432
|
- manual/html/scenarios.export.html
|
409
433
|
- manual/html/priority.timesheet.html
|
410
434
|
- manual/html/milestone.html
|
435
|
+
- manual/html/width.html
|
411
436
|
- manual/html/TaskJuggler_2x_Migration.html
|
412
437
|
- manual/html/extend.html
|
413
438
|
- manual/html/note.task.html
|
@@ -485,6 +510,7 @@ files:
|
|
485
510
|
- manual/html/caption.html
|
486
511
|
- manual/html/projectids.html
|
487
512
|
- manual/html/tagfile.html
|
513
|
+
- manual/html/height.html
|
488
514
|
- manual/html/Installation.html
|
489
515
|
- manual/html/include.project.html
|
490
516
|
- manual/html/flags.task.html
|
@@ -590,6 +616,7 @@ files:
|
|
590
616
|
- test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv
|
591
617
|
- test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv
|
592
618
|
- test/TestSuite/CSV-Reports/refs/targets.csv
|
619
|
+
- test/TestSuite/CSV-Reports/refs/taskcounter.csv
|
593
620
|
- test/TestSuite/CSV-Reports/refs/taskreport.csv
|
594
621
|
- test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv
|
595
622
|
- test/TestSuite/CSV-Reports/refs/weekly.csv
|
@@ -717,6 +744,7 @@ files:
|
|
717
744
|
- test/TestSuite/Scheduler/Correct/Duration.tjp
|
718
745
|
- test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp
|
719
746
|
- test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp
|
747
|
+
- test/TestSuite/Scheduler/Correct/Leaves.tjp
|
720
748
|
- test/TestSuite/Scheduler/Correct/Limits.tjp
|
721
749
|
- test/TestSuite/Scheduler/Correct/Manager.tjp
|
722
750
|
- test/TestSuite/Scheduler/Correct/Mandatory.tjp
|
@@ -870,6 +898,7 @@ files:
|
|
870
898
|
- test/TestSuite/Syntax/Correct/TimeFrame.tjp
|
871
899
|
- test/TestSuite/Syntax/Correct/TimeSheet1.tjp
|
872
900
|
- test/TestSuite/Syntax/Correct/Timezone.tjp
|
901
|
+
- test/TestSuite/Syntax/Correct/TraceReport.tjp
|
873
902
|
- test/TestSuite/Syntax/Correct/Vacation.tjp
|
874
903
|
- test/TestSuite/Syntax/Correct/include/dir1/file2.tji
|
875
904
|
- test/TestSuite/Syntax/Correct/include/dir1/file5.tji
|
@@ -1007,14 +1036,17 @@ files:
|
|
1007
1036
|
- test/test_UTF8String.rb
|
1008
1037
|
- test/test_WorkingHours.rb
|
1009
1038
|
- test/test_deep_copy.rb
|
1039
|
+
- spec/Color_spec.rb
|
1010
1040
|
- spec/ICalendar_spec.rb
|
1011
1041
|
- spec/IntervalList_spec.rb
|
1012
1042
|
- spec/ProjectBroker_spec.rb
|
1013
1043
|
- spec/StatusSheets_spec.rb
|
1044
|
+
- spec/TableColumnSorter_spec.rb
|
1014
1045
|
- spec/TernarySearchTree_spec.rb
|
1015
1046
|
- spec/TimeSheets_spec.rb
|
1016
1047
|
- spec/Tj3Daemon_spec.rb
|
1017
1048
|
- spec/Tj3_spec.rb
|
1049
|
+
- spec/TraceReport_spec.rb
|
1018
1050
|
- spec/support/DaemonControl.rb
|
1019
1051
|
- spec/support/spec_helper.rb
|
1020
1052
|
- bin/tj3
|
@@ -1026,6 +1058,7 @@ files:
|
|
1026
1058
|
- bin/tj3ts_receiver
|
1027
1059
|
- bin/tj3ts_sender
|
1028
1060
|
- bin/tj3ts_summary
|
1061
|
+
- bin/tj3webd
|
1029
1062
|
homepage: http://www.taskjuggler.org
|
1030
1063
|
licenses: []
|
1031
1064
|
post_install_message:
|
@@ -1075,6 +1108,7 @@ test_files:
|
|
1075
1108
|
- test/TestSuite/CSV-Reports/refs/sortBy_effort.up.csv
|
1076
1109
|
- test/TestSuite/CSV-Reports/refs/sortBy_plan.start.down.csv
|
1077
1110
|
- test/TestSuite/CSV-Reports/refs/targets.csv
|
1111
|
+
- test/TestSuite/CSV-Reports/refs/taskcounter.csv
|
1078
1112
|
- test/TestSuite/CSV-Reports/refs/taskreport.csv
|
1079
1113
|
- test/TestSuite/CSV-Reports/refs/taskreport_with_resources.csv
|
1080
1114
|
- test/TestSuite/CSV-Reports/refs/weekly.csv
|
@@ -1202,6 +1236,7 @@ test_files:
|
|
1202
1236
|
- test/TestSuite/Scheduler/Correct/Duration.tjp
|
1203
1237
|
- test/TestSuite/Scheduler/Correct/InheritStartEnd.tjp
|
1204
1238
|
- test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp
|
1239
|
+
- test/TestSuite/Scheduler/Correct/Leaves.tjp
|
1205
1240
|
- test/TestSuite/Scheduler/Correct/Limits.tjp
|
1206
1241
|
- test/TestSuite/Scheduler/Correct/Manager.tjp
|
1207
1242
|
- test/TestSuite/Scheduler/Correct/Mandatory.tjp
|
@@ -1355,6 +1390,7 @@ test_files:
|
|
1355
1390
|
- test/TestSuite/Syntax/Correct/TimeFrame.tjp
|
1356
1391
|
- test/TestSuite/Syntax/Correct/TimeSheet1.tjp
|
1357
1392
|
- test/TestSuite/Syntax/Correct/Timezone.tjp
|
1393
|
+
- test/TestSuite/Syntax/Correct/TraceReport.tjp
|
1358
1394
|
- test/TestSuite/Syntax/Correct/Vacation.tjp
|
1359
1395
|
- test/TestSuite/Syntax/Correct/include/dir1/file2.tji
|
1360
1396
|
- test/TestSuite/Syntax/Correct/include/dir1/file5.tji
|
@@ -1492,13 +1528,16 @@ test_files:
|
|
1492
1528
|
- test/test_UTF8String.rb
|
1493
1529
|
- test/test_WorkingHours.rb
|
1494
1530
|
- test/test_deep_copy.rb
|
1531
|
+
- spec/Color_spec.rb
|
1495
1532
|
- spec/ICalendar_spec.rb
|
1496
1533
|
- spec/IntervalList_spec.rb
|
1497
1534
|
- spec/ProjectBroker_spec.rb
|
1498
1535
|
- spec/StatusSheets_spec.rb
|
1536
|
+
- spec/TableColumnSorter_spec.rb
|
1499
1537
|
- spec/TernarySearchTree_spec.rb
|
1500
1538
|
- spec/TimeSheets_spec.rb
|
1501
1539
|
- spec/Tj3Daemon_spec.rb
|
1502
1540
|
- spec/Tj3_spec.rb
|
1541
|
+
- spec/TraceReport_spec.rb
|
1503
1542
|
- spec/support/DaemonControl.rb
|
1504
1543
|
- spec/support/spec_helper.rb
|