taskjuggler 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +7 -0
- data/data/tjp.vim +1 -1
- data/lib/exchangebug.rb +42 -0
- data/lib/ruby-signal-bug.rb +55 -0
- data/lib/taskjuggler/DataCache.rb +30 -41
- data/lib/taskjuggler/ResourceScenario.rb +19 -20
- data/lib/taskjuggler/TaskScenario.rb +11 -8
- data/lib/taskjuggler/Tj3Config.rb +1 -1
- data/prj_cfg.rb +3 -3
- data/test/TestSuite/Export-Reports/refs/DST.tjp +60 -0
- data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +80 -0
- data/test/TestSuite/Export-Reports/tp.tjp +49 -0
- data/test/TestSuite/HTML-Reports/Alerts.html +412 -160
- data/test/TestSuite/HTML-Reports/TimeSheet.html +79 -0
- data/test/TestSuite/HTML-Reports/css/tjmanual.css +20 -0
- data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -6
- data/test/TestSuite/HTML-Reports/reference.html +51 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +86 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/css/tjreport.css +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/details.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-green.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-red.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/flag-yellow.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resource.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/resourcegroup.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/task.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/taskgroup.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-down.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-flat.png +0 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/{Scheduler/Errors → ReportGenerator/Correct}/scripts/wz_tooltip.js +0 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.html +1075 -0
- data/test/TestSuite/Scheduler/Correct/Duration.html +610 -0
- data/test/TestSuite/Scheduler/{Errors → Correct}/css/tjmanual.css +0 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +413 -0
- data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/{HTML-Reports/scripts → Scheduler/Correct}/scripts/wz_tooltip.js +20 -20
- data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
- data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
- data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
- data/test/TestSuite/Syntax/Correct/DST.tjp +11 -0
- data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +32 -0
- data/test/TestSuite/TimeSheets/receiver.log.mod +1056 -0
- data/test/TestSuite/TimeSheets/uu.txt +29 -0
- metadata +672 -1076
- data/benchmarks/UTF-8-Strings.rb +0 -58
- data/benchmarks/htmltaskreport-1.html +0 -47702
- data/benchmarks/htmltaskreport-2.html +0 -23345
- data/benchmarks/htmltaskreport-3.html +0 -23265
- data/benchmarks/htmltaskreport-4.html +0 -22135
- data/benchmarks/profile.clt +0 -36082
- data/benchmarks/tj3.profile +0 -0
- data/benchmarks/tj3.profile.grind +0 -6185
- data/benchmarks/tj3.profile.symbols +0 -432
- data/benchmarks/tj3.profile.txt +0 -448
- data/doc/AppConfig.html +0 -1515
- data/doc/CHANGELOG.html +0 -2441
- data/doc/COPYING.html +0 -923
- data/doc/Diff.html +0 -1217
- data/doc/Diff/Hunk.html +0 -1050
- data/doc/Diffable.html +0 -708
- data/doc/DiffableString.html +0 -708
- data/doc/Object.html +0 -744
- data/doc/README_rdoc.html +0 -774
- data/doc/RuntimeConfig.html +0 -880
- data/doc/String.html +0 -1029
- data/doc/TaskJuggler.html +0 -2698
- data/doc/TaskJuggler/Account.html +0 -777
- data/doc/TaskJuggler/AccountAttribute.html +0 -793
- data/doc/TaskJuggler/AccountScenario.html +0 -736
- data/doc/TaskJuggler/Allocation.html +0 -987
- data/doc/TaskJuggler/AllocationAttribute.html +0 -823
- data/doc/TaskJuggler/AttributeBase.html +0 -1379
- data/doc/TaskJuggler/AttributeDefinition.html +0 -839
- data/doc/TaskJuggler/AttributeOverwrite.html +0 -630
- data/doc/TaskJuggler/BatchProcessor.html +0 -1202
- data/doc/TaskJuggler/Booking.html +0 -883
- data/doc/TaskJuggler/BookingListAttribute.html +0 -793
- data/doc/TaskJuggler/BooleanAttribute.html +0 -793
- data/doc/TaskJuggler/CSVFile.html +0 -1152
- data/doc/TaskJuggler/CellSettingPattern.html +0 -724
- data/doc/TaskJuggler/CellSettingPatternList.html +0 -773
- data/doc/TaskJuggler/Charge.html +0 -801
- data/doc/TaskJuggler/ChargeListAttribute.html +0 -757
- data/doc/TaskJuggler/ChargeSet.html +0 -973
- data/doc/TaskJuggler/ChargeSetListAttribute.html +0 -802
- data/doc/TaskJuggler/CollisionDetector.html +0 -1113
- data/doc/TaskJuggler/ColumnListAttribute.html +0 -757
- data/doc/TaskJuggler/ColumnTable.html +0 -787
- data/doc/TaskJuggler/Daemon.html +0 -843
- data/doc/TaskJuggler/DataCache.html +0 -1049
- data/doc/TaskJuggler/DataCacheEntry.html +0 -761
- data/doc/TaskJuggler/DateAttribute.html +0 -761
- data/doc/TaskJuggler/DefinitionListAttribute.html +0 -679
- data/doc/TaskJuggler/DependencyListAttribute.html +0 -797
- data/doc/TaskJuggler/DurationAttribute.html +0 -794
- data/doc/TaskJuggler/FileList.html +0 -817
- data/doc/TaskJuggler/FileRecord.html +0 -726
- data/doc/TaskJuggler/FixnumAttribute.html +0 -715
- data/doc/TaskJuggler/FlagListAttribute.html +0 -793
- data/doc/TaskJuggler/FloatAttribute.html +0 -757
- data/doc/TaskJuggler/FormatListAttribute.html +0 -721
- data/doc/TaskJuggler/GanttChart.html +0 -1511
- data/doc/TaskJuggler/GanttContainer.html +0 -969
- data/doc/TaskJuggler/GanttHeader.html +0 -972
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +0 -786
- data/doc/TaskJuggler/GanttLine.html +0 -1349
- data/doc/TaskJuggler/GanttLoadStack.html +0 -852
- data/doc/TaskJuggler/GanttMilestone.html +0 -950
- data/doc/TaskJuggler/GanttRouter.html +0 -1160
- data/doc/TaskJuggler/GanttTaskBar.html +0 -972
- data/doc/TaskJuggler/HTMLDocument.html +0 -800
- data/doc/TaskJuggler/HTMLElements.html +0 -623
- data/doc/TaskJuggler/HTMLGraphics.html +0 -861
- data/doc/TaskJuggler/ICalReport.html +0 -864
- data/doc/TaskJuggler/ICalendar.html +0 -1035
- data/doc/TaskJuggler/ICalendar/Component.html +0 -969
- data/doc/TaskJuggler/ICalendar/Event.html +0 -742
- data/doc/TaskJuggler/ICalendar/Journal.html +0 -722
- data/doc/TaskJuggler/ICalendar/Person.html +0 -633
- data/doc/TaskJuggler/ICalendar/Todo.html +0 -789
- data/doc/TaskJuggler/Interval.html +0 -1003
- data/doc/TaskJuggler/IntervalList.html +0 -821
- data/doc/TaskJuggler/JobInfo.html +0 -967
- data/doc/TaskJuggler/Journal.html +0 -1272
- data/doc/TaskJuggler/JournalEntry.html +0 -884
- data/doc/TaskJuggler/JournalEntryList.html +0 -1253
- data/doc/TaskJuggler/KeywordArray.html +0 -720
- data/doc/TaskJuggler/KeywordDocumentation.html +0 -2274
- data/doc/TaskJuggler/Limits.html +0 -1019
- data/doc/TaskJuggler/Limits/Limit.html +0 -1022
- data/doc/TaskJuggler/LimitsAttribute.html +0 -759
- data/doc/TaskJuggler/ListAttributeBase.html +0 -727
- data/doc/TaskJuggler/Log.html +0 -1187
- data/doc/TaskJuggler/LogFile.html +0 -1004
- data/doc/TaskJuggler/LogicalAttribute.html +0 -784
- data/doc/TaskJuggler/LogicalExpression.html +0 -825
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +0 -715
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +0 -715
- data/doc/TaskJuggler/LogicalFlag.html +0 -777
- data/doc/TaskJuggler/LogicalFunction.html +0 -1433
- data/doc/TaskJuggler/LogicalOperation.html +0 -1168
- data/doc/TaskJuggler/ManagerResponsibilities.html +0 -760
- data/doc/TaskJuggler/ManagerStatusRecord.html +0 -764
- data/doc/TaskJuggler/Message.html +0 -861
- data/doc/TaskJuggler/MessageHandler.html +0 -1102
- data/doc/TaskJuggler/Navigator.html +0 -967
- data/doc/TaskJuggler/NavigatorElement.html +0 -1018
- data/doc/TaskJuggler/NikuProject.html +0 -748
- data/doc/TaskJuggler/NikuReport.html +0 -1494
- data/doc/TaskJuggler/NikuResource.html +0 -718
- data/doc/TaskJuggler/NodeListAttribute.html +0 -679
- data/doc/TaskJuggler/PlaceHolderCell.html +0 -772
- data/doc/TaskJuggler/ProcessIntercom.html +0 -1041
- data/doc/TaskJuggler/ProcessIntercomIface.html +0 -797
- data/doc/TaskJuggler/Project.html +0 -3741
- data/doc/TaskJuggler/ProjectBroker.html +0 -1700
- data/doc/TaskJuggler/ProjectBrokerIface.html +0 -875
- data/doc/TaskJuggler/ProjectFileParser.html +0 -2127
- data/doc/TaskJuggler/ProjectFileScanner.html +0 -1921
- data/doc/TaskJuggler/ProjectRecord.html +0 -1002
- data/doc/TaskJuggler/ProjectServer.html +0 -1273
- data/doc/TaskJuggler/ProjectServerIface.html +0 -892
- data/doc/TaskJuggler/PropertyAttribute.html +0 -715
- data/doc/TaskJuggler/PropertyList.html +0 -1423
- data/doc/TaskJuggler/PropertySet.html +0 -1816
- data/doc/TaskJuggler/PropertyTreeNode.html +0 -2895
- data/doc/TaskJuggler/Query.html +0 -1783
- data/doc/TaskJuggler/RTFHandlers.html +0 -688
- data/doc/TaskJuggler/RTFNavigator.html +0 -816
- data/doc/TaskJuggler/RTFQuery.html +0 -1107
- data/doc/TaskJuggler/RTFReport.html +0 -844
- data/doc/TaskJuggler/RTFReportLink.html +0 -836
- data/doc/TaskJuggler/RTFWithQuerySupport.html +0 -726
- data/doc/TaskJuggler/RealFormat.html +0 -829
- data/doc/TaskJuggler/RealFormatAttribute.html +0 -679
- data/doc/TaskJuggler/ReferenceAttribute.html +0 -904
- data/doc/TaskJuggler/Report.html +0 -1645
- data/doc/TaskJuggler/ReportBase.html +0 -1192
- data/doc/TaskJuggler/ReportContext.html +0 -861
- data/doc/TaskJuggler/ReportScenario.html +0 -633
- data/doc/TaskJuggler/ReportServer.html +0 -1092
- data/doc/TaskJuggler/ReportServerIface.html +0 -926
- data/doc/TaskJuggler/ReportServerRecord.html +0 -805
- data/doc/TaskJuggler/ReportServlet.html +0 -1053
- data/doc/TaskJuggler/ReportTable.html +0 -1203
- data/doc/TaskJuggler/ReportTableCell.html +0 -1690
- data/doc/TaskJuggler/ReportTableColumn.html +0 -914
- data/doc/TaskJuggler/ReportTableLegend.html +0 -1084
- data/doc/TaskJuggler/ReportTableLine.html +0 -1091
- data/doc/TaskJuggler/Resource.html +0 -1066
- data/doc/TaskJuggler/ResourceListAttribute.html +0 -853
- data/doc/TaskJuggler/ResourceListRE.html +0 -761
- data/doc/TaskJuggler/ResourceScenario.html +0 -2591
- data/doc/TaskJuggler/RichText.html +0 -903
- data/doc/TaskJuggler/RichTextAttribute.html +0 -835
- data/doc/TaskJuggler/RichTextDocument.html +0 -1062
- data/doc/TaskJuggler/RichTextElement.html +0 -1804
- data/doc/TaskJuggler/RichTextFunctionExample.html +0 -823
- data/doc/TaskJuggler/RichTextFunctionHandler.html +0 -774
- data/doc/TaskJuggler/RichTextImage.html +0 -736
- data/doc/TaskJuggler/RichTextIntermediate.html +0 -1309
- data/doc/TaskJuggler/RichTextParser.html +0 -892
- data/doc/TaskJuggler/RichTextScanner.html +0 -1589
- data/doc/TaskJuggler/RichTextSnip.html +0 -1024
- data/doc/TaskJuggler/RichTextSyntaxRules.html +0 -2076
- data/doc/TaskJuggler/Scenario.html +0 -680
- data/doc/TaskJuggler/ScenarioData.html +0 -905
- data/doc/TaskJuggler/ScenarioListAttribute.html +0 -757
- data/doc/TaskJuggler/Scoreboard.html +0 -1265
- data/doc/TaskJuggler/ScoreboardInterval.html +0 -1116
- data/doc/TaskJuggler/SheetHandlerBase.html +0 -1321
- data/doc/TaskJuggler/SheetReceiver.html +0 -1422
- data/doc/TaskJuggler/SheetSender.html +0 -1192
- data/doc/TaskJuggler/Shift.html +0 -775
- data/doc/TaskJuggler/ShiftAssignment.html +0 -1032
- data/doc/TaskJuggler/ShiftAssignments.html +0 -1438
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +0 -759
- data/doc/TaskJuggler/ShiftScenario.html +0 -806
- data/doc/TaskJuggler/SimpleQueryExpander.html +0 -756
- data/doc/TaskJuggler/SortListAttribute.html +0 -715
- data/doc/TaskJuggler/StatusSheetReceiver.html +0 -702
- data/doc/TaskJuggler/StatusSheetReport.html +0 -959
- data/doc/TaskJuggler/StatusSheetSender.html +0 -832
- data/doc/TaskJuggler/StdIoWrapper.html +0 -720
- data/doc/TaskJuggler/StringAttribute.html +0 -757
- data/doc/TaskJuggler/SymbolAttribute.html +0 -715
- data/doc/TaskJuggler/SyntaxReference.html +0 -1264
- data/doc/TaskJuggler/TOCEntry.html +0 -860
- data/doc/TaskJuggler/TSResourceRecord.html +0 -756
- data/doc/TaskJuggler/TSTaskRecord.html +0 -768
- data/doc/TaskJuggler/TableColumnDefinition.html +0 -973
- data/doc/TaskJuggler/TableOfContents.html +0 -814
- data/doc/TaskJuggler/TableReport.html +0 -2580
- data/doc/TaskJuggler/TagFile.html +0 -817
- data/doc/TaskJuggler/TagFile/TagFileEntry.html +0 -841
- data/doc/TaskJuggler/Task.html +0 -914
- data/doc/TaskJuggler/TaskDepListAttribute.html +0 -797
- data/doc/TaskJuggler/TaskDependency.html +0 -856
- data/doc/TaskJuggler/TaskListAttribute.html +0 -797
- data/doc/TaskJuggler/TaskListRE.html +0 -760
- data/doc/TaskJuggler/TaskScenario.html +0 -5237
- data/doc/TaskJuggler/TernarySearchTree.html +0 -1365
- data/doc/TaskJuggler/TextFormatter.html +0 -997
- data/doc/TaskJuggler/TextParser.html +0 -1886
- data/doc/TaskJuggler/TextParser/Macro.html +0 -732
- data/doc/TaskJuggler/TextParser/MacroTable.html +0 -856
- data/doc/TaskJuggler/TextParser/Pattern.html +0 -1767
- data/doc/TaskJuggler/TextParser/Rule.html +0 -1443
- data/doc/TaskJuggler/TextParser/Scanner.html +0 -1542
- data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +0 -685
- data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +0 -751
- data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +0 -748
- data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +0 -1128
- data/doc/TaskJuggler/TextParser/SourceFileInfo.html +0 -784
- data/doc/TaskJuggler/TextParser/StackElement.html +0 -964
- data/doc/TaskJuggler/TextParser/State.html +0 -1039
- data/doc/TaskJuggler/TextParser/StateTransition.html +0 -832
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +0 -735
- data/doc/TaskJuggler/TextParser/TokenDoc.html +0 -766
- data/doc/TaskJuggler/TextReport.html +0 -945
- data/doc/TaskJuggler/TimeInterval.html +0 -841
- data/doc/TaskJuggler/TimeIntervalListAttribute.html +0 -797
- data/doc/TaskJuggler/TimeSheet.html +0 -1288
- data/doc/TaskJuggler/TimeSheetReceiver.html +0 -699
- data/doc/TaskJuggler/TimeSheetRecord.html +0 -1439
- data/doc/TaskJuggler/TimeSheetReport.html +0 -1037
- data/doc/TaskJuggler/TimeSheetSender.html +0 -724
- data/doc/TaskJuggler/TimeSheetSummary.html +0 -983
- data/doc/TaskJuggler/TimeSheets.html +0 -760
- data/doc/TaskJuggler/Tj3.html +0 -896
- data/doc/TaskJuggler/Tj3AppBase.html +0 -966
- data/doc/TaskJuggler/Tj3Client.html +0 -1534
- data/doc/TaskJuggler/Tj3Daemon.html +0 -894
- data/doc/TaskJuggler/Tj3Man.html +0 -792
- data/doc/TaskJuggler/Tj3SheetAppBase.html +0 -782
- data/doc/TaskJuggler/Tj3SsReceiver.html +0 -771
- data/doc/TaskJuggler/Tj3SsSender.html +0 -804
- data/doc/TaskJuggler/Tj3TsReceiver.html +0 -771
- data/doc/TaskJuggler/Tj3TsSender.html +0 -791
- data/doc/TaskJuggler/Tj3TsSummary.html +0 -799
- data/doc/TaskJuggler/TjException.html +0 -716
- data/doc/TaskJuggler/TjRuntimeError.html +0 -630
- data/doc/TaskJuggler/TjTime.html +0 -3179
- data/doc/TaskJuggler/TjpExample.html +0 -921
- data/doc/TaskJuggler/TjpExportRE.html +0 -1851
- data/doc/TaskJuggler/TjpSyntaxRules.html +0 -14721
- data/doc/TaskJuggler/URLParameter.html +0 -715
- data/doc/TaskJuggler/UserManual.html +0 -1248
- data/doc/TaskJuggler/VimSyntax.html +0 -1088
- data/doc/TaskJuggler/WebServer.html +0 -781
- data/doc/TaskJuggler/WelcomePage.html +0 -813
- data/doc/TaskJuggler/WorkingHours.html +0 -1293
- data/doc/TaskJuggler/WorkingHoursAttribute.html +0 -780
- data/doc/TaskJuggler/XMLBlob.html +0 -731
- data/doc/TaskJuggler/XMLComment.html +0 -726
- data/doc/TaskJuggler/XMLDocument.html +0 -827
- data/doc/TaskJuggler/XMLElement.html +0 -1014
- data/doc/TaskJuggler/XMLNamedText.html +0 -687
- data/doc/TaskJuggler/XMLText.html +0 -741
- data/doc/index.html +0 -4664
- data/doc/lib/taskjuggler/AccountScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Account_rb.html +0 -71
- data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +0 -67
- data/doc/lib/taskjuggler/Allocation_rb.html +0 -71
- data/doc/lib/taskjuggler/AppConfig_rb.html +0 -69
- data/doc/lib/taskjuggler/AttributeBase_rb.html +0 -69
- data/doc/lib/taskjuggler/AttributeDefinition_rb.html +0 -67
- data/doc/lib/taskjuggler/Attributes_rb.html +0 -83
- data/doc/lib/taskjuggler/BatchProcessor_rb.html +0 -71
- data/doc/lib/taskjuggler/Booking_rb.html +0 -67
- data/doc/lib/taskjuggler/ChargeSet_rb.html +0 -69
- data/doc/lib/taskjuggler/Charge_rb.html +0 -69
- data/doc/lib/taskjuggler/DataCache_rb.html +0 -71
- data/doc/lib/taskjuggler/FileList_rb.html +0 -67
- data/doc/lib/taskjuggler/HTMLDocument_rb.html +0 -71
- data/doc/lib/taskjuggler/HTMLElements_rb.html +0 -69
- data/doc/lib/taskjuggler/ICalendar_rb.html +0 -69
- data/doc/lib/taskjuggler/IntervalList_rb.html +0 -69
- data/doc/lib/taskjuggler/Interval_rb.html +0 -69
- data/doc/lib/taskjuggler/Journal_rb.html +0 -67
- data/doc/lib/taskjuggler/KeywordArray_rb.html +0 -67
- data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +0 -77
- data/doc/lib/taskjuggler/Limits_rb.html +0 -69
- data/doc/lib/taskjuggler/LogFile_rb.html +0 -69
- data/doc/lib/taskjuggler/Log_rb.html +0 -71
- data/doc/lib/taskjuggler/LogicalExpression_rb.html +0 -73
- data/doc/lib/taskjuggler/LogicalFunction_rb.html +0 -69
- data/doc/lib/taskjuggler/LogicalOperation_rb.html +0 -69
- data/doc/lib/taskjuggler/MessageHandler_rb.html +0 -69
- data/doc/lib/taskjuggler/ProjectFileParser_rb.html +0 -77
- data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +0 -69
- data/doc/lib/taskjuggler/Project_rb.html +0 -113
- data/doc/lib/taskjuggler/PropertyList_rb.html +0 -67
- data/doc/lib/taskjuggler/PropertySet_rb.html +0 -71
- data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +0 -67
- data/doc/lib/taskjuggler/Query_rb.html +0 -69
- data/doc/lib/taskjuggler/RealFormat_rb.html +0 -67
- data/doc/lib/taskjuggler/ResourceScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Resource_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/Document_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/Element_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +0 -67
- data/doc/lib/taskjuggler/RichText/Parser_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +0 -73
- data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +0 -75
- data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +0 -69
- data/doc/lib/taskjuggler/RichText/Scanner_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/Snip_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +0 -67
- data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +0 -71
- data/doc/lib/taskjuggler/RichText_rb.html +0 -73
- data/doc/lib/taskjuggler/RuntimeConfig_rb.html +0 -69
- data/doc/lib/taskjuggler/ScenarioData_rb.html +0 -71
- data/doc/lib/taskjuggler/Scenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Scoreboard_rb.html +0 -69
- data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +0 -75
- data/doc/lib/taskjuggler/SheetReceiver_rb.html +0 -81
- data/doc/lib/taskjuggler/SheetSender_rb.html +0 -79
- data/doc/lib/taskjuggler/ShiftAssignments_rb.html +0 -71
- data/doc/lib/taskjuggler/ShiftScenario_rb.html +0 -69
- data/doc/lib/taskjuggler/Shift_rb.html +0 -71
- data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +0 -69
- data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +0 -69
- data/doc/lib/taskjuggler/StatusSheetSender_rb.html +0 -69
- data/doc/lib/taskjuggler/StdIoWrapper_rb.html +0 -67
- data/doc/lib/taskjuggler/SyntaxReference_rb.html +0 -75
- data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +0 -67
- data/doc/lib/taskjuggler/TaskDependency_rb.html +0 -67
- data/doc/lib/taskjuggler/TaskJuggler_rb.html +0 -75
- data/doc/lib/taskjuggler/TaskScenario_rb.html +0 -71
- data/doc/lib/taskjuggler/Task_rb.html +0 -71
- data/doc/lib/taskjuggler/TernarySearchTree_rb.html +0 -69
- data/doc/lib/taskjuggler/TextFormatter_rb.html +0 -69
- data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +0 -71
- data/doc/lib/taskjuggler/TextParser/Rule_rb.html +0 -69
- data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +0 -77
- data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/State_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +0 -67
- data/doc/lib/taskjuggler/TextParser_rb.html +0 -79
- data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheetSender_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +0 -69
- data/doc/lib/taskjuggler/TimeSheets_rb.html +0 -67
- data/doc/lib/taskjuggler/Tj3AppBase_rb.html +0 -79
- data/doc/lib/taskjuggler/Tj3Config_rb.html +0 -71
- data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +0 -69
- data/doc/lib/taskjuggler/TjException_rb.html +0 -67
- data/doc/lib/taskjuggler/TjTime_rb.html +0 -71
- data/doc/lib/taskjuggler/TjpExample_rb.html +0 -69
- data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +0 -67
- data/doc/lib/taskjuggler/URLParameter_rb.html +0 -69
- data/doc/lib/taskjuggler/UTF8String_rb.html +0 -69
- data/doc/lib/taskjuggler/UserManual_rb.html +0 -81
- data/doc/lib/taskjuggler/VimSyntax_rb.html +0 -69
- data/doc/lib/taskjuggler/WorkingHours_rb.html +0 -71
- data/doc/lib/taskjuggler/XMLDocument_rb.html +0 -69
- data/doc/lib/taskjuggler/XMLElement_rb.html +0 -69
- data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +0 -75
- data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +0 -71
- data/doc/lib/taskjuggler/apps/Tj3_rb.html +0 -71
- data/doc/lib/taskjuggler/daemon/Daemon_rb.html +0 -69
- data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +0 -71
- data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +0 -83
- data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +0 -85
- data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +0 -73
- data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +0 -69
- data/doc/lib/taskjuggler/daemon/WebServer_rb.html +0 -81
- data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +0 -71
- data/doc/lib/taskjuggler/deep_copy_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/CSVFile_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttChart_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttLine_rb.html +0 -79
- data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ICalReport_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/Navigator_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/NikuReport_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/ReportBase_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportContext_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +0 -67
- data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/ReportTable_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/Report_rb.html +0 -97
- data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TableReport_rb.html +0 -77
- data/doc/lib/taskjuggler/reports/TagFile_rb.html +0 -71
- data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +0 -75
- data/doc/lib/taskjuggler/reports/TextReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +0 -69
- data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +0 -69
- data/doc/lib/tj3_rb.html +0 -69
- data/doc/lib/tj3client_rb.html +0 -69
- data/doc/lib/tj3d_rb.html +0 -69
- data/doc/lib/tj3man_rb.html +0 -69
- data/doc/lib/tj3ss_receiver_rb.html +0 -69
- data/doc/lib/tj3ss_sender_rb.html +0 -69
- data/doc/lib/tj3ts_receiver_rb.html +0 -69
- data/doc/lib/tj3ts_sender_rb.html +0 -69
- data/doc/lib/tj3ts_summary_rb.html +0 -69
- data/doc/rdoc.css +0 -706
- data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +0 -40
- data/test/TestSuite/HTML-Reports/CellText.html +0 -758
- data/test/TestSuite/HTML-Reports/ColumnPeriods.html +0 -156
- data/test/TestSuite/HTML-Reports/IsOngoing.html +0 -172
- data/test/TestSuite/HTML-Reports/LogicalFunctions.html +0 -245
- data/test/TestSuite/HTML-Reports/Query.html +0 -31
- data/test/TestSuite/HTML-Reports/depArrows.html +0 -851
- data/test/TestSuite/HTML-Reports/profile.html +0 -37581
- data/test/TestSuite/Scheduler/Errors/R.html +0 -113
- data/test/TestSuite/StatusSheets/dev2.tji +0 -22
- data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +0 -38
- data/test/TestSuite/TimeSheets/resrep.tji +0 -7
- data/test/TestSuite/TimeSheets/ts.tji +0 -351
- data/test/TestSuite/TimeSheets/tsdef.tji +0 -2
data/CHANGELOG
CHANGED
data/data/tjp.vim
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
" Vim syntax file
|
|
2
2
|
" Language: TaskJuggler
|
|
3
3
|
" Maintainer: TaskJuggler Developers <taskjuggler-devel@googlegroups.com>
|
|
4
|
-
" Last Change: 2011-07-
|
|
4
|
+
" Last Change: 2011-07-13 20:16:00 +0200
|
|
5
5
|
" This file was automatically generated by VimSyntax.rb
|
|
6
6
|
|
|
7
7
|
if exists("b:current_syntax")
|
data/lib/exchangebug.rb
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env ruby -w
|
|
2
|
+
# encoding: UTF-8
|
|
3
|
+
#
|
|
4
|
+
# = exchangebug.rb -- The TaskJuggler III Project Management Software
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
8
|
+
#
|
|
9
|
+
# This program is free software; you can redistribute it and/or modify
|
|
10
|
+
# it under the terms of version 2 of the GNU General Public License as
|
|
11
|
+
# published by the Free Software Foundation.
|
|
12
|
+
#
|
|
13
|
+
|
|
14
|
+
require 'mail'
|
|
15
|
+
|
|
16
|
+
Mail.defaults do
|
|
17
|
+
delivery_method :smtp, {
|
|
18
|
+
:address => 'storexbh1.amd.com',
|
|
19
|
+
:port => 25
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
mail = Mail.deliver do
|
|
24
|
+
#to [ 'Test.STOREXPF1@amd.com', 'Test.Storexmbp01@amd.com', 'dl.xadm-in@amd.com' ]
|
|
25
|
+
to 'Chris.Schlaeger@amd.com'
|
|
26
|
+
from 'timesheets@taskjuggler.amd.com'
|
|
27
|
+
subject 'Mail that gets corrupted by Exchange Server'
|
|
28
|
+
text_part do
|
|
29
|
+
content_type [ 'text', 'plain', { 'charset' => 'UTF-8' } ]
|
|
30
|
+
content_transfer_encoding 'quoted-printable'
|
|
31
|
+
body "This is the plain text part.\nCorrupted mails no longer have this content."
|
|
32
|
+
end
|
|
33
|
+
html_part do
|
|
34
|
+
content_type 'text/html; charset=UTF-8'
|
|
35
|
+
content_transfer_encoding 'quoted-printable'
|
|
36
|
+
body "<h1>This is the HTML part.\nCorrupted mails have this text in the text/plain part as well.</h1>"
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
#mail.deliver
|
|
40
|
+
|
|
41
|
+
puts "The following mail has been sent out:\n"
|
|
42
|
+
puts mail.to_s
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/usr/bin/env ruby -w
|
|
2
|
+
# encoding: UTF-8
|
|
3
|
+
#
|
|
4
|
+
# = ruby-signal-bug.rb -- The TaskJuggler III Project Management Software
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
|
|
7
|
+
# by Chris Schlaeger <chris@linux.com>
|
|
8
|
+
#
|
|
9
|
+
# This program is free software; you can redistribute it and/or modify
|
|
10
|
+
# it under the terms of version 2 of the GNU General Public License as
|
|
11
|
+
# published by the Free Software Foundation.
|
|
12
|
+
#
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
require 'BatchProcessor'
|
|
16
|
+
|
|
17
|
+
def test_fileIO
|
|
18
|
+
# First parameter should be larger than the number of CPU cores.
|
|
19
|
+
doRun(3, 2000) do
|
|
20
|
+
fname = "test#{$$}.txt"
|
|
21
|
+
f = File.new(fname, 'w')
|
|
22
|
+
0.upto(10000) do |i|
|
|
23
|
+
f.puts "#{i} Hello, world! "
|
|
24
|
+
end
|
|
25
|
+
f.close
|
|
26
|
+
File.delete(fname)
|
|
27
|
+
|
|
28
|
+
# Allow some time for the OS to recycle file descriptors.
|
|
29
|
+
sleep(0.05)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def doRun(maxCPUs, jobs, &block)
|
|
34
|
+
# Create a BatchProcessor
|
|
35
|
+
bp = TaskJuggler::BatchProcessor.new(maxCPUs)
|
|
36
|
+
|
|
37
|
+
# Queue jobs
|
|
38
|
+
jobs.times do |i|
|
|
39
|
+
bp.queue("job #{i}") { yield }
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
ok = error = 0
|
|
43
|
+
|
|
44
|
+
# Wait for them to finish
|
|
45
|
+
bp.wait do |j|
|
|
46
|
+
if j.retVal.signaled?
|
|
47
|
+
error += 1
|
|
48
|
+
else
|
|
49
|
+
ok += 1
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
puts "Ok: #{ok} Errors: #{error}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
test_fileIO
|
|
@@ -77,58 +77,23 @@ class TaskJuggler
|
|
|
77
77
|
@entries = {}
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
-
# Store _value_ into the cache using _key_ to tag it. _key_ must be unique
|
|
81
|
-
# and must be used to load the value from the cache again. You cannot
|
|
82
|
-
# store nil values!
|
|
83
|
-
def store(value, key)
|
|
84
|
-
@stores += 1
|
|
85
|
-
|
|
86
|
-
if @entries.size > @highWaterMark
|
|
87
|
-
while @entries.size > @lowWaterMark
|
|
88
|
-
# How many entries do we need to delete to get to the low watermark?
|
|
89
|
-
toDelete = @entries.size - @lowWaterMark
|
|
90
|
-
@entries.delete_if do |foo, e|
|
|
91
|
-
# Hit counts age with every cleanup.
|
|
92
|
-
(e.hits -= 1) < 0 && (toDelete -= 1) >= 0
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
@entries[key] = DataCacheEntry.new(value)
|
|
98
|
-
|
|
99
|
-
value
|
|
100
|
-
end
|
|
101
|
-
|
|
102
80
|
if RUBY_VERSION < '1.9.0'
|
|
103
81
|
|
|
104
82
|
# Ruby 1.8 has a buggy hash key generation algorithm that leads to many
|
|
105
83
|
# hash collisions. We completely disable caching on 1.8.
|
|
106
84
|
|
|
107
|
-
def
|
|
108
|
-
nil
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def cached(key)
|
|
85
|
+
def cached(*args)
|
|
112
86
|
yield
|
|
113
87
|
end
|
|
114
88
|
|
|
115
89
|
else
|
|
116
90
|
|
|
117
|
-
#
|
|
118
|
-
#
|
|
119
|
-
|
|
120
|
-
if (e = @entries[key])
|
|
121
|
-
@hits += 1
|
|
122
|
-
e.value
|
|
123
|
-
else
|
|
124
|
-
@misses += 1
|
|
125
|
-
nil
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
# If we have a value for the _key_, return the value. Otherwise call the
|
|
91
|
+
# _args_ is a set of arguments that unambigously identify the data entry.
|
|
92
|
+
# It's converted into a hash to store or recover a previously stored
|
|
93
|
+
# entry. If we have a value for the key, return the value. Otherwise call the
|
|
130
94
|
# block to compute the value, store it and return it.
|
|
131
|
-
def cached(
|
|
95
|
+
def cached(*args)
|
|
96
|
+
key = args.hash
|
|
132
97
|
if @entries.has_key?(key)
|
|
133
98
|
e = @entries[key]
|
|
134
99
|
@hits += 1
|
|
@@ -149,6 +114,30 @@ Hit Rate: #{@hits * 100.0 / (@hits + @misses)}%
|
|
|
149
114
|
EOT
|
|
150
115
|
end
|
|
151
116
|
|
|
117
|
+
private
|
|
118
|
+
|
|
119
|
+
# Store _value_ into the cache using _key_ to tag it. _key_ must be unique
|
|
120
|
+
# and must be used to load the value from the cache again. You cannot
|
|
121
|
+
# store nil values!
|
|
122
|
+
def store(value, key)
|
|
123
|
+
@stores += 1
|
|
124
|
+
|
|
125
|
+
if @entries.size > @highWaterMark
|
|
126
|
+
while @entries.size > @lowWaterMark
|
|
127
|
+
# How many entries do we need to delete to get to the low watermark?
|
|
128
|
+
toDelete = @entries.size - @lowWaterMark
|
|
129
|
+
@entries.delete_if do |foo, e|
|
|
130
|
+
# Hit counts age with every cleanup.
|
|
131
|
+
(e.hits -= 1) < 0 && (toDelete -= 1) >= 0
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
@entries[key] = DataCacheEntry.new(value)
|
|
137
|
+
|
|
138
|
+
value
|
|
139
|
+
end
|
|
140
|
+
|
|
152
141
|
end
|
|
153
142
|
|
|
154
143
|
end
|
|
@@ -314,28 +314,27 @@ class TaskJuggler
|
|
|
314
314
|
return 0.0 if startIdx >= endIdx || (task && !@duties.include?(task))
|
|
315
315
|
|
|
316
316
|
# The unique key we use to address the result in the cache.
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
317
|
+
@dCache.cached(self, :ResourceScenarioEffectiveWork, startIdx, endIdx,
|
|
318
|
+
task) do
|
|
319
|
+
# Convert the interval dates to indexes if needed.
|
|
320
|
+
startIdx = @project.dateToIdx(startIdx) if startIdx.is_a?(TjTime)
|
|
321
|
+
endIdx = @project.dateToIdx(endIdx) if endIdx.is_a?(TjTime)
|
|
322
|
+
|
|
323
|
+
work = 0.0
|
|
324
|
+
if @property.container?
|
|
325
|
+
@property.kids.each do |resource|
|
|
326
|
+
work += resource.getEffectiveWork(@scenarioIdx, startIdx, endIdx,
|
|
327
|
+
task)
|
|
328
|
+
end
|
|
329
|
+
else
|
|
330
|
+
unless @scoreboard.nil?
|
|
331
|
+
work = @project.convertToDailyLoad(
|
|
332
|
+
getAllocatedSlots(startIdx, endIdx, task) *
|
|
333
|
+
@project['scheduleGranularity']) * @efficiency
|
|
334
|
+
end
|
|
330
335
|
end
|
|
331
|
-
|
|
332
|
-
return 0.0 if @scoreboard.nil?
|
|
333
|
-
|
|
334
|
-
work = @project.convertToDailyLoad(
|
|
335
|
-
getAllocatedSlots(startIdx, endIdx, task) *
|
|
336
|
-
@project['scheduleGranularity']) * @efficiency
|
|
336
|
+
work
|
|
337
337
|
end
|
|
338
|
-
@dCache.store(work, key)
|
|
339
338
|
end
|
|
340
339
|
|
|
341
340
|
# Returns the allocated accumulated time of this resource and its children.
|
|
@@ -872,7 +872,11 @@ class TaskJuggler
|
|
|
872
872
|
# least one specified end date and a duration criteria or the other end
|
|
873
873
|
# date.
|
|
874
874
|
def readyForScheduling?
|
|
875
|
-
|
|
875
|
+
# If the tasks has already been scheduled, we still call it 'ready' so
|
|
876
|
+
# it will be removed from the todo list.
|
|
877
|
+
return true if @scheduled
|
|
878
|
+
|
|
879
|
+
return false if @isRunAway
|
|
876
880
|
|
|
877
881
|
if @forward
|
|
878
882
|
return true if @start && (hasDurationSpec? || @end)
|
|
@@ -888,6 +892,9 @@ class TaskJuggler
|
|
|
888
892
|
# or end date has been determined and other tasks may be ready for
|
|
889
893
|
# scheduling now.
|
|
890
894
|
def schedule
|
|
895
|
+
# Check if the task has already been scheduled e. g. by propagateDate().
|
|
896
|
+
return true if @scheduled
|
|
897
|
+
|
|
891
898
|
# Compute the date of the next slot this task wants to have scheduled.
|
|
892
899
|
# This must either be the first slot ever or it must be directly
|
|
893
900
|
# adjecent to the previous slot. If this task has not yet been scheduled
|
|
@@ -1428,8 +1435,7 @@ class TaskJuggler
|
|
|
1428
1435
|
return 0.0 if @milestone || startIdx >= endIdx ||
|
|
1429
1436
|
(resource && !@assignedresources.include?(resource))
|
|
1430
1437
|
|
|
1431
|
-
|
|
1432
|
-
@dCache.cached(key) do
|
|
1438
|
+
@dCache.cached(self, :TaskScenarioAllocatedTime, startIdx, endIdx, resource) do
|
|
1433
1439
|
allocatedTime = 0.0
|
|
1434
1440
|
if @property.container?
|
|
1435
1441
|
@property.kids.each do |task|
|
|
@@ -1459,8 +1465,7 @@ class TaskJuggler
|
|
|
1459
1465
|
return 0.0 if @milestone || startIdx >= endIdx ||
|
|
1460
1466
|
(resource && !@assignedresources.include?(resource))
|
|
1461
1467
|
|
|
1462
|
-
|
|
1463
|
-
@dCache.cached(key) do
|
|
1468
|
+
@dCache.cached(self, :TaskScenarioEffectiveWork, startIdx, endIdx, resource) do
|
|
1464
1469
|
workLoad = 0.0
|
|
1465
1470
|
if @property.container?
|
|
1466
1471
|
@property.kids.each do |task|
|
|
@@ -1488,9 +1493,7 @@ class TaskJuggler
|
|
|
1488
1493
|
# This function is often called recursively for the same parameters. We
|
|
1489
1494
|
# store the results in the cache to avoid repeated computations of the
|
|
1490
1495
|
# same results.
|
|
1491
|
-
|
|
1492
|
-
@dCache.cached(key) do
|
|
1493
|
-
workLoad = @dCache.load(key)
|
|
1496
|
+
@dCache.cached(self, :TaskScenarioCollectTimeOffIntervals, iv, minDuration) do
|
|
1494
1497
|
il = IntervalList.new
|
|
1495
1498
|
il << TimeInterval.new(@project['start'], @project['end'])
|
|
1496
1499
|
if @property.leaf?
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
require 'taskjuggler/UTF8String'
|
|
15
15
|
require 'taskjuggler/AppConfig'
|
|
16
16
|
|
|
17
|
-
AppConfig.version = '0.2.
|
|
17
|
+
AppConfig.version = '0.2.1'
|
|
18
18
|
AppConfig.packageName = 'taskjuggler'
|
|
19
19
|
AppConfig.softwareName = 'TaskJuggler III'
|
|
20
20
|
AppConfig.packageInfo = 'A Project Management Software'
|
data/prj_cfg.rb
CHANGED
|
@@ -45,6 +45,6 @@ RAKEFILE = 'Rakefile'
|
|
|
45
45
|
PRJ_FILE = 'prj_cfg.rb'
|
|
46
46
|
GEM_SPEC_FILE = 'gem_spec.rb'
|
|
47
47
|
DATA_FILES = FileList["benchmarks/**/*", "examples/**/*", "manual/*", "test/all.rb", "test/MessageChecker.rb", "test/TestSuite/**/*", "spec/**/*", "data/**/*"]
|
|
48
|
-
DEPENDENCIES = { 'mail' => '2.2.15' }
|
|
49
|
-
DEVEL_DEPENDENCIES = { 'rcov' => '0.9.9',
|
|
50
|
-
'rspec' => '2.5.0' }
|
|
48
|
+
DEPENDENCIES = { 'mail' => '>= 2.2.15' }
|
|
49
|
+
DEVEL_DEPENDENCIES = { 'rcov' => '>= 0.9.9',
|
|
50
|
+
'rspec' => '>= 2.5.0' }
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
project prj "DST Test" "1.0" 2012-09-01-00:00-+0000 - 2012-10-31-20:00-+0000 {
|
|
2
|
+
timezone "UTC"
|
|
3
|
+
scenario plan "Plan Scenario" {
|
|
4
|
+
active yes
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
projectids prj
|
|
9
|
+
|
|
10
|
+
resource r "R"
|
|
11
|
+
|
|
12
|
+
task t "T" {
|
|
13
|
+
start 2012-09-03-09:00-+0000
|
|
14
|
+
end 2012-10-12-17:00-+0000
|
|
15
|
+
scheduling asap
|
|
16
|
+
scheduled
|
|
17
|
+
}
|
|
18
|
+
supplement task t {
|
|
19
|
+
booking r 2012-09-03-09:00-+0000 + 8.0h,
|
|
20
|
+
2012-09-04-09:00-+0000 + 8.0h,
|
|
21
|
+
2012-09-05-09:00-+0000 + 8.0h,
|
|
22
|
+
2012-09-06-09:00-+0000 + 8.0h,
|
|
23
|
+
2012-09-07-09:00-+0000 + 8.0h,
|
|
24
|
+
2012-09-10-09:00-+0000 + 8.0h,
|
|
25
|
+
2012-09-11-09:00-+0000 + 8.0h,
|
|
26
|
+
2012-09-12-09:00-+0000 + 8.0h,
|
|
27
|
+
2012-09-13-09:00-+0000 + 8.0h,
|
|
28
|
+
2012-09-14-09:00-+0000 + 8.0h,
|
|
29
|
+
2012-09-17-09:00-+0000 + 8.0h,
|
|
30
|
+
2012-09-18-09:00-+0000 + 8.0h,
|
|
31
|
+
2012-09-19-09:00-+0000 + 8.0h,
|
|
32
|
+
2012-09-20-09:00-+0000 + 8.0h,
|
|
33
|
+
2012-09-21-09:00-+0000 + 8.0h,
|
|
34
|
+
2012-09-24-09:00-+0000 + 8.0h,
|
|
35
|
+
2012-09-25-09:00-+0000 + 8.0h,
|
|
36
|
+
2012-09-26-09:00-+0000 + 8.0h,
|
|
37
|
+
2012-09-27-09:00-+0000 + 8.0h,
|
|
38
|
+
2012-09-28-09:00-+0000 + 8.0h,
|
|
39
|
+
2012-10-01-09:00-+0000 + 8.0h,
|
|
40
|
+
2012-10-02-09:00-+0000 + 8.0h,
|
|
41
|
+
2012-10-03-09:00-+0000 + 8.0h,
|
|
42
|
+
2012-10-04-09:00-+0000 + 8.0h,
|
|
43
|
+
2012-10-05-09:00-+0000 + 8.0h,
|
|
44
|
+
2012-10-08-09:00-+0000 + 8.0h,
|
|
45
|
+
2012-10-09-09:00-+0000 + 8.0h,
|
|
46
|
+
2012-10-10-09:00-+0000 + 8.0h,
|
|
47
|
+
2012-10-11-09:00-+0000 + 8.0h,
|
|
48
|
+
2012-10-12-09:00-+0000 + 8.0h { overtime 2 }
|
|
49
|
+
priority 500
|
|
50
|
+
projectid prj
|
|
51
|
+
}
|
|
52
|
+
supplement resource r {
|
|
53
|
+
workinghours sun off
|
|
54
|
+
workinghours mon 9:00 - 17:00
|
|
55
|
+
workinghours tue 9:00 - 17:00
|
|
56
|
+
workinghours wed 9:00 - 17:00
|
|
57
|
+
workinghours thu 9:00 - 17:00
|
|
58
|
+
workinghours fri 9:00 - 17:00
|
|
59
|
+
workinghours sat off
|
|
60
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
project prj "Release Plan" "1.0" 2010-11-10-00:00-+0000 - 2011-02-09-06:00-+0000 {
|
|
2
|
+
timezone "UTC"
|
|
3
|
+
scenario plan "Plan Scenario" {
|
|
4
|
+
active yes
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
projectids prj
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
task merge "Merge Window" {
|
|
12
|
+
start 2010-11-10-00:00-+0000
|
|
13
|
+
end 2010-11-24-00:00-+0000
|
|
14
|
+
scheduling asap
|
|
15
|
+
scheduled
|
|
16
|
+
}
|
|
17
|
+
task b1 "Beta 1" {
|
|
18
|
+
depends merge
|
|
19
|
+
start 2010-11-24-00:00-+0000
|
|
20
|
+
milestone
|
|
21
|
+
scheduled
|
|
22
|
+
}
|
|
23
|
+
task b2 "Beta 2" {
|
|
24
|
+
depends b1
|
|
25
|
+
start 2010-12-01-00:00-+0000
|
|
26
|
+
milestone
|
|
27
|
+
scheduled
|
|
28
|
+
}
|
|
29
|
+
task b3 "Beta 3" {
|
|
30
|
+
depends b2
|
|
31
|
+
start 2010-12-08-00:00-+0000
|
|
32
|
+
milestone
|
|
33
|
+
scheduled
|
|
34
|
+
}
|
|
35
|
+
task b4 "Beta 4" {
|
|
36
|
+
depends b3
|
|
37
|
+
start 2010-12-15-00:00-+0000
|
|
38
|
+
milestone
|
|
39
|
+
scheduled
|
|
40
|
+
}
|
|
41
|
+
task b5 "Beta 5" {
|
|
42
|
+
depends b4
|
|
43
|
+
start 2010-12-22-00:00-+0000
|
|
44
|
+
milestone
|
|
45
|
+
scheduled
|
|
46
|
+
}
|
|
47
|
+
task final "Final Release" {
|
|
48
|
+
depends b5
|
|
49
|
+
start 2010-12-29-00:00-+0000
|
|
50
|
+
milestone
|
|
51
|
+
scheduled
|
|
52
|
+
}
|
|
53
|
+
supplement task merge {
|
|
54
|
+
priority 500
|
|
55
|
+
projectid prj
|
|
56
|
+
}
|
|
57
|
+
supplement task b1 {
|
|
58
|
+
priority 500
|
|
59
|
+
projectid prj
|
|
60
|
+
}
|
|
61
|
+
supplement task b2 {
|
|
62
|
+
priority 500
|
|
63
|
+
projectid prj
|
|
64
|
+
}
|
|
65
|
+
supplement task b3 {
|
|
66
|
+
priority 500
|
|
67
|
+
projectid prj
|
|
68
|
+
}
|
|
69
|
+
supplement task b4 {
|
|
70
|
+
priority 500
|
|
71
|
+
projectid prj
|
|
72
|
+
}
|
|
73
|
+
supplement task b5 {
|
|
74
|
+
priority 500
|
|
75
|
+
projectid prj
|
|
76
|
+
}
|
|
77
|
+
supplement task final {
|
|
78
|
+
priority 500
|
|
79
|
+
projectid prj
|
|
80
|
+
}
|