taskjuggler 0.0.5 → 0.0.6
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 +2086 -0
- data/benchmarks/666tasks.tjp +3183 -0
- data/benchmarks/booking.tjp +14 -10
- data/doc/AppConfig.html +95 -73
- data/doc/Arguments.html +22 -2
- data/doc/CHANGELOG.html +2587 -0
- data/doc/COPYING.html +21 -1
- data/doc/Object.html +161 -122
- data/doc/README.html +21 -1
- data/doc/RuntimeConfig.html +26 -6
- data/doc/String.html +38 -18
- data/doc/StringIO.html +579 -0
- data/doc/TaskJuggler.html +251 -143
- data/doc/TaskJuggler/Account.html +26 -6
- data/doc/TaskJuggler/AccountAttribute.html +28 -8
- data/doc/TaskJuggler/AccountScenario.html +24 -4
- data/doc/TaskJuggler/Allocation.html +30 -10
- data/doc/TaskJuggler/AllocationAttribute.html +28 -8
- data/doc/TaskJuggler/AttributeBase.html +46 -26
- data/doc/TaskJuggler/AttributeDefinition.html +22 -2
- data/doc/TaskJuggler/BatchProcessor.html +40 -20
- data/doc/TaskJuggler/Booking.html +26 -6
- data/doc/TaskJuggler/BookingListAttribute.html +28 -8
- data/doc/TaskJuggler/BooleanAttribute.html +28 -8
- data/doc/TaskJuggler/CSVFile.html +308 -146
- data/doc/TaskJuggler/CellSettingPattern.html +22 -2
- data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
- data/doc/TaskJuggler/Charge.html +26 -6
- data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
- data/doc/TaskJuggler/ChargeSet.html +33 -13
- data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
- data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
- data/doc/TaskJuggler/ColumnTable.html +24 -4
- data/doc/TaskJuggler/Daemon.html +26 -6
- data/doc/TaskJuggler/DateAttribute.html +26 -6
- data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
- data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
- data/doc/TaskJuggler/DurationAttribute.html +28 -8
- data/doc/TaskJuggler/FixnumAttribute.html +24 -4
- data/doc/TaskJuggler/FlagListAttribute.html +28 -8
- data/doc/TaskJuggler/FloatAttribute.html +26 -6
- data/doc/TaskJuggler/FormatListAttribute.html +24 -4
- data/doc/TaskJuggler/GanttChart.html +147 -126
- data/doc/TaskJuggler/GanttContainer.html +34 -14
- data/doc/TaskJuggler/GanttHeader.html +28 -8
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
- data/doc/TaskJuggler/GanttLine.html +38 -18
- data/doc/TaskJuggler/GanttLoadStack.html +26 -6
- data/doc/TaskJuggler/GanttMilestone.html +34 -14
- data/doc/TaskJuggler/GanttRouter.html +50 -30
- data/doc/TaskJuggler/GanttTaskBar.html +34 -14
- data/doc/TaskJuggler/HTMLDocument.html +26 -6
- data/doc/TaskJuggler/HTMLGraphics.html +30 -10
- data/doc/TaskJuggler/Interval.html +40 -22
- data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
- data/doc/TaskJuggler/JobInfo.html +24 -4
- data/doc/TaskJuggler/Journal.html +226 -147
- data/doc/TaskJuggler/JournalEntry.html +22 -2
- data/doc/TaskJuggler/JournalEntryList.html +129 -112
- data/doc/TaskJuggler/KeywordArray.html +26 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
- data/doc/TaskJuggler/Limits.html +152 -123
- data/doc/TaskJuggler/Limits/Limit.html +149 -70
- data/doc/TaskJuggler/LimitsAttribute.html +36 -51
- data/doc/TaskJuggler/ListAttributeBase.html +24 -4
- data/doc/TaskJuggler/Log.html +50 -32
- data/doc/TaskJuggler/LogFile.html +37 -17
- data/doc/TaskJuggler/LogicalAttribute.html +53 -33
- data/doc/TaskJuggler/LogicalExpression.html +26 -6
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
- data/doc/TaskJuggler/LogicalFlag.html +42 -22
- data/doc/TaskJuggler/LogicalFunction.html +204 -140
- data/doc/TaskJuggler/LogicalOperation.html +135 -111
- data/doc/TaskJuggler/Macro.html +22 -2
- data/doc/TaskJuggler/MacroParser.html +32 -12
- data/doc/TaskJuggler/MacroTable.html +32 -12
- data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
- data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
- data/doc/TaskJuggler/Message.html +24 -4
- data/doc/TaskJuggler/MessageHandler.html +24 -4
- data/doc/TaskJuggler/Navigator.html +104 -71
- data/doc/TaskJuggler/NavigatorElement.html +32 -12
- data/doc/TaskJuggler/NikuProject.html +22 -2
- data/doc/TaskJuggler/NikuReport.html +310 -228
- data/doc/TaskJuggler/NikuResource.html +22 -2
- data/doc/TaskJuggler/NodeListAttribute.html +615 -0
- data/doc/TaskJuggler/OnShiftCache.html +32 -12
- data/doc/TaskJuggler/ProcessIntercom.html +205 -78
- data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
- data/doc/TaskJuggler/Project.html +708 -660
- data/doc/TaskJuggler/ProjectBroker.html +506 -304
- data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
- data/doc/TaskJuggler/ProjectFileParser.html +429 -373
- data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
- data/doc/TaskJuggler/ProjectRecord.html +80 -60
- data/doc/TaskJuggler/ProjectServer.html +312 -237
- data/doc/TaskJuggler/ProjectServerIface.html +101 -43
- data/doc/TaskJuggler/PropertyAttribute.html +32 -12
- data/doc/TaskJuggler/PropertyList.html +166 -145
- data/doc/TaskJuggler/PropertySet.html +254 -224
- data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
- data/doc/TaskJuggler/Query.html +169 -148
- data/doc/TaskJuggler/RTFHandlers.html +622 -0
- data/doc/TaskJuggler/RTFNavigator.html +28 -8
- data/doc/TaskJuggler/RTFQuery.html +40 -20
- data/doc/TaskJuggler/RTFReport.html +62 -25
- data/doc/TaskJuggler/RTFReportLink.html +765 -0
- data/doc/TaskJuggler/RealFormat.html +26 -6
- data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
- data/doc/TaskJuggler/Report.html +402 -251
- data/doc/TaskJuggler/ReportBase.html +162 -137
- data/doc/TaskJuggler/ReportContext.html +112 -29
- data/doc/TaskJuggler/ReportServer.html +89 -64
- data/doc/TaskJuggler/ReportServerIface.html +75 -55
- data/doc/TaskJuggler/ReportServerRecord.html +54 -31
- data/doc/TaskJuggler/ReportServlet.html +980 -0
- data/doc/TaskJuggler/ReportTable.html +41 -21
- data/doc/TaskJuggler/ReportTableCell.html +214 -170
- data/doc/TaskJuggler/ReportTableColumn.html +30 -10
- data/doc/TaskJuggler/ReportTableLegend.html +36 -16
- data/doc/TaskJuggler/ReportTableLine.html +32 -12
- data/doc/TaskJuggler/Resource.html +99 -87
- data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
- data/doc/TaskJuggler/ResourceListRE.html +47 -26
- data/doc/TaskJuggler/ResourceScenario.html +403 -437
- data/doc/TaskJuggler/RichText.html +26 -6
- data/doc/TaskJuggler/RichTextAttribute.html +50 -30
- data/doc/TaskJuggler/RichTextDocument.html +37 -17
- data/doc/TaskJuggler/RichTextElement.html +475 -413
- data/doc/TaskJuggler/RichTextException.html +22 -2
- data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
- data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
- data/doc/TaskJuggler/RichTextImage.html +22 -2
- data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
- data/doc/TaskJuggler/RichTextParser.html +56 -34
- data/doc/TaskJuggler/RichTextScanner.html +82 -61
- data/doc/TaskJuggler/RichTextSnip.html +34 -14
- data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
- data/doc/TaskJuggler/Scenario.html +22 -2
- data/doc/TaskJuggler/ScenarioData.html +30 -46
- data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
- data/doc/TaskJuggler/Scoreboard.html +42 -22
- data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
- data/doc/TaskJuggler/SheetReceiver.html +333 -295
- data/doc/TaskJuggler/SheetSender.html +253 -230
- data/doc/TaskJuggler/Shift.html +26 -6
- data/doc/TaskJuggler/ShiftAssignment.html +89 -73
- data/doc/TaskJuggler/ShiftAssignments.html +226 -234
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
- data/doc/TaskJuggler/ShiftScenario.html +28 -8
- data/doc/TaskJuggler/SortListAttribute.html +34 -14
- data/doc/TaskJuggler/SourceFileInfo.html +24 -4
- data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
- data/doc/TaskJuggler/StatusSheetReport.html +168 -153
- data/doc/TaskJuggler/StatusSheetSender.html +24 -3
- data/doc/TaskJuggler/StringAttribute.html +38 -18
- data/doc/TaskJuggler/SymbolAttribute.html +32 -12
- data/doc/TaskJuggler/SyntaxReference.html +40 -20
- data/doc/TaskJuggler/TOCEntry.html +26 -6
- data/doc/TaskJuggler/TSResourceRecord.html +22 -2
- data/doc/TaskJuggler/TSTaskRecord.html +22 -2
- data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
- data/doc/TaskJuggler/TableOfContents.html +26 -6
- data/doc/TaskJuggler/TableReport.html +937 -904
- data/doc/TaskJuggler/Task.html +55 -36
- data/doc/TaskJuggler/TaskDependency.html +24 -4
- data/doc/TaskJuggler/TaskListAttribute.html +50 -30
- data/doc/TaskJuggler/TaskListRE.html +27 -7
- data/doc/TaskJuggler/TaskScenario.html +1273 -1153
- data/doc/TaskJuggler/TextFormatter.html +28 -8
- data/doc/TaskJuggler/TextParser.html +585 -338
- data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
- data/doc/TaskJuggler/TextParser/Rule.html +95 -73
- data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
- data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
- data/doc/TaskJuggler/TextReport.html +28 -8
- data/doc/TaskJuggler/TextScanner.html +400 -1404
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
- data/doc/TaskJuggler/TimeSheet.html +48 -28
- data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
- data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
- data/doc/TaskJuggler/TimeSheetReport.html +154 -133
- data/doc/TaskJuggler/TimeSheetSender.html +24 -3
- data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
- data/doc/TaskJuggler/TimeSheets.html +26 -6
- data/doc/TaskJuggler/Tj3AppBase.html +85 -58
- data/doc/TaskJuggler/Tj3Client.html +292 -238
- data/doc/TaskJuggler/Tj3Daemon.html +159 -74
- data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
- data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
- data/doc/TaskJuggler/Tj3SsSender.html +53 -26
- data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
- data/doc/TaskJuggler/Tj3TsSender.html +26 -6
- data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
- data/doc/TaskJuggler/TjException.html +22 -2
- data/doc/TaskJuggler/TjTime.html +216 -160
- data/doc/TaskJuggler/TjpExample.html +34 -14
- data/doc/TaskJuggler/TjpExportRE.html +403 -407
- data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
- data/doc/TaskJuggler/URLParameter.html +649 -0
- data/doc/TaskJuggler/UserManual.html +42 -22
- data/doc/TaskJuggler/WebServer.html +702 -0
- data/doc/TaskJuggler/WorkingHours.html +38 -18
- data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
- data/doc/TaskJuggler/XMLBlob.html +24 -4
- data/doc/TaskJuggler/XMLComment.html +24 -4
- data/doc/TaskJuggler/XMLDocument.html +30 -10
- data/doc/TaskJuggler/XMLElement.html +34 -14
- data/doc/TaskJuggler/XMLNamedText.html +22 -2
- data/doc/TaskJuggler/XMLText.html +24 -4
- data/doc/index.html +1841 -1666
- data/doc/lib/AccountScenario_rb.html +1 -1
- data/doc/lib/Account_rb.html +1 -1
- data/doc/lib/Allocation_rb.html +1 -1
- data/doc/lib/AppConfig_rb.html +2 -2
- data/doc/lib/AttributeBase_rb.html +1 -1
- data/doc/lib/AttributeDefinition_rb.html +1 -1
- data/doc/lib/Attributes_rb.html +2 -2
- data/doc/lib/BatchProcessor_rb.html +1 -1
- data/doc/lib/Booking_rb.html +1 -1
- data/doc/lib/ChargeSet_rb.html +1 -1
- data/doc/lib/Charge_rb.html +1 -1
- data/doc/lib/HTMLDocument_rb.html +1 -1
- data/doc/lib/Interval_rb.html +1 -1
- data/doc/lib/Journal_rb.html +2 -2
- data/doc/lib/KeywordArray_rb.html +1 -1
- data/doc/lib/KeywordDocumentation_rb.html +1 -1
- data/doc/lib/Limits_rb.html +2 -2
- data/doc/lib/LogFile_rb.html +2 -2
- data/doc/lib/Log_rb.html +1 -1
- data/doc/lib/LogicalExpression_rb.html +1 -1
- data/doc/lib/LogicalFunction_rb.html +2 -2
- data/doc/lib/LogicalOperation_rb.html +2 -2
- data/doc/lib/MacroParser_rb.html +1 -1
- data/doc/lib/MacroTable_rb.html +1 -1
- data/doc/lib/MessageHandler_rb.html +1 -1
- data/doc/lib/Message_rb.html +1 -1
- data/doc/lib/ProjectFileParser_rb.html +4 -8
- data/doc/lib/ProjectFileScanner_rb.html +67 -0
- data/doc/lib/Project_rb.html +2 -2
- data/doc/lib/PropertyList_rb.html +2 -2
- data/doc/lib/PropertySet_rb.html +2 -2
- data/doc/lib/PropertyTreeNode_rb.html +2 -2
- data/doc/lib/Query_rb.html +2 -2
- data/doc/lib/RTFHandlers_rb.html +73 -0
- data/doc/lib/RTFNavigator_rb.html +1 -1
- data/doc/lib/RTFQuery_rb.html +1 -1
- data/doc/lib/RTFReportLink_rb.html +71 -0
- data/doc/lib/RTFReport_rb.html +2 -2
- data/doc/lib/RealFormat_rb.html +1 -1
- data/doc/lib/ResourceScenario_rb.html +2 -2
- data/doc/lib/Resource_rb.html +2 -2
- data/doc/lib/RichTextDocument_rb.html +1 -1
- data/doc/lib/RichTextElement_rb.html +2 -2
- data/doc/lib/RichTextFunctionExample_rb.html +1 -1
- data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
- data/doc/lib/RichTextParser_rb.html +2 -2
- data/doc/lib/RichTextScanner_rb.html +2 -2
- data/doc/lib/RichTextSnip_rb.html +1 -1
- data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
- data/doc/lib/RichText_rb.html +1 -1
- data/doc/lib/RuntimeConfig_rb.html +1 -1
- data/doc/lib/ScenarioData_rb.html +2 -2
- data/doc/lib/Scenario_rb.html +1 -1
- data/doc/lib/Scoreboard_rb.html +1 -1
- data/doc/lib/SheetHandlerBase_rb.html +1 -1
- data/doc/lib/SheetReceiver_rb.html +2 -2
- data/doc/lib/SheetSender_rb.html +4 -2
- data/doc/lib/ShiftAssignments_rb.html +4 -2
- data/doc/lib/ShiftScenario_rb.html +1 -1
- data/doc/lib/Shift_rb.html +1 -1
- data/doc/lib/SourceFileInfo_rb.html +1 -1
- data/doc/lib/StatusSheetReceiver_rb.html +2 -2
- data/doc/lib/StatusSheetSender_rb.html +2 -2
- data/doc/lib/SyntaxReference_rb.html +1 -1
- data/doc/lib/TOCEntry_rb.html +1 -1
- data/doc/lib/TableColumnDefinition_rb.html +2 -2
- data/doc/lib/TableOfContents_rb.html +1 -1
- data/doc/lib/TaskDependency_rb.html +1 -1
- data/doc/lib/TaskJuggler_rb.html +2 -2
- data/doc/lib/TaskScenario_rb.html +2 -2
- data/doc/lib/Task_rb.html +2 -2
- data/doc/lib/TextFormatter_rb.html +1 -1
- data/doc/lib/TextParser/Pattern_rb.html +1 -1
- data/doc/lib/TextParser/Rule_rb.html +2 -2
- data/doc/lib/TextParser/StackElement_rb.html +2 -2
- data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
- data/doc/lib/TextParser_rb.html +2 -2
- data/doc/lib/TextScanner_rb.html +6 -2
- data/doc/lib/TimeSheetReceiver_rb.html +2 -2
- data/doc/lib/TimeSheetSender_rb.html +2 -2
- data/doc/lib/TimeSheetSummary_rb.html +2 -2
- data/doc/lib/TimeSheets_rb.html +2 -2
- data/doc/lib/Tj3AppBase_rb.html +2 -2
- data/doc/lib/Tj3Config_rb.html +2 -2
- data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
- data/doc/lib/TjException_rb.html +1 -1
- data/doc/lib/TjTime_rb.html +2 -2
- data/doc/lib/TjpExample_rb.html +1 -1
- data/doc/lib/TjpSyntaxRules_rb.html +2 -2
- data/doc/lib/URLParameter_rb.html +67 -0
- data/doc/lib/UTF8String_rb.html +1 -1
- data/doc/lib/UserManual_rb.html +1 -1
- data/doc/lib/WorkingHours_rb.html +1 -1
- data/doc/lib/XMLDocument_rb.html +2 -2
- data/doc/lib/XMLElement_rb.html +1 -1
- data/doc/lib/daemon/Daemon_rb.html +1 -1
- data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
- data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
- data/doc/lib/daemon/ProjectServer_rb.html +2 -2
- data/doc/lib/daemon/ReportServer_rb.html +2 -2
- data/doc/lib/daemon/WebServer_rb.html +75 -0
- data/doc/lib/deep_copy_rb.html +2 -2
- data/doc/lib/reports/CSVFile_rb.html +2 -2
- data/doc/lib/reports/ColumnTable_rb.html +1 -1
- data/doc/lib/reports/GanttChart_rb.html +2 -2
- data/doc/lib/reports/GanttContainer_rb.html +1 -1
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
- data/doc/lib/reports/GanttHeader_rb.html +1 -1
- data/doc/lib/reports/GanttLine_rb.html +1 -1
- data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
- data/doc/lib/reports/GanttMilestone_rb.html +1 -1
- data/doc/lib/reports/GanttRouter_rb.html +1 -1
- data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
- data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
- data/doc/lib/reports/Navigator_rb.html +2 -2
- data/doc/lib/reports/NikuReport_rb.html +2 -2
- data/doc/lib/reports/ReportBase_rb.html +2 -2
- data/doc/lib/reports/ReportContext_rb.html +2 -2
- data/doc/lib/reports/ReportTableCell_rb.html +2 -2
- data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
- data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
- data/doc/lib/reports/ReportTableLine_rb.html +1 -1
- data/doc/lib/reports/ReportTable_rb.html +2 -2
- data/doc/lib/reports/Report_rb.html +2 -2
- data/doc/lib/reports/ResourceListRE_rb.html +2 -2
- data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
- data/doc/lib/reports/TableReport_rb.html +2 -2
- data/doc/lib/reports/TaskListRE_rb.html +2 -2
- data/doc/lib/reports/TextReport_rb.html +1 -1
- data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
- data/doc/lib/reports/TjpExportRE_rb.html +2 -2
- data/doc/lib/ruby-signal-bug_rb.html +1 -1
- data/doc/lib/taskjuggler3_rb.html +2 -2
- data/doc/lib/tj3client_rb.html +2 -2
- data/doc/lib/tj3d_rb.html +2 -2
- data/doc/lib/tj3man_rb.html +1 -1
- data/doc/lib/tj3ss_receiver_rb.html +1 -1
- data/doc/lib/tj3ss_sender_rb.html +2 -2
- data/doc/lib/tj3ts_receiver_rb.html +2 -2
- data/doc/lib/tj3ts_sender_rb.html +1 -1
- data/doc/lib/tj3ts_summary_rb.html +1 -1
- data/doc/rdoc.css +9 -4
- data/examples/tutorial.tjp +17 -15
- data/gem_spec.rb +3 -0
- data/lib/AppConfig.rb +3 -1
- data/lib/Attributes.rb +10 -8
- data/lib/Journal.rb +55 -20
- data/lib/Limits.rb +72 -46
- data/lib/LogFile.rb +3 -3
- data/lib/LogicalFunction.rb +19 -6
- data/lib/LogicalOperation.rb +5 -1
- data/lib/Project.rb +37 -9
- data/lib/ProjectFileParser.rb +25 -22
- data/lib/ProjectFileScanner.rb +365 -0
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +14 -4
- data/lib/PropertyTreeNode.rb +42 -29
- data/lib/Query.rb +3 -1
- data/lib/RTFHandlers.rb +35 -0
- data/lib/RTFReport.rb +23 -6
- data/lib/RTFReportLink.rb +72 -0
- data/lib/Resource.rb +8 -16
- data/lib/ResourceScenario.rb +1 -22
- data/lib/RichTextElement.rb +42 -0
- data/lib/RichTextParser.rb +6 -4
- data/lib/RichTextScanner.rb +5 -5
- data/lib/RichTextSyntaxRules.rb +48 -10
- data/lib/ScenarioData.rb +5 -3
- data/lib/SheetReceiver.rb +24 -6
- data/lib/SheetSender.rb +17 -13
- data/lib/ShiftAssignments.rb +56 -52
- data/lib/StatusSheetReceiver.rb +1 -0
- data/lib/StatusSheetSender.rb +1 -0
- data/lib/TableColumnDefinition.rb +4 -2
- data/lib/Task.rb +8 -9
- data/lib/TaskJuggler.rb +21 -11
- data/lib/TaskScenario.rb +61 -26
- data/lib/TextParser.rb +268 -106
- data/lib/TextParser/Rule.rb +4 -2
- data/lib/TextParser/StackElement.rb +6 -4
- data/lib/TextScanner.rb +283 -700
- data/lib/TimeSheetReceiver.rb +1 -0
- data/lib/TimeSheetSender.rb +1 -0
- data/lib/TimeSheetSummary.rb +51 -26
- data/lib/TimeSheets.rb +1 -1
- data/lib/Tj3AppBase.rb +8 -1
- data/lib/Tj3Config.rb +1 -1
- data/lib/TjTime.rb +5 -0
- data/lib/TjpSyntaxRules.rb +360 -144
- data/lib/URLParameter.rb +30 -0
- data/lib/XMLDocument.rb +2 -2
- data/lib/daemon/ProcessIntercom.rb +50 -9
- data/lib/daemon/ProjectBroker.rb +63 -10
- data/lib/daemon/ProjectServer.rb +47 -16
- data/lib/daemon/ReportServer.rb +9 -4
- data/lib/daemon/WebServer.rb +204 -0
- data/lib/deep_copy.rb +4 -1
- data/lib/reports/CSVFile.rb +150 -66
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/Navigator.rb +18 -5
- data/lib/reports/NikuReport.rb +32 -2
- data/lib/reports/Report.rb +65 -37
- data/lib/reports/ReportBase.rb +14 -9
- data/lib/reports/ReportContext.rb +19 -4
- data/lib/reports/ReportTable.rb +2 -2
- data/lib/reports/ReportTableCell.rb +54 -30
- data/lib/reports/ResourceListRE.rb +4 -3
- data/lib/reports/StatusSheetReport.rb +8 -13
- data/lib/reports/TableReport.rb +47 -32
- data/lib/reports/TaskListRE.rb +3 -3
- data/lib/reports/TimeSheetReport.rb +14 -5
- data/lib/reports/TjpExportRE.rb +14 -19
- data/lib/taskjuggler3.rb +15 -0
- data/lib/tj3client.rb +9 -7
- data/lib/tj3d.rb +38 -10
- data/lib/tj3ss_sender.rb +7 -0
- data/lib/tj3ts_receiver.rb +1 -0
- data/manual/Day_To_Day_Juggling +1 -1
- data/manual/Rich_Text_Attributes +8 -0
- data/manual/TaskJuggler_2x_Migration +7 -0
- data/manual/The_TaskJuggler_Syntax +20 -6
- data/prj_cfg.rb +3 -2
- data/tasks/changelog.rake +36 -0
- data/tasks/csts.rake +2 -3
- data/tasks/gem.rake +10 -0
- data/tasks/missing.rake +0 -17
- data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
- data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
- data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
- data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
- data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
- data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
- data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
- data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
- data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
- data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
- data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
- data/test/TestSuite/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/run +3 -2
- data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
- data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
- data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
- data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
- data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
- data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
- data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
- data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
- data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
- data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
- data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
- data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
- data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
- data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
- data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
- data/test/TestSuite/TimeSheets/run +5 -5
- data/test/test_CSVFile.rb +75 -0
- data/test/test_Limits.rb +63 -5
- data/test/test_ProjectFileScanner.rb +163 -0
- data/test/test_ReportGenerator.rb +81 -0
- data/test/test_RichText.rb +21 -3
- data/test/test_Scheduler.rb +1 -1
- data/test/test_ShiftAssignments.rb +4 -4
- data/test/test_Syntax.rb +1 -1
- data/test/test_URLParameter.rb +30 -0
- metadata +126 -32
- data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
- data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
- data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
- data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
- data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
- data/test/TestSuite/TimeSheets/receiver.log +0 -102
- data/test/TestSuite/TimeSheets/sender.log +0 -794
- data/test/TestSuite/TimeSheets/summary.log +0 -884
- data/test/TestSuite/TimeSheets/timesheets.log +0 -45
- data/test/TestSuite/TimeSheets/tj3d.log +0 -292
- data/test/test_TextScanner.rb +0 -95
data/lib/tj3d.rb
CHANGED
|
@@ -31,6 +31,8 @@ class TaskJuggler
|
|
|
31
31
|
@log.appName = AppConfig.appName
|
|
32
32
|
@daemonize = true
|
|
33
33
|
@port = nil
|
|
34
|
+
@webServer = false
|
|
35
|
+
@webServerPort = nil
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
def processArguments(argv)
|
|
@@ -46,8 +48,19 @@ EOT
|
|
|
46
48
|
@daemonize = false
|
|
47
49
|
end
|
|
48
50
|
@opts.on('-p', '--port <NUMBER>', Integer,
|
|
49
|
-
format('Use the specified TCP/IP port'
|
|
50
|
-
|
|
51
|
+
format('Use the specified TCP/IP port to serve tj3client ' +
|
|
52
|
+
'requests (Default: 8474).')) do |arg|
|
|
53
|
+
@port = arg
|
|
54
|
+
end
|
|
55
|
+
@opts.on('-w', '--webserver',
|
|
56
|
+
format('Start a web server that serves the reports of ' +
|
|
57
|
+
'the loaded projects.')) do
|
|
58
|
+
@webServer = true
|
|
59
|
+
end
|
|
60
|
+
@opts.on('--webserver-port <NUMBER>', Integer,
|
|
61
|
+
format('Use the specified TCP/IP port to serve web browser ' +
|
|
62
|
+
'requests (Default: 8080).')) do |arg|
|
|
63
|
+
@webServerPort = arg
|
|
51
64
|
end
|
|
52
65
|
end
|
|
53
66
|
end
|
|
@@ -59,8 +72,30 @@ EOT
|
|
|
59
72
|
@rc.configure(@log, 'global.log')
|
|
60
73
|
@rc.configure(broker, 'global')
|
|
61
74
|
@rc.configure(broker, 'daemon')
|
|
75
|
+
|
|
76
|
+
# Set some config variables if corresponding data was provided via the
|
|
77
|
+
# command line.
|
|
62
78
|
broker.port = @port if @port
|
|
79
|
+
broker.enableWebServer = @webServer
|
|
80
|
+
broker.webServerPort = @webServerPort if @webServerPort
|
|
81
|
+
broker.projectFiles = sortInputFiles(files) unless files.empty?
|
|
82
|
+
broker.daemonize = @daemonize
|
|
83
|
+
|
|
84
|
+
broker.start
|
|
85
|
+
end
|
|
63
86
|
|
|
87
|
+
def error(message)
|
|
88
|
+
$stderr.puts "ERROR: #{message}"
|
|
89
|
+
exit 1
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
private
|
|
93
|
+
|
|
94
|
+
# Sort the provided input files into groups of projects. Each *.tjp file
|
|
95
|
+
# starts a new project. A *.tjp file may be followed by any number of
|
|
96
|
+
# *.tji files. The result is an Array of projects. Each consists of an
|
|
97
|
+
# Array like this: [ <working directory>, <tjp file> (, <tji file> ...) ].
|
|
98
|
+
def sortInputFiles(files)
|
|
64
99
|
projects = []
|
|
65
100
|
project = nil
|
|
66
101
|
files.each do |file|
|
|
@@ -92,14 +127,7 @@ EOT
|
|
|
92
127
|
end
|
|
93
128
|
end
|
|
94
129
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
broker.start(projects)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def error(message)
|
|
101
|
-
$stderr.puts "ERROR: #{message}"
|
|
102
|
-
exit 1
|
|
130
|
+
projects
|
|
103
131
|
end
|
|
104
132
|
|
|
105
133
|
end
|
data/lib/tj3ss_sender.rb
CHANGED
|
@@ -55,6 +55,13 @@ EOT
|
|
|
55
55
|
format('Filter expression to limit the resource list')) do |arg|
|
|
56
56
|
@hideResource = arg
|
|
57
57
|
end
|
|
58
|
+
@opts.on('-i', '--interval <DURATION>', String,
|
|
59
|
+
format('The duration of the interval. This is a number ' +
|
|
60
|
+
'directly followed by a unit. 1w means one week ' +
|
|
61
|
+
'(the default), 5d means 5 days and 72h means 72 ' +
|
|
62
|
+
'hours.')) do |arg|
|
|
63
|
+
@intervalDuration = arg
|
|
64
|
+
end
|
|
58
65
|
optsEndDate
|
|
59
66
|
end
|
|
60
67
|
end
|
data/lib/tj3ts_receiver.rb
CHANGED
data/manual/Day_To_Day_Juggling
CHANGED
|
@@ -753,7 +753,7 @@ Each time you review your project status you should generate such an include
|
|
|
753
753
|
file for the period that you are reviewing. Then you sync the content with the
|
|
754
754
|
feedback that you get from your resources and add the file to the project plan.
|
|
755
755
|
|
|
756
|
-
==== Status Sheets
|
|
756
|
+
==== Status Sheets ====
|
|
757
757
|
|
|
758
758
|
For larger projects with many contributors the flood of time sheets
|
|
759
759
|
can become hard to manage. Higher level managers are usually not
|
data/manual/Rich_Text_Attributes
CHANGED
|
@@ -141,6 +141,14 @@ The report generator inserts the referenced report as a new block
|
|
|
141
141
|
of this text. The referenced report inherits some context such as the
|
|
142
142
|
report period and the property set from the referencing report.
|
|
143
143
|
----
|
|
144
|
+
'''Inline Generator''' ''''reportlink''''
|
|
145
|
+
|
|
146
|
+
Paramters:
|
|
147
|
+
|
|
148
|
+
* ''''id'''' : ID of a defined [[report]]
|
|
149
|
+
|
|
150
|
+
The report link generator inserts a link to the referenced report.
|
|
151
|
+
----
|
|
144
152
|
'''Inline Generator''' ''''query''''
|
|
145
153
|
|
|
146
154
|
Paramters:
|
|
@@ -64,6 +64,13 @@ format.
|
|
|
64
64
|
optional. If you don't need to reference a property, you can omit the
|
|
65
65
|
ID. TaskJuggler will automatically assign an ID then.
|
|
66
66
|
|
|
67
|
+
* The syntax for macros has changed slightly. The terminating
|
|
68
|
+
''''<nowiki>]</nowiki>'''' must be the last character before the
|
|
69
|
+
line break. No spaces or comments are allowed here. Parameters of
|
|
70
|
+
macro calls must always be enclosed by double quotes. In contrast to
|
|
71
|
+
regular strings, single quotes are not allowed here. The parameter
|
|
72
|
+
may not span multiple lines.
|
|
73
|
+
|
|
67
74
|
=== Using TaskJuggler 2.x and TaskJuggler 3.x in parallel ===
|
|
68
75
|
|
|
69
76
|
While TaskJuggler 3.x has many new features over TaskJuggler 2.x like
|
|
@@ -70,14 +70,28 @@ double quotes.
|
|
|
70
70
|
"This is a double quoted string."
|
|
71
71
|
|
|
72
72
|
Single quoted strings may contain double quotes and vice versa.
|
|
73
|
+
Alternatively, you can prefix the quote mark with a backslash to use
|
|
74
|
+
it within a string.
|
|
73
75
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
'It\'s a string with a quote included.'
|
|
77
|
+
|
|
78
|
+
If you want to use a backslash right before the included quote you
|
|
79
|
+
need to escape the backslash with another backslash. Backslashes that
|
|
80
|
+
aren't followed by a quote mark don't need to be escaped.
|
|
81
|
+
|
|
82
|
+
'A backslash \\\' followed by a quote.'
|
|
83
|
+
|
|
84
|
+
For multi-line strings or strings with many included quotes cut mark
|
|
85
|
+
strings are recommended. A cut-mark-string starts with
|
|
86
|
+
''''<nowiki>-8<-</nowiki>'''' (scissor on a dotted line) and ends with
|
|
87
|
+
''''->8-''''(scissors looking the other way). The start mark must be
|
|
77
88
|
immediately followed by a line break. The indentation of the first
|
|
78
|
-
line must be repeated for all following
|
|
79
|
-
included in the resulting strings. The
|
|
80
|
-
be preceded by white spaces in that
|
|
89
|
+
line after the opening scissors must be repeated for all following
|
|
90
|
+
lines of the string and is not included in the resulting strings. The
|
|
91
|
+
terminating cut mark must only be preceded by white spaces in that
|
|
92
|
+
line. When considering the indentation, tabs are not identical with
|
|
93
|
+
some number of spaces. Each indented line must be prefixed by the
|
|
94
|
+
exact same combination of tabs and spaces.
|
|
81
95
|
|
|
82
96
|
-8<-
|
|
83
97
|
This is a
|
data/prj_cfg.rb
CHANGED
|
@@ -35,7 +35,7 @@ MANUAL_DIR = 'manual'
|
|
|
35
35
|
|
|
36
36
|
# FILES
|
|
37
37
|
README = FileList['README']
|
|
38
|
-
|
|
38
|
+
CHANGELOG = 'CHANGELOG'
|
|
39
39
|
LICENSE = 'COPYING'
|
|
40
40
|
DESCRIPTION = <<'EOT'
|
|
41
41
|
TaskJuggler is a project management software that goes far beyond the commonly
|
|
@@ -46,4 +46,5 @@ SETUP_FILE = 'setup.rb'
|
|
|
46
46
|
PRJ_FILE = 'prj_cfg.rb'
|
|
47
47
|
GEM_SPEC_FILE = 'gem_spec.rb'
|
|
48
48
|
DATA_FILES = FileList["benchmarks/**/*", "examples/**/*", "manual/*", "test/all.rb", "test/MessageChecker.rb", "test/TestSuite/**/*", "data/**/*"]
|
|
49
|
-
|
|
49
|
+
DEPENDENCIES = { 'mail' => '= 2.1.3',
|
|
50
|
+
'open4' => '1.0.1' }
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'time'
|
|
2
|
+
|
|
3
|
+
desc 'update changelog'
|
|
4
|
+
task :CHANGELOG do
|
|
5
|
+
releases = `git tag`.split("\n").map { |r| r.chomp }
|
|
6
|
+
|
|
7
|
+
File.open('CHANGELOG', 'w+') do |changelog|
|
|
8
|
+
prevRelease = nil
|
|
9
|
+
releases.each do |release|
|
|
10
|
+
version = /\d\.\d\.\d/.match(release)
|
|
11
|
+
interval = prevRelease ? "#{prevRelease}..#{release}" : release
|
|
12
|
+
prevRelease = release
|
|
13
|
+
|
|
14
|
+
date = Time.parse(/Date: (.*)/.match(`git show #{release}`)[1]).utc
|
|
15
|
+
date = date.strftime("%Y-%m-%d")
|
|
16
|
+
# We use RDOC markup syntax to generate a title
|
|
17
|
+
changelog.puts "= Release #{version} (#{date})\n"
|
|
18
|
+
|
|
19
|
+
`git log -z #{interval}`.split("\0").each do |commit|
|
|
20
|
+
next if commit =~ /^Merge: \d*/
|
|
21
|
+
ref, author, time, _, message = commit.split("\n", 5)
|
|
22
|
+
ref = ref[/commit ([0-9a-f]+)/, 1]
|
|
23
|
+
author = author[/Author: (.*)/, 1].strip
|
|
24
|
+
time = Time.parse(time[/Date: (.*)/, 1]).utc
|
|
25
|
+
# Eleminate git-svn-id: lines
|
|
26
|
+
message.gsub!(/git-svn-id: .*\n/, '')
|
|
27
|
+
# Eliminate Signed-off-by: lines
|
|
28
|
+
message.gsub!(/Signed-off-by: .*\n/, '')
|
|
29
|
+
message.strip!
|
|
30
|
+
|
|
31
|
+
changelog.puts '', " * #{message}"
|
|
32
|
+
end
|
|
33
|
+
changelog.puts
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
data/tasks/csts.rake
CHANGED
|
@@ -19,7 +19,7 @@ RAKE_FILES = FileList[RAKEFILE, PRJ_FILE, GEM_SPEC_FILE, SETUP_FILE, "#{RAK
|
|
|
19
19
|
BIN_FILES = FileList["#{BIN_DIR}/**/*"]
|
|
20
20
|
LIB_FILES = FileList["#{LIB_DIR}/**/*.rb"]
|
|
21
21
|
TEST_FILES = FileList["#{TEST_DIR}/**/test_*.rb"]
|
|
22
|
-
RDOC_FILES = FileList[README,LICENSE]
|
|
22
|
+
RDOC_FILES = FileList[README,LICENSE,CHANGELOG]
|
|
23
23
|
|
|
24
24
|
# DIST FILES
|
|
25
25
|
DIST_FILES = FileList[]
|
|
@@ -34,9 +34,8 @@ DIST_FILES.include("#{RDOC_DIR}/**/*.{html,css}", 'man/*.[0-9]')
|
|
|
34
34
|
DIST_FILES.exclude('**/tmp_*', '**/*.tmp')
|
|
35
35
|
|
|
36
36
|
#
|
|
37
|
-
CLEAN.include( MANUAL_DIR + '/html' )
|
|
37
|
+
CLEAN.include( MANUAL_DIR + '/html/*' )
|
|
38
38
|
CLEAN.include( 'README' ) if File.exist? 'README.rb'
|
|
39
|
-
CLEAN.include( 'CHANGES' ) if File.exist? 'CHANGES.rb'
|
|
40
39
|
|
|
41
40
|
# LOADPATH
|
|
42
41
|
REQUIRE_PATHS = [LIB_DIR]
|
data/tasks/gem.rake
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
# GEM TASK
|
|
2
|
+
require 'find'
|
|
3
|
+
|
|
2
4
|
Rake::GemPackageTask.new(GEM_SPEC) { |pkg|
|
|
3
5
|
pkg.need_zip = true
|
|
4
6
|
pkg.need_tar = true
|
|
5
7
|
puts "Signed with #{CERT_PRIVATE}" if HAVE_CERT
|
|
6
8
|
}
|
|
7
9
|
|
|
10
|
+
execs = Dir.glob('./bin/*') + Dir.glob('./**/run') +
|
|
11
|
+
Dir.glob('./test/**/genrefs')
|
|
12
|
+
|
|
8
13
|
task :release => [:clobber] do
|
|
9
14
|
puts "Preparing release of #{PROJECT_NAME} version #{PROJECT_VERSION}"
|
|
10
15
|
Rake::Task[:test].invoke
|
|
11
16
|
Rake::Task[:rdoc].invoke
|
|
17
|
+
# Make sure all files and directories are readable.
|
|
18
|
+
Find.find('.') do |f|
|
|
19
|
+
FileUtils.chmod_R((FileTest.directory?(f) ||
|
|
20
|
+
execs.include?(f)) ? 0755 : 0644, f)
|
|
21
|
+
end
|
|
12
22
|
Rake::Task[:package].invoke
|
|
13
23
|
end
|
|
14
24
|
|
data/tasks/missing.rake
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
task :CHANGES do
|
|
3
|
-
if File.directory? '.git'
|
|
4
|
-
system('git log >CHANGES')
|
|
5
|
-
elsif not File.exist? CHANGES
|
|
6
|
-
open( CHANGES, 'a' ) { |fn| fn <<"
|
|
7
|
-
= #{PROJECT_NAME} Changelog
|
|
8
|
-
|
|
9
|
-
== Version #{PROJECT_VERSION}
|
|
10
|
-
|
|
11
|
-
* Added XXX
|
|
12
|
-
* Added YYY
|
|
13
|
-
* Added ZZZ
|
|
14
|
-
" }
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
1
|
task :README do
|
|
19
2
|
load 'README.rb' if File.exist? 'README.rb'
|
|
20
3
|
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
3
|
+
<!-- This file has been generated by taskjuggler3 v0.0.5 -->
|
|
4
|
+
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
|
|
5
|
+
<head>
|
|
6
|
+
<title>TaskJuggler Report - Journal</title>
|
|
7
|
+
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
|
|
8
|
+
<meta content="TaskJuggler Report" name="description"/>
|
|
9
|
+
<meta content="taskjuggler, project, management" name="keywords"/>
|
|
10
|
+
<link href="css/tjreport.css" rel="stylesheet" type="text/css"></link>
|
|
11
|
+
</head>
|
|
12
|
+
<!-- Dynamic Report ID: 0 -->
|
|
13
|
+
<body>
|
|
14
|
+
<script src="scripts/wz_tooltip.js" type="text/javascript"></script>
|
|
15
|
+
<noscript><div style="text-align:center; color:#FF0000">This page requires Javascript for full functionality. Please enable it
|
|
16
|
+
in your browser settings!
|
|
17
|
+
</div></noscript>
|
|
18
|
+
<div class="tj_page">
|
|
19
|
+
<!-- Dynamic Report ID: 0 -->
|
|
20
|
+
<table cellspacing="1" class="tj_table_frame">
|
|
21
|
+
<tr><td><table cellspacing="1" class="tj_table"><tbody>
|
|
22
|
+
<tr class="tabhead" style="height:39px; font-size:15px;">
|
|
23
|
+
<td class="tabcell"><table cellspacing="0" class="tj_table_header_cell" style="text-align:center; "><tr>
|
|
24
|
+
<td style="width:0px; "></td>
|
|
25
|
+
<td class="tj_table_cell_label" style="white-space:nowrap; font-weight:bold; ">Name</td>
|
|
26
|
+
<td style="width:0px; "></td>
|
|
27
|
+
</tr></table></td>
|
|
28
|
+
<td class="tabcell"><table cellspacing="0" class="tj_table_header_cell" style="text-align:center; "><tr>
|
|
29
|
+
<td style="width:0px; "></td>
|
|
30
|
+
<td class="tj_table_cell_label" style="white-space:nowrap; font-weight:bold; ">Journal</td>
|
|
31
|
+
<td style="width:0px; "></td>
|
|
32
|
+
</tr></table></td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr class="tabline" style="font-size:12px; ">
|
|
35
|
+
<td class="taskcell1">
|
|
36
|
+
<table cellspacing="0" class="tj_table_cell" style="text-align:left; "><tr>
|
|
37
|
+
<td style="width:0px; "></td>
|
|
38
|
+
<td class="tj_table_cell_icon" onclick="TagToTip('ID11037940', TITLE, 'T')" style="cursor:help; "><img alt="Icon" src="icons/task.png"></img></td>
|
|
39
|
+
<td class="tj_table_cell_label" style="white-space:nowrap; ">T</td>
|
|
40
|
+
<td style="width:0px; "></td>
|
|
41
|
+
</tr></table>
|
|
42
|
+
<div class="tj_tooltip_box" id="ID11037940" style="cursor:help"><div>
|
|
43
|
+
<b>ID:</b> _Task_1</div></div>
|
|
44
|
+
</td>
|
|
45
|
+
<td class="taskcell1"><table cellspacing="0" class="tj_table_cell" style="text-align:left; "><tr>
|
|
46
|
+
<td style="width:0px; "></td>
|
|
47
|
+
<td class="tj_table_cell_label" style="white-space:nowrap; "><div class="tj_journal">
|
|
48
|
+
<h1 class="tj_journal" id="GreenEntry_2">
|
|
49
|
+
<img alt="[Green]" src="icons/flag-green.png" style="vertical-align:text-bottom; "></img>Entry 2</h1>
|
|
50
|
+
<p class="tj_journal">
|
|
51
|
+
<i>Reported on 2010-06-14</i> </p>
|
|
52
|
+
<p class="tj_journal"><b>Entry 2</b></p>
|
|
53
|
+
</div></td>
|
|
54
|
+
<td style="width:0px; "></td>
|
|
55
|
+
</tr></table></td>
|
|
56
|
+
</tr>
|
|
57
|
+
</tbody></table></td></tr>
|
|
58
|
+
<tr><td></td></tr>
|
|
59
|
+
</table>
|
|
60
|
+
<div class="copyright">Project: Journal Version: 1.0 - Created on 2010-06-07 15:00:54 with <a href="http://www.taskjuggler.org">TaskJuggler III</a> v0.0.5</div>
|
|
61
|
+
</div>
|
|
62
|
+
</body>
|
|
63
|
+
</html>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
project "Journal" 2010-06-07 +1m
|
|
2
|
+
|
|
3
|
+
task "T" {
|
|
4
|
+
duration 3w
|
|
5
|
+
journalentry 2010-06-07-8:00 "Entry 1"
|
|
6
|
+
journalentry 2010-06-14-8:00 "Entry 2"
|
|
7
|
+
journalentry 2010-06-21-8:00 "Entry 3"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
taskreport "Journal-1" {
|
|
11
|
+
formats csv
|
|
12
|
+
# Only "Entry 2" should be included
|
|
13
|
+
columns name, journal { period 2010-06-14 +1w }
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
project "LogFunc2" 2010-06-07 +1m
|
|
2
|
+
|
|
3
|
+
resource r1 "R1"
|
|
4
|
+
resource r2 "R2" {
|
|
5
|
+
vacation 2010-06-14 +7d
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
task "Task" {
|
|
9
|
+
effort 25d
|
|
10
|
+
allocate r1, r2
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
resourcereport "LogicalFunctions2-1" {
|
|
14
|
+
formats csv
|
|
15
|
+
period 2010-06-14 +7d
|
|
16
|
+
hideresource ~isactive(plan)
|
|
17
|
+
columns name
|
|
18
|
+
}
|
|
19
|
+
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
pre {
|
|
2
|
+
font-size:16px;
|
|
3
|
+
font-family: Courier;
|
|
4
|
+
padding-left:8px;
|
|
5
|
+
padding-right:8px;
|
|
6
|
+
padding-top:0px;
|
|
7
|
+
padding-bottom:0px;
|
|
8
|
+
}
|
|
9
|
+
p {
|
|
10
|
+
margin-top:8px;
|
|
11
|
+
margin-bottom:8px;
|
|
12
|
+
}
|
|
13
|
+
code {
|
|
14
|
+
font-size:16px;
|
|
15
|
+
font-family: Courier;
|
|
16
|
+
}
|
|
17
|
+
.table {
|
|
18
|
+
background-color:#ABABAB;
|
|
19
|
+
width:100%;
|
|
20
|
+
}
|
|
21
|
+
.tag {
|
|
22
|
+
background-color:#E0E0F0;
|
|
23
|
+
font-size:16px;
|
|
24
|
+
font-weight:bold;
|
|
25
|
+
padding-left:8px;
|
|
26
|
+
padding-right:8px;
|
|
27
|
+
padding-top:5px;
|
|
28
|
+
padding-bottom:5px;
|
|
29
|
+
}
|
|
30
|
+
.descr {
|
|
31
|
+
background-color:#F0F0F0;
|
|
32
|
+
font-size:16px;
|
|
33
|
+
padding-left:8px;
|
|
34
|
+
padding-right:8px;
|
|
35
|
+
padding-top:5px;
|
|
36
|
+
padding-bottom:5px;
|
|
37
|
+
}
|
|
38
|
+
.codeframe{
|
|
39
|
+
border-width:2px;
|
|
40
|
+
border-color:#ABABAB;
|
|
41
|
+
border-style:solid;
|
|
42
|
+
background-color:#F0F0F0;
|
|
43
|
+
margin-top:8px;
|
|
44
|
+
margin-bottom:8px;
|
|
45
|
+
}
|
|
46
|
+
.code {
|
|
47
|
+
padding-left:15px;
|
|
48
|
+
padding-right:15px;
|
|
49
|
+
padding-top:0px;
|
|
50
|
+
padding-bottom:0px;
|
|
51
|
+
}
|
|
52
|
+
div[codesection] {
|
|
53
|
+
border-width:2px;
|
|
54
|
+
border-color:#ABABAB;
|
|
55
|
+
border-style:solid;
|
|
56
|
+
background-color:#F0F0F0;
|
|
57
|
+
margin-top:8px;
|
|
58
|
+
margin-bottom:8px;
|
|
59
|
+
}
|
|
60
|
+
pre[codesection] {
|
|
61
|
+
padding-left:15px;
|
|
62
|
+
padding-right:15px;
|
|
63
|
+
padding-top:0px;
|
|
64
|
+
padding-bottom:0px;
|
|
65
|
+
}
|
|
66
|
+
|