taskjuggler 0.0.8 → 0.0.9
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 +1144 -2047
- data/README +1 -1
- data/Rakefile +6 -6
- data/data/css/tjmanual.css +20 -0
- data/data/css/tjreport.css +7 -6
- data/doc/AppConfig.html +136 -130
- data/doc/Arguments.html +46 -40
- data/doc/CHANGELOG.html +1162 -2057
- data/doc/COPYING.html +8 -2
- data/doc/Object.html +205 -199
- data/doc/README.html +9 -3
- data/doc/RuntimeConfig.html +75 -69
- data/doc/String.html +69 -63
- data/doc/TaskJuggler.html +350 -291
- data/doc/TaskJuggler/Account.html +26 -20
- data/doc/TaskJuggler/AccountAttribute.html +24 -18
- data/doc/TaskJuggler/AccountScenario.html +24 -18
- data/doc/TaskJuggler/Allocation.html +74 -68
- data/doc/TaskJuggler/AllocationAttribute.html +54 -48
- data/doc/TaskJuggler/AttributeBase.html +172 -93
- data/doc/TaskJuggler/AttributeDefinition.html +22 -16
- data/doc/TaskJuggler/AttributeOverwrite.html +586 -0
- data/doc/TaskJuggler/BatchProcessor.html +263 -257
- data/doc/TaskJuggler/Booking.html +44 -38
- data/doc/TaskJuggler/BookingListAttribute.html +25 -21
- data/doc/TaskJuggler/BooleanAttribute.html +24 -18
- data/doc/TaskJuggler/CSVFile.html +193 -187
- data/doc/TaskJuggler/CellSettingPattern.html +13 -7
- data/doc/TaskJuggler/CellSettingPatternList.html +25 -19
- data/doc/TaskJuggler/Charge.html +49 -43
- data/doc/TaskJuggler/ChargeListAttribute.html +21 -15
- data/doc/TaskJuggler/ChargeSet.html +94 -88
- data/doc/TaskJuggler/ChargeSetListAttribute.html +29 -25
- data/doc/TaskJuggler/CollisionDetector.html +142 -136
- data/doc/TaskJuggler/ColumnListAttribute.html +21 -17
- data/doc/TaskJuggler/ColumnTable.html +50 -44
- data/doc/TaskJuggler/Daemon.html +71 -50
- data/doc/TaskJuggler/DataCache.html +110 -58
- data/doc/TaskJuggler/DataCacheEntry.html +22 -16
- data/doc/TaskJuggler/DateAttribute.html +24 -18
- data/doc/TaskJuggler/DefinitionListAttribute.html +12 -6
- data/doc/TaskJuggler/DependencyListAttribute.html +29 -25
- data/doc/TaskJuggler/DurationAttribute.html +25 -19
- data/doc/TaskJuggler/FileList.html +25 -19
- data/doc/TaskJuggler/FileRecord.html +17 -11
- data/doc/TaskJuggler/FixnumAttribute.html +16 -10
- data/doc/TaskJuggler/FlagListAttribute.html +25 -21
- data/doc/TaskJuggler/FloatAttribute.html +20 -14
- data/doc/TaskJuggler/FormatListAttribute.html +17 -11
- data/doc/TaskJuggler/GanttChart.html +242 -236
- data/doc/TaskJuggler/GanttContainer.html +71 -67
- data/doc/TaskJuggler/GanttHeader.html +113 -107
- data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -20
- data/doc/TaskJuggler/GanttLine.html +217 -210
- data/doc/TaskJuggler/GanttLoadStack.html +89 -83
- data/doc/TaskJuggler/GanttMilestone.html +11 -6
- data/doc/TaskJuggler/GanttRouter.html +194 -186
- data/doc/TaskJuggler/GanttTaskBar.html +41 -34
- data/doc/TaskJuggler/HTMLDocument.html +52 -46
- data/doc/TaskJuggler/HTMLGraphics.html +58 -52
- data/doc/TaskJuggler/Interval.html +90 -84
- data/doc/TaskJuggler/IntervalList.html +777 -0
- data/doc/TaskJuggler/IntervalListAttribute.html +29 -25
- data/doc/TaskJuggler/JobInfo.html +36 -30
- data/doc/TaskJuggler/Journal.html +188 -177
- data/doc/TaskJuggler/JournalEntry.html +36 -30
- data/doc/TaskJuggler/JournalEntryList.html +88 -82
- data/doc/TaskJuggler/KeywordArray.html +12 -6
- data/doc/TaskJuggler/KeywordDocumentation.html +512 -503
- data/doc/TaskJuggler/Limits.html +111 -105
- data/doc/TaskJuggler/Limits/Limit.html +71 -65
- data/doc/TaskJuggler/LimitsAttribute.html +21 -15
- data/doc/TaskJuggler/ListAttributeBase.html +16 -10
- data/doc/TaskJuggler/Log.html +111 -105
- data/doc/TaskJuggler/LogFile.html +54 -48
- data/doc/TaskJuggler/LogicalAttribute.html +35 -29
- data/doc/TaskJuggler/LogicalExpression.html +32 -26
- data/doc/TaskJuggler/LogicalExpressionAttribute.html +16 -10
- data/doc/TaskJuggler/LogicalExpressionListAttribute.html +671 -0
- data/doc/TaskJuggler/LogicalFlag.html +24 -18
- data/doc/TaskJuggler/LogicalFunction.html +164 -158
- data/doc/TaskJuggler/LogicalOperation.html +138 -132
- data/doc/TaskJuggler/Macro.html +14 -8
- data/doc/TaskJuggler/MacroTable.html +42 -36
- data/doc/TaskJuggler/ManagerResponsibilities.html +19 -13
- data/doc/TaskJuggler/ManagerStatusRecord.html +23 -17
- data/doc/TaskJuggler/Message.html +56 -50
- data/doc/TaskJuggler/MessageHandler.html +73 -67
- data/doc/TaskJuggler/Navigator.html +92 -86
- data/doc/TaskJuggler/NavigatorElement.html +88 -82
- data/doc/TaskJuggler/NikuProject.html +15 -9
- data/doc/TaskJuggler/NikuReport.html +405 -370
- data/doc/TaskJuggler/NikuResource.html +13 -7
- data/doc/TaskJuggler/NodeListAttribute.html +13 -9
- data/doc/TaskJuggler/PlaceHolderCell.html +22 -16
- data/doc/TaskJuggler/ProcessIntercom.html +116 -110
- data/doc/TaskJuggler/ProcessIntercomIface.html +39 -33
- data/doc/TaskJuggler/Project.html +1064 -895
- data/doc/TaskJuggler/ProjectBroker.html +439 -366
- data/doc/TaskJuggler/ProjectBrokerIface.html +63 -53
- data/doc/TaskJuggler/ProjectFileParser.html +329 -319
- data/doc/TaskJuggler/ProjectFileScanner.html +351 -345
- data/doc/TaskJuggler/ProjectRecord.html +66 -60
- data/doc/TaskJuggler/ProjectServer.html +287 -280
- data/doc/TaskJuggler/ProjectServerIface.html +43 -37
- data/doc/TaskJuggler/PropertyAttribute.html +16 -10
- data/doc/TaskJuggler/PropertyList.html +205 -199
- data/doc/TaskJuggler/PropertySet.html +264 -296
- data/doc/TaskJuggler/PropertyTreeNode.html +455 -505
- data/doc/TaskJuggler/Query.html +309 -524
- data/doc/TaskJuggler/RTFHandlers.html +17 -11
- data/doc/TaskJuggler/RTFNavigator.html +33 -27
- data/doc/TaskJuggler/RTFQuery.html +135 -129
- data/doc/TaskJuggler/RTFReport.html +63 -57
- data/doc/TaskJuggler/RTFReportLink.html +55 -49
- data/doc/TaskJuggler/RTFWithQuerySupport.html +17 -11
- data/doc/TaskJuggler/RealFormat.html +64 -58
- data/doc/TaskJuggler/RealFormatAttribute.html +12 -6
- data/doc/TaskJuggler/ReferenceAttribute.html +35 -29
- data/doc/TaskJuggler/Report.html +294 -249
- data/doc/TaskJuggler/ReportBase.html +229 -223
- data/doc/TaskJuggler/ReportContext.html +52 -46
- data/doc/TaskJuggler/ReportServer.html +143 -137
- data/doc/TaskJuggler/ReportServerIface.html +51 -43
- data/doc/TaskJuggler/ReportServerRecord.html +36 -30
- data/doc/TaskJuggler/ReportServlet.html +167 -140
- data/doc/TaskJuggler/ReportTable.html +137 -131
- data/doc/TaskJuggler/ReportTableCell.html +332 -292
- data/doc/TaskJuggler/ReportTableColumn.html +46 -40
- data/doc/TaskJuggler/ReportTableLegend.html +43 -38
- data/doc/TaskJuggler/ReportTableLine.html +66 -60
- data/doc/TaskJuggler/Resource.html +166 -160
- data/doc/TaskJuggler/ResourceListAttribute.html +54 -32
- data/doc/TaskJuggler/ResourceListRE.html +47 -41
- data/doc/TaskJuggler/ResourceScenario.html +671 -644
- data/doc/TaskJuggler/RichText.html +51 -45
- data/doc/TaskJuggler/RichTextAttribute.html +28 -22
- data/doc/TaskJuggler/RichTextDocument.html +96 -90
- data/doc/TaskJuggler/RichTextElement.html +503 -497
- data/doc/TaskJuggler/RichTextFunctionExample.html +41 -35
- data/doc/TaskJuggler/RichTextFunctionHandler.html +19 -13
- data/doc/TaskJuggler/RichTextImage.html +14 -8
- data/doc/TaskJuggler/RichTextIntermediate.html +86 -80
- data/doc/TaskJuggler/RichTextParser.html +59 -53
- data/doc/TaskJuggler/RichTextScanner.html +184 -178
- data/doc/TaskJuggler/RichTextSnip.html +69 -63
- data/doc/TaskJuggler/RichTextSyntaxRules.html +416 -410
- data/doc/TaskJuggler/Scenario.html +13 -7
- data/doc/TaskJuggler/ScenarioData.html +40 -34
- data/doc/TaskJuggler/ScenarioListAttribute.html +21 -15
- data/doc/TaskJuggler/Scoreboard.html +129 -107
- data/doc/TaskJuggler/SheetHandlerBase.html +245 -239
- data/doc/TaskJuggler/SheetReceiver.html +333 -327
- data/doc/TaskJuggler/SheetSender.html +227 -221
- data/doc/TaskJuggler/Shift.html +26 -20
- data/doc/TaskJuggler/ShiftAssignment.html +45 -39
- data/doc/TaskJuggler/ShiftAssignments.html +178 -172
- data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +21 -15
- data/doc/TaskJuggler/ShiftScenario.html +29 -23
- data/doc/TaskJuggler/SimpleQueryExpander.html +36 -30
- data/doc/TaskJuggler/SortListAttribute.html +17 -13
- data/doc/TaskJuggler/SourceFileInfo.html +19 -13
- data/doc/TaskJuggler/StatusSheetReceiver.html +31 -25
- data/doc/TaskJuggler/StatusSheetReport.html +166 -159
- data/doc/TaskJuggler/StatusSheetSender.html +80 -74
- data/doc/TaskJuggler/StringAttribute.html +20 -14
- data/doc/TaskJuggler/SymbolAttribute.html +16 -10
- data/doc/TaskJuggler/SyntaxReference.html +231 -225
- data/doc/TaskJuggler/TOCEntry.html +46 -40
- data/doc/TaskJuggler/TSResourceRecord.html +15 -9
- data/doc/TaskJuggler/TSTaskRecord.html +16 -10
- data/doc/TaskJuggler/TableColumnDefinition.html +84 -39
- data/doc/TaskJuggler/TableOfContents.html +28 -22
- data/doc/TaskJuggler/TableReport.html +906 -866
- data/doc/TaskJuggler/Task.html +99 -93
- data/doc/TaskJuggler/TaskDependency.html +24 -18
- data/doc/TaskJuggler/TaskListAttribute.html +29 -25
- data/doc/TaskJuggler/TaskListRE.html +46 -39
- data/doc/TaskJuggler/TaskScenario.html +2218 -1965
- data/doc/TaskJuggler/TextFormatter.html +154 -148
- data/doc/TaskJuggler/TextParser.html +362 -348
- data/doc/TaskJuggler/TextParser/Pattern.html +313 -307
- data/doc/TaskJuggler/TextParser/Rule.html +147 -141
- data/doc/TaskJuggler/TextParser/StackElement.html +58 -52
- data/doc/TaskJuggler/TextParser/State.html +88 -82
- data/doc/TaskJuggler/TextParser/StateTransition.html +42 -36
- data/doc/TaskJuggler/TextParser/TextParserResultArray.html +20 -14
- data/doc/TaskJuggler/TextParser/TokenDoc.html +19 -13
- data/doc/TaskJuggler/TextReport.html +80 -74
- data/doc/TaskJuggler/TextScanner.html +284 -272
- data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +14 -8
- data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +21 -15
- data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +15 -9
- data/doc/TaskJuggler/TextScanner/StreamHandle.html +102 -96
- data/doc/TaskJuggler/TimeSheet.html +123 -117
- data/doc/TaskJuggler/TimeSheetReceiver.html +28 -22
- data/doc/TaskJuggler/TimeSheetRecord.html +212 -206
- data/doc/TaskJuggler/TimeSheetReport.html +206 -199
- data/doc/TaskJuggler/TimeSheetSender.html +27 -21
- data/doc/TaskJuggler/TimeSheetSummary.html +140 -134
- data/doc/TaskJuggler/TimeSheets.html +20 -14
- data/doc/TaskJuggler/Tj3AppBase.html +100 -94
- data/doc/TaskJuggler/Tj3Client.html +407 -483
- data/doc/TaskJuggler/Tj3Daemon.html +116 -107
- data/doc/TaskJuggler/Tj3SheetAppBase.html +45 -39
- data/doc/TaskJuggler/Tj3SsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3SsSender.html +64 -58
- data/doc/TaskJuggler/Tj3TsReceiver.html +31 -25
- data/doc/TaskJuggler/Tj3TsSender.html +51 -45
- data/doc/TaskJuggler/Tj3TsSummary.html +59 -53
- data/doc/TaskJuggler/TjException.html +13 -7
- data/doc/TaskJuggler/TjTime.html +444 -438
- data/doc/TaskJuggler/TjpExample.html +84 -78
- data/doc/TaskJuggler/TjpExportRE.html +356 -349
- data/doc/TaskJuggler/TjpSyntaxRules.html +4279 -4151
- data/doc/TaskJuggler/URLParameter.html +16 -10
- data/doc/TaskJuggler/UserManual.html +185 -179
- data/doc/TaskJuggler/VimSyntax.html +144 -138
- data/doc/TaskJuggler/WebServer.html +46 -39
- data/doc/TaskJuggler/WelcomePage.html +769 -0
- data/doc/TaskJuggler/WorkingHours.html +185 -179
- data/doc/TaskJuggler/WorkingHoursAttribute.html +42 -36
- data/doc/TaskJuggler/XMLBlob.html +21 -15
- data/doc/TaskJuggler/XMLComment.html +17 -11
- data/doc/TaskJuggler/XMLDocument.html +33 -27
- data/doc/TaskJuggler/XMLElement.html +97 -91
- data/doc/TaskJuggler/XMLNamedText.html +13 -7
- data/doc/TaskJuggler/XMLText.html +32 -26
- data/doc/index.html +601 -563
- data/doc/lib/AccountScenario_rb.html +5 -3
- data/doc/lib/Account_rb.html +5 -3
- data/doc/lib/Allocation_rb.html +5 -3
- data/doc/lib/AppConfig_rb.html +5 -3
- data/doc/lib/AttributeBase_rb.html +5 -3
- data/doc/lib/AttributeDefinition_rb.html +5 -3
- data/doc/lib/Attributes_rb.html +5 -3
- data/doc/lib/BatchProcessor_rb.html +5 -3
- data/doc/lib/Booking_rb.html +5 -3
- data/doc/lib/ChargeSet_rb.html +5 -3
- data/doc/lib/Charge_rb.html +5 -3
- data/doc/lib/DataCache_rb.html +5 -3
- data/doc/lib/FileList_rb.html +5 -3
- data/doc/lib/HTMLDocument_rb.html +5 -3
- data/doc/lib/IntervalList_rb.html +69 -0
- data/doc/lib/Interval_rb.html +5 -3
- data/doc/lib/Journal_rb.html +5 -3
- data/doc/lib/KeywordArray_rb.html +5 -3
- data/doc/lib/KeywordDocumentation_rb.html +5 -3
- data/doc/lib/Limits_rb.html +5 -3
- data/doc/lib/LogFile_rb.html +5 -3
- data/doc/lib/Log_rb.html +5 -3
- data/doc/lib/LogicalExpression_rb.html +5 -3
- data/doc/lib/LogicalFunction_rb.html +5 -3
- data/doc/lib/LogicalOperation_rb.html +5 -3
- data/doc/lib/MacroTable_rb.html +5 -3
- data/doc/lib/MessageHandler_rb.html +5 -3
- data/doc/lib/ProjectFileParser_rb.html +5 -3
- data/doc/lib/ProjectFileScanner_rb.html +5 -3
- data/doc/lib/Project_rb.html +5 -3
- data/doc/lib/PropertyList_rb.html +5 -3
- data/doc/lib/PropertySet_rb.html +5 -3
- data/doc/lib/PropertyTreeNode_rb.html +5 -3
- data/doc/lib/Query_rb.html +5 -3
- data/doc/lib/RTFHandlers_rb.html +5 -3
- data/doc/lib/RTFNavigator_rb.html +5 -3
- data/doc/lib/RTFQuery_rb.html +5 -3
- data/doc/lib/RTFReportLink_rb.html +5 -3
- data/doc/lib/RTFReport_rb.html +5 -3
- data/doc/lib/RTFWithQuerySupport_rb.html +5 -3
- data/doc/lib/RealFormat_rb.html +5 -3
- data/doc/lib/ResourceScenario_rb.html +5 -3
- data/doc/lib/Resource_rb.html +5 -3
- data/doc/lib/RichTextDocument_rb.html +5 -3
- data/doc/lib/RichTextElement_rb.html +5 -3
- data/doc/lib/RichTextFunctionExample_rb.html +5 -3
- data/doc/lib/RichTextFunctionHandler_rb.html +5 -3
- data/doc/lib/RichTextParser_rb.html +5 -3
- data/doc/lib/RichTextScanner_rb.html +5 -3
- data/doc/lib/RichTextSnip_rb.html +5 -3
- data/doc/lib/RichTextSyntaxRules_rb.html +5 -3
- data/doc/lib/RichText_rb.html +5 -3
- data/doc/lib/RuntimeConfig_rb.html +5 -3
- data/doc/lib/ScenarioData_rb.html +5 -3
- data/doc/lib/Scenario_rb.html +5 -3
- data/doc/lib/Scoreboard_rb.html +7 -3
- data/doc/lib/SheetHandlerBase_rb.html +5 -3
- data/doc/lib/SheetReceiver_rb.html +5 -3
- data/doc/lib/SheetSender_rb.html +5 -3
- data/doc/lib/ShiftAssignments_rb.html +5 -3
- data/doc/lib/ShiftScenario_rb.html +5 -3
- data/doc/lib/Shift_rb.html +5 -3
- data/doc/lib/SimpleQueryExpander_rb.html +5 -3
- data/doc/lib/SourceFileInfo_rb.html +5 -3
- data/doc/lib/StatusSheetReceiver_rb.html +5 -3
- data/doc/lib/StatusSheetSender_rb.html +5 -3
- data/doc/lib/SyntaxReference_rb.html +5 -3
- data/doc/lib/TOCEntry_rb.html +5 -3
- data/doc/lib/TableColumnDefinition_rb.html +5 -3
- data/doc/lib/TableOfContents_rb.html +5 -3
- data/doc/lib/TaskDependency_rb.html +5 -3
- data/doc/lib/TaskJuggler_rb.html +5 -3
- data/doc/lib/TaskScenario_rb.html +5 -3
- data/doc/lib/Task_rb.html +5 -3
- data/doc/lib/TextFormatter_rb.html +6 -4
- data/doc/lib/TextParser/Pattern_rb.html +5 -3
- data/doc/lib/TextParser/Rule_rb.html +5 -3
- data/doc/lib/TextParser/StackElement_rb.html +5 -3
- data/doc/lib/TextParser/State_rb.html +6 -4
- data/doc/lib/TextParser/TokenDoc_rb.html +5 -3
- data/doc/lib/TextParser_rb.html +5 -3
- data/doc/lib/TextScanner_rb.html +5 -3
- data/doc/lib/TimeSheetReceiver_rb.html +5 -3
- data/doc/lib/TimeSheetSender_rb.html +5 -3
- data/doc/lib/TimeSheetSummary_rb.html +6 -4
- data/doc/lib/TimeSheets_rb.html +5 -3
- data/doc/lib/Tj3AppBase_rb.html +5 -3
- data/doc/lib/Tj3Config_rb.html +5 -3
- data/doc/lib/Tj3SheetAppBase_rb.html +5 -3
- data/doc/lib/TjException_rb.html +5 -3
- data/doc/lib/TjTime_rb.html +5 -3
- data/doc/lib/TjpExample_rb.html +5 -3
- data/doc/lib/TjpSyntaxRules_rb.html +5 -3
- data/doc/lib/URLParameter_rb.html +5 -3
- data/doc/lib/UTF8String_rb.html +5 -3
- data/doc/lib/UserManual_rb.html +5 -3
- data/doc/lib/VimSyntax_rb.html +6 -4
- data/doc/lib/WorkingHours_rb.html +5 -3
- data/doc/lib/XMLDocument_rb.html +5 -3
- data/doc/lib/XMLElement_rb.html +5 -3
- data/doc/lib/daemon/Daemon_rb.html +5 -3
- data/doc/lib/daemon/ProcessIntercom_rb.html +7 -3
- data/doc/lib/daemon/ProjectBroker_rb.html +5 -3
- data/doc/lib/daemon/ProjectServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServer_rb.html +5 -3
- data/doc/lib/daemon/ReportServlet_rb.html +69 -0
- data/doc/lib/daemon/WebServer_rb.html +9 -3
- data/doc/lib/daemon/WelcomePage_rb.html +71 -0
- data/doc/lib/deep_copy_rb.html +5 -3
- data/doc/lib/reports/CSVFile_rb.html +5 -3
- data/doc/lib/reports/CollisionDetector_rb.html +5 -3
- data/doc/lib/reports/ColumnTable_rb.html +5 -3
- data/doc/lib/reports/GanttChart_rb.html +5 -3
- data/doc/lib/reports/GanttContainer_rb.html +5 -3
- data/doc/lib/reports/GanttHeaderScaleItem_rb.html +5 -3
- data/doc/lib/reports/GanttHeader_rb.html +5 -3
- data/doc/lib/reports/GanttLine_rb.html +5 -3
- data/doc/lib/reports/GanttLoadStack_rb.html +5 -3
- data/doc/lib/reports/GanttMilestone_rb.html +5 -3
- data/doc/lib/reports/GanttRouter_rb.html +5 -3
- data/doc/lib/reports/GanttTaskBar_rb.html +5 -3
- data/doc/lib/reports/HTMLGraphics_rb.html +5 -3
- data/doc/lib/reports/Navigator_rb.html +5 -3
- data/doc/lib/reports/NikuReport_rb.html +5 -3
- data/doc/lib/reports/ReportBase_rb.html +5 -3
- data/doc/lib/reports/ReportContext_rb.html +5 -3
- data/doc/lib/reports/ReportTableCell_rb.html +5 -3
- data/doc/lib/reports/ReportTableColumn_rb.html +5 -3
- data/doc/lib/reports/ReportTableLegend_rb.html +5 -3
- data/doc/lib/reports/ReportTableLine_rb.html +5 -3
- data/doc/lib/reports/ReportTable_rb.html +5 -3
- data/doc/lib/reports/Report_rb.html +5 -3
- data/doc/lib/reports/ResourceListRE_rb.html +5 -3
- data/doc/lib/reports/StatusSheetReport_rb.html +5 -3
- data/doc/lib/reports/TableReport_rb.html +5 -3
- data/doc/lib/reports/TaskListRE_rb.html +5 -3
- data/doc/lib/reports/TextReport_rb.html +5 -3
- data/doc/lib/reports/TimeSheetReport_rb.html +5 -3
- data/doc/lib/reports/TjpExportRE_rb.html +5 -3
- data/doc/lib/{taskjuggler3_rb.html → tj3_rb.html} +7 -5
- data/doc/lib/tj3client_rb.html +5 -3
- data/doc/lib/tj3d_rb.html +6 -4
- data/doc/lib/tj3man_rb.html +5 -3
- data/doc/lib/tj3ss_receiver_rb.html +5 -3
- data/doc/lib/tj3ss_sender_rb.html +5 -3
- data/doc/lib/tj3ts_receiver_rb.html +5 -3
- data/doc/lib/tj3ts_sender_rb.html +5 -3
- data/doc/lib/tj3ts_summary_rb.html +5 -3
- data/examples/tutorial.tjp +13 -5
- data/gem_spec.rb +3 -0
- data/lib/Account.rb +2 -1
- data/lib/AccountScenario.rb +2 -1
- data/lib/Allocation.rb +2 -1
- data/lib/AppConfig.rb +2 -1
- data/lib/AttributeBase.rb +19 -5
- data/lib/AttributeDefinition.rb +2 -1
- data/lib/Attributes.rb +49 -38
- data/lib/BatchProcessor.rb +2 -1
- data/lib/Booking.rb +2 -1
- data/lib/Charge.rb +2 -1
- data/lib/ChargeSet.rb +2 -1
- data/lib/DataCache.rb +15 -1
- data/lib/FileList.rb +2 -1
- data/lib/HTMLDocument.rb +2 -1
- data/lib/Interval.rb +2 -1
- data/lib/IntervalList.rb +100 -0
- data/lib/Journal.rb +8 -2
- data/lib/KeywordArray.rb +2 -1
- data/lib/KeywordDocumentation.rb +10 -6
- data/lib/Limits.rb +2 -1
- data/lib/Log.rb +3 -2
- data/lib/LogFile.rb +2 -1
- data/lib/LogicalExpression.rb +2 -1
- data/lib/LogicalFunction.rb +2 -1
- data/lib/LogicalOperation.rb +2 -1
- data/lib/MacroTable.rb +2 -1
- data/lib/MessageHandler.rb +2 -1
- data/lib/Project.rb +92 -25
- data/lib/ProjectFileParser.rb +7 -2
- data/lib/ProjectFileScanner.rb +2 -1
- data/lib/PropertyList.rb +2 -1
- data/lib/PropertySet.rb +2 -6
- data/lib/PropertyTreeNode.rb +22 -44
- data/lib/Query.rb +32 -13
- data/lib/RTFHandlers.rb +2 -1
- data/lib/RTFNavigator.rb +2 -1
- data/lib/RTFQuery.rb +3 -2
- data/lib/RTFReport.rb +2 -1
- data/lib/RTFReportLink.rb +2 -1
- data/lib/RTFWithQuerySupport.rb +2 -1
- data/lib/RealFormat.rb +2 -1
- data/lib/Resource.rb +2 -1
- data/lib/ResourceScenario.rb +35 -14
- data/lib/RichText.rb +2 -1
- data/lib/RichTextDocument.rb +2 -1
- data/lib/RichTextElement.rb +2 -1
- data/lib/RichTextFunctionExample.rb +2 -1
- data/lib/RichTextFunctionHandler.rb +2 -1
- data/lib/RichTextParser.rb +2 -1
- data/lib/RichTextScanner.rb +2 -1
- data/lib/RichTextSnip.rb +2 -1
- data/lib/RichTextSyntaxRules.rb +2 -1
- data/lib/RuntimeConfig.rb +2 -1
- data/lib/Scenario.rb +2 -1
- data/lib/ScenarioData.rb +2 -1
- data/lib/Scoreboard.rb +27 -8
- data/lib/SheetHandlerBase.rb +2 -1
- data/lib/SheetReceiver.rb +2 -1
- data/lib/SheetSender.rb +2 -1
- data/lib/Shift.rb +2 -1
- data/lib/ShiftAssignments.rb +2 -1
- data/lib/ShiftScenario.rb +2 -1
- data/lib/SimpleQueryExpander.rb +2 -1
- data/lib/SourceFileInfo.rb +2 -1
- data/lib/StatusSheetReceiver.rb +2 -1
- data/lib/StatusSheetSender.rb +2 -1
- data/lib/SyntaxReference.rb +2 -1
- data/lib/TOCEntry.rb +2 -1
- data/lib/TableColumnDefinition.rb +9 -2
- data/lib/TableOfContents.rb +2 -1
- data/lib/Task.rb +2 -1
- data/lib/TaskDependency.rb +2 -1
- data/lib/TaskJuggler.rb +8 -6
- data/lib/TaskScenario.rb +337 -153
- data/lib/TextFormatter.rb +3 -2
- data/lib/TextParser.rb +7 -2
- data/lib/TextParser/Pattern.rb +2 -1
- data/lib/TextParser/Rule.rb +2 -1
- data/lib/TextParser/StackElement.rb +2 -1
- data/lib/TextParser/State.rb +3 -2
- data/lib/TextParser/TokenDoc.rb +2 -1
- data/lib/TextScanner.rb +12 -5
- data/lib/TimeSheetReceiver.rb +2 -1
- data/lib/TimeSheetSender.rb +2 -1
- data/lib/TimeSheetSummary.rb +3 -2
- data/lib/TimeSheets.rb +2 -1
- data/lib/Tj3AppBase.rb +6 -5
- data/lib/Tj3Config.rb +5 -4
- data/lib/Tj3SheetAppBase.rb +2 -1
- data/lib/TjException.rb +2 -1
- data/lib/TjTime.rb +2 -1
- data/lib/TjpExample.rb +2 -1
- data/lib/TjpSyntaxRules.rb +264 -65
- data/lib/URLParameter.rb +2 -1
- data/lib/UTF8String.rb +2 -1
- data/lib/UserManual.rb +2 -1
- data/lib/VimSyntax.rb +3 -2
- data/lib/WorkingHours.rb +2 -1
- data/lib/XMLDocument.rb +2 -1
- data/lib/XMLElement.rb +2 -1
- data/lib/daemon/Daemon.rb +3 -1
- data/lib/daemon/ProcessIntercom.rb +3 -1
- data/lib/daemon/ProjectBroker.rb +84 -32
- data/lib/daemon/ProjectServer.rb +5 -3
- data/lib/daemon/ReportServer.rb +8 -5
- data/lib/daemon/ReportServlet.rb +166 -0
- data/lib/daemon/WebServer.rb +6 -150
- data/lib/daemon/WelcomePage.rb +80 -0
- data/lib/deep_copy.rb +2 -1
- data/lib/reports/CSVFile.rb +2 -1
- data/lib/reports/CollisionDetector.rb +2 -1
- data/lib/reports/ColumnTable.rb +2 -1
- data/lib/reports/GanttChart.rb +2 -1
- data/lib/reports/GanttContainer.rb +3 -4
- data/lib/reports/GanttHeader.rb +2 -1
- data/lib/reports/GanttHeaderScaleItem.rb +2 -1
- data/lib/reports/GanttLine.rb +12 -10
- data/lib/reports/GanttLoadStack.rb +2 -1
- data/lib/reports/GanttMilestone.rb +3 -3
- data/lib/reports/GanttRouter.rb +4 -1
- data/lib/reports/GanttTaskBar.rb +9 -7
- data/lib/reports/HTMLGraphics.rb +2 -1
- data/lib/reports/Navigator.rb +2 -1
- data/lib/reports/NikuReport.rb +79 -49
- data/lib/reports/Report.rb +42 -10
- data/lib/reports/ReportBase.rb +2 -1
- data/lib/reports/ReportContext.rb +2 -1
- data/lib/reports/ReportTable.rb +2 -1
- data/lib/reports/ReportTableCell.rb +63 -28
- data/lib/reports/ReportTableColumn.rb +2 -1
- data/lib/reports/ReportTableLegend.rb +5 -5
- data/lib/reports/ReportTableLine.rb +2 -1
- data/lib/reports/ResourceListRE.rb +2 -1
- data/lib/reports/StatusSheetReport.rb +4 -2
- data/lib/reports/TableReport.rb +42 -38
- data/lib/reports/TaskListRE.rb +4 -2
- data/lib/reports/TextReport.rb +2 -1
- data/lib/reports/TimeSheetReport.rb +4 -2
- data/lib/reports/TjpExportRE.rb +4 -2
- data/lib/{taskjuggler3.rb → tj3.rb} +6 -5
- data/lib/tj3client.rb +19 -36
- data/lib/tj3d.rb +6 -2
- data/lib/tj3man.rb +4 -3
- data/lib/tj3ss_receiver.rb +2 -1
- data/lib/tj3ss_sender.rb +2 -1
- data/lib/tj3ts_receiver.rb +2 -1
- data/lib/tj3ts_sender.rb +2 -1
- data/lib/tj3ts_summary.rb +2 -1
- data/manual/Day_To_Day_Juggling +36 -0
- data/manual/How_To_Contribute +9 -4
- data/manual/Installation +10 -3
- data/manual/TaskJuggler_Internals +0 -2
- data/manual/Tutorial +25 -3
- data/prj_cfg.rb +4 -2
- data/spec/IntervalList_spec.rb +138 -0
- data/spec/ProjectBroker_spec.rb +133 -0
- data/tasks/changelog.rake +41 -24
- data/tasks/csts.rake +1 -0
- data/tasks/gem.rake +1 -0
- data/tasks/rcov.rake +1 -1
- data/tasks/spec.rake +7 -0
- data/tasks/test.rake +1 -0
- data/test/MessageChecker.rb +2 -1
- data/test/TestSuite/CSV-Reports/niku.tjp +70 -0
- data/test/TestSuite/CSV-Reports/{celltext-Reference.csv → refs/celltext.csv} +0 -0
- data/test/TestSuite/CSV-Reports/refs/niku.csv +5 -0
- data/test/TestSuite/CSV-Reports/{resourcereport-Reference.csv → refs/resourcereport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{resourcereport_with_tasks-Reference.csv → refs/resourcereport_with_tasks.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortByTree-Reference.csv → refs/sortByTree.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_duration.down-Reference.csv → refs/sortBy_duration.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_effort.up-Reference.csv → refs/sortBy_effort.up.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{sortBy_plan.start.down-Reference.csv → refs/sortBy_plan.start.down.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport-Reference.csv → refs/taskreport.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{taskreport_with_resources-Reference.csv → refs/taskreport_with_resources.csv} +0 -0
- data/test/TestSuite/CSV-Reports/{weekly-Reference.csv → refs/weekly.csv} +0 -0
- data/test/TestSuite/HTML-Reports/Alerts.tjp +12 -0
- data/test/TestSuite/Scheduler/Correct/Allocate.tjp +2 -2
- data/test/TestSuite/Scheduler/Correct/Container-2.tjp +1 -2
- data/test/TestSuite/Scheduler/Correct/InheritedAttributes.tjp +77 -0
- data/test/TestSuite/Scheduler/Correct/WeakDeps.tjp +40 -0
- data/test/TestSuite/Scheduler/Errors/loop_detected_12.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_13.tjp +3 -4
- data/test/TestSuite/Scheduler/Errors/loop_detected_3.tjp +2 -2
- data/test/TestSuite/Scheduler/Errors/loop_detected_6.tjp +8 -7
- data/test/TestSuite/Scheduler/Errors/onend_wrong_direction.tjp +19 -0
- data/test/TestSuite/Scheduler/Errors/onstart_wrong_direction.tjp +18 -0
- data/test/TestSuite/Scheduler/Errors/task_depend_multi.tjp +1 -2
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/boss_2002-03-02.tji +46 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/dev2_2002-03-02.tji +22 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/2002-03-02/resources.yml +11 -0
- data/test/TestSuite/StatusSheets/StatusSheetTemplates/acceptable_intervals +1 -0
- data/test/TestSuite/StatusSheets/sender.log +256 -0
- data/test/TestSuite/StatusSheets/statussheets.log +9 -0
- data/test/TestSuite/StatusSheets/tj3d.log +395 -0
- data/test/TestSuite/Syntax/Correct/Limits-1.tjp +2 -0
- data/test/TestSuite/Syntax/Correct/Niku.tjp +6 -1
- data/test/TestSuite/Syntax/Correct/Scenario.tjp +4 -1
- data/test/TestSuite/Syntax/Correct/Supplement.tjp +12 -5
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tji +3 -0
- data/test/TestSuite/Syntax/Correct/TaskPrefix.tjp +24 -0
- data/test/TestSuite/Syntax/Correct/css/tjreport.css +7 -2
- data/test/TestSuite/Syntax/Correct/tutorial.tjp +15 -5
- data/test/all.rb +2 -4
- data/test/test_BatchProcessor.rb +2 -1
- data/test/test_CSV-Reports.rb +34 -23
- data/test/test_CSVFile.rb +2 -1
- data/test/test_CollisionDetector.rb +3 -2
- data/test/test_Journal.rb +2 -1
- data/test/test_Limits.rb +2 -1
- data/test/test_LogicalExpression.rb +2 -1
- data/test/test_MacroTable.rb +2 -1
- data/test/test_Project.rb +3 -2
- data/test/test_ProjectFileScanner.rb +2 -1
- data/test/test_PropertySet.rb +2 -1
- data/test/test_Query.rb +2 -1
- data/test/test_RealFormat.rb +2 -1
- data/test/test_ReportGenerator.rb +2 -1
- data/test/test_RichText.rb +2 -1
- data/test/test_Scheduler.rb +2 -1
- data/test/test_ShiftAssignments.rb +2 -1
- data/test/test_SimpleQueryExpander.rb +2 -1
- data/test/test_Syntax.rb +2 -1
- data/test/test_TextFormatter.rb +3 -2
- data/test/test_TjTime.rb +2 -1
- data/test/test_TjpExample.rb +2 -1
- data/test/test_URLParameter.rb +2 -1
- data/test/test_UTF8String.rb +2 -1
- data/test/test_WorkingHours.rb +2 -1
- data/test/test_deep_copy.rb +2 -1
- metadata +74 -20
- data/doc/StringIO.html +0 -595
- data/test/TestSuite/Scheduler/Errors/loop_detected_7.tjp +0 -46
- data/test/TestSuite/Scheduler/Errors/loop_detected_8.tjp +0 -51
- data/test/TestSuite/Scheduler/Errors/multiple_durations.tjp +0 -11
data/doc/COPYING.html
CHANGED
|
@@ -80,6 +80,8 @@
|
|
|
80
80
|
|
|
81
81
|
<li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
82
82
|
|
|
83
|
+
<li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
84
|
+
|
|
83
85
|
<li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
84
86
|
|
|
85
87
|
<li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -158,6 +160,8 @@
|
|
|
158
160
|
|
|
159
161
|
<li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
160
162
|
|
|
163
|
+
<li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
164
|
+
|
|
161
165
|
<li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
162
166
|
|
|
163
167
|
<li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -190,6 +194,8 @@
|
|
|
190
194
|
|
|
191
195
|
<li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
192
196
|
|
|
197
|
+
<li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
198
|
+
|
|
193
199
|
<li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
194
200
|
|
|
195
201
|
<li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -470,6 +476,8 @@
|
|
|
470
476
|
|
|
471
477
|
<li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
472
478
|
|
|
479
|
+
<li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
480
|
+
|
|
473
481
|
<li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
474
482
|
|
|
475
483
|
<li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -496,8 +504,6 @@
|
|
|
496
504
|
|
|
497
505
|
<li><a href="./String.html">String</a></li>
|
|
498
506
|
|
|
499
|
-
<li><a href="./StringIO.html">StringIO</a></li>
|
|
500
|
-
|
|
501
507
|
</ul>
|
|
502
508
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
503
509
|
</div>
|
data/doc/Object.html
CHANGED
|
@@ -133,6 +133,8 @@
|
|
|
133
133
|
|
|
134
134
|
<li><a href="./TaskJuggler/AttributeDefinition.html">TaskJuggler::AttributeDefinition</a></li>
|
|
135
135
|
|
|
136
|
+
<li><a href="./TaskJuggler/AttributeOverwrite.html">TaskJuggler::AttributeOverwrite</a></li>
|
|
137
|
+
|
|
136
138
|
<li><a href="./TaskJuggler/BatchProcessor.html">TaskJuggler::BatchProcessor</a></li>
|
|
137
139
|
|
|
138
140
|
<li><a href="./TaskJuggler/Booking.html">TaskJuggler::Booking</a></li>
|
|
@@ -211,6 +213,8 @@
|
|
|
211
213
|
|
|
212
214
|
<li><a href="./TaskJuggler/Interval.html">TaskJuggler::Interval</a></li>
|
|
213
215
|
|
|
216
|
+
<li><a href="./TaskJuggler/IntervalList.html">TaskJuggler::IntervalList</a></li>
|
|
217
|
+
|
|
214
218
|
<li><a href="./TaskJuggler/IntervalListAttribute.html">TaskJuggler::IntervalListAttribute</a></li>
|
|
215
219
|
|
|
216
220
|
<li><a href="./TaskJuggler/JobInfo.html">TaskJuggler::JobInfo</a></li>
|
|
@@ -243,6 +247,8 @@
|
|
|
243
247
|
|
|
244
248
|
<li><a href="./TaskJuggler/LogicalExpressionAttribute.html">TaskJuggler::LogicalExpressionAttribute</a></li>
|
|
245
249
|
|
|
250
|
+
<li><a href="./TaskJuggler/LogicalExpressionListAttribute.html">TaskJuggler::LogicalExpressionListAttribute</a></li>
|
|
251
|
+
|
|
246
252
|
<li><a href="./TaskJuggler/LogicalFlag.html">TaskJuggler::LogicalFlag</a></li>
|
|
247
253
|
|
|
248
254
|
<li><a href="./TaskJuggler/LogicalFunction.html">TaskJuggler::LogicalFunction</a></li>
|
|
@@ -523,6 +529,8 @@
|
|
|
523
529
|
|
|
524
530
|
<li><a href="./TaskJuggler/WebServer.html">TaskJuggler::WebServer</a></li>
|
|
525
531
|
|
|
532
|
+
<li><a href="./TaskJuggler/WelcomePage.html">TaskJuggler::WelcomePage</a></li>
|
|
533
|
+
|
|
526
534
|
<li><a href="./TaskJuggler/WorkingHours.html">TaskJuggler::WorkingHours</a></li>
|
|
527
535
|
|
|
528
536
|
<li><a href="./TaskJuggler/WorkingHoursAttribute.html">TaskJuggler::WorkingHoursAttribute</a></li>
|
|
@@ -549,8 +557,6 @@
|
|
|
549
557
|
|
|
550
558
|
<li><a href="./String.html">String</a></li>
|
|
551
559
|
|
|
552
|
-
<li><a href="./StringIO.html">StringIO</a></li>
|
|
553
|
-
|
|
554
560
|
</ul>
|
|
555
561
|
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
|
|
556
562
|
</div>
|
|
@@ -628,45 +634,45 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
628
634
|
<div class="method-source-code"
|
|
629
635
|
id="deep-clone-source">
|
|
630
636
|
<pre>
|
|
631
|
-
<span class="ruby-comment cmt"># File lib/deep_copy.rb, line
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
637
|
+
<span class="ruby-comment cmt"># File lib/deep_copy.rb, line 36</span>
|
|
638
|
+
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deep_clone</span>
|
|
639
|
+
37: <span class="ruby-comment cmt"># We can't clone frozen objects. So just return a reference to them.</span>
|
|
640
|
+
38: <span class="ruby-comment cmt"># Built-in classed can't be cloned either. The check below is probably</span>
|
|
641
|
+
39: <span class="ruby-comment cmt"># cheaper than the frequent (hiddent) exceptions from those objects.</span>
|
|
642
|
+
40: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">frozen?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Fixnum</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Float</span>) <span class="ruby-operator">||</span>
|
|
643
|
+
41: <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">TrueClass</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">FalseClass</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)
|
|
644
|
+
42:
|
|
645
|
+
43: <span class="ruby-comment cmt"># In case we have loops in our graph, we return references, not</span>
|
|
646
|
+
44: <span class="ruby-comment cmt"># deep-copied objects.</span>
|
|
647
|
+
45: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-value str">'1.9.0'</span>
|
|
648
|
+
46: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@clonedObject</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'@clonedObject'</span>)
|
|
649
|
+
47: <span class="ruby-keyword kw">else</span>
|
|
650
|
+
48: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@clonedObject</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:@clonedObject</span>)
|
|
651
|
+
49: <span class="ruby-keyword kw">end</span>
|
|
652
|
+
50:
|
|
653
|
+
51: <span class="ruby-comment cmt"># Clone the current Object (shallow copy with internal state)</span>
|
|
654
|
+
52: <span class="ruby-keyword kw">begin</span>
|
|
655
|
+
53: <span class="ruby-ivar">@clonedObject</span> = <span class="ruby-identifier">clone</span>
|
|
656
|
+
54: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">TypeError</span>
|
|
657
|
+
55: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
|
|
658
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
659
|
+
57: <span class="ruby-comment cmt"># Recursively copy all instance variables.</span>
|
|
660
|
+
58: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
|
661
|
+
59: <span class="ruby-identifier">val</span> = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var</span>).<span class="ruby-identifier">deep_clone</span>
|
|
662
|
+
60: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">var</span>, <span class="ruby-identifier">val</span>)
|
|
663
|
+
61: <span class="ruby-keyword kw">end</span>
|
|
664
|
+
62: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Array</span>)
|
|
665
|
+
63: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">collect!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">deep_clone</span> }
|
|
666
|
+
64: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Hash</span>)
|
|
667
|
+
65: <span class="ruby-ivar">@clonedObject</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span>.<span class="ruby-identifier">deep_clone</span>) }
|
|
668
|
+
66: <span class="ruby-keyword kw">end</span>
|
|
669
|
+
67: <span class="ruby-comment cmt"># Remove the @clonedObject again.</span>
|
|
670
|
+
68: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-value str">'1.9.0'</span>
|
|
671
|
+
69: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value str">'@clonedObject'</span>)
|
|
672
|
+
70: <span class="ruby-keyword kw">else</span>
|
|
673
|
+
71: <span class="ruby-identifier">remove_instance_variable</span>(<span class="ruby-value">:@clonedObject</span>)
|
|
674
|
+
72: <span class="ruby-keyword kw">end</span>
|
|
675
|
+
73: <span class="ruby-keyword kw">end</span></pre>
|
|
670
676
|
</div>
|
|
671
677
|
|
|
672
678
|
</div>
|
|
@@ -697,49 +703,49 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
697
703
|
<div class="method-source-code"
|
|
698
704
|
id="main-source">
|
|
699
705
|
<pre>
|
|
700
|
-
<span class="ruby-comment cmt"># File lib/
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
706
|
+
<span class="ruby-comment cmt"># File lib/tj3.rb, line 114</span>
|
|
707
|
+
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
|
708
|
+
115: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-value">1</span>
|
|
709
|
+
116: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">false</span>
|
|
710
|
+
117: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">false</span>
|
|
711
|
+
118: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">false</span>
|
|
712
|
+
119: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">false</span>
|
|
713
|
+
120: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-value str">''</span>
|
|
714
|
+
121: <span class="ruby-ivar">@timeSheets</span> = []
|
|
715
|
+
122: <span class="ruby-ivar">@statusSheets</span> = []
|
|
716
|
+
123:
|
|
717
|
+
124: <span class="ruby-comment cmt"># Install signal handler to exit gracefully on CTRL-C.</span>
|
|
718
|
+
125: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">trap</span>(<span class="ruby-value str">'INT'</span>) <span class="ruby-keyword kw">do</span>
|
|
719
|
+
126: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nAborting on user request!"</span>
|
|
720
|
+
127: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
|
721
|
+
128: <span class="ruby-keyword kw">end</span>
|
|
722
|
+
129:
|
|
723
|
+
130: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">processArguments</span>(<span class="ruby-constant">ARGV</span>)
|
|
724
|
+
131: <span class="ruby-identifier">tj</span> = <span class="ruby-constant">TaskJuggler</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">true</span>)
|
|
725
|
+
132: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">maxCpuCores</span> = <span class="ruby-ivar">@maxCpuCores</span>
|
|
726
|
+
133: <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">warnTsDeltas</span> = <span class="ruby-ivar">@warnTsDeltas</span>
|
|
727
|
+
134: <span class="ruby-identifier">keepParser</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">empty?</span>
|
|
728
|
+
135: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">files</span>, <span class="ruby-identifier">keepParser</span>)
|
|
729
|
+
136:
|
|
730
|
+
137: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@checkSyntax</span>
|
|
731
|
+
138:
|
|
732
|
+
139: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">schedule</span>
|
|
733
|
+
140: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@forceReports</span>
|
|
734
|
+
141: <span class="ruby-keyword kw">end</span>
|
|
735
|
+
142:
|
|
736
|
+
143: <span class="ruby-comment cmt"># The checks of time and status sheets is probably only used for debugging.</span>
|
|
737
|
+
144: <span class="ruby-comment cmt"># Normally, this function is provided by tj3client.</span>
|
|
738
|
+
145: <span class="ruby-ivar">@timeSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ts</span><span class="ruby-operator">|</span>
|
|
739
|
+
146: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkTimeSheet</span>(<span class="ruby-identifier">ts</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">ts</span>)) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
740
|
+
147: <span class="ruby-keyword kw">end</span>
|
|
741
|
+
148: <span class="ruby-ivar">@statusSheets</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ss</span><span class="ruby-operator">|</span>
|
|
742
|
+
149: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">checkStatusSheet</span>(<span class="ruby-identifier">ss</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">ss</span>)) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
743
|
+
150: <span class="ruby-keyword kw">end</span>
|
|
744
|
+
151:
|
|
745
|
+
152: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@noReports</span>
|
|
746
|
+
153:
|
|
747
|
+
154: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">tj</span>.<span class="ruby-identifier">generateReports</span>(<span class="ruby-ivar">@outputDir</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">tj</span>.<span class="ruby-identifier">errors</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
|
748
|
+
155: <span class="ruby-keyword kw">end</span></pre>
|
|
743
749
|
</div>
|
|
744
750
|
|
|
745
751
|
</div>
|
|
@@ -770,29 +776,29 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
770
776
|
<div class="method-source-code"
|
|
771
777
|
id="main-source">
|
|
772
778
|
<pre>
|
|
773
|
-
<span class="ruby-comment cmt"># File lib/tj3man.rb, line
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
779
|
+
<span class="ruby-comment cmt"># File lib/tj3man.rb, line 65</span>
|
|
780
|
+
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">main</span>
|
|
781
|
+
66: <span class="ruby-identifier">args</span> = <span class="ruby-constant">Arguments</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">ARGV</span>)
|
|
782
|
+
67:
|
|
783
|
+
68: <span class="ruby-identifier">man</span> = <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">SyntaxReference</span>.<span class="ruby-identifier">new</span>
|
|
784
|
+
69: <span class="ruby-identifier">keywords</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">keywords</span>
|
|
785
|
+
70:
|
|
786
|
+
71: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">manual</span>
|
|
787
|
+
72: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">UserManual</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">generate</span>(<span class="ruby-identifier">args</span>.<span class="ruby-identifier">directory</span>)
|
|
788
|
+
73: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">empty?</span>
|
|
789
|
+
74: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">man</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>)
|
|
790
|
+
75: <span class="ruby-keyword kw">else</span>
|
|
791
|
+
76: <span class="ruby-identifier">keywords</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">keyword</span><span class="ruby-operator">|</span>
|
|
792
|
+
77: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">man</span>.<span class="ruby-identifier">to_s</span>(<span class="ruby-identifier">keyword</span>)
|
|
793
|
+
78: <span class="ruby-keyword kw">end</span>
|
|
794
|
+
79: <span class="ruby-keyword kw">end</span>
|
|
795
|
+
80:
|
|
796
|
+
81: <span class="ruby-comment cmt">#$stderr.puts "#{AppConfig.softwareName} v#{AppConfig.version} - " +</span>
|
|
797
|
+
82: <span class="ruby-comment cmt"># "#{AppConfig.packageInfo}\n\n"</span>
|
|
798
|
+
83: <span class="ruby-comment cmt">#puts man.to_s(args.keyword)</span>
|
|
799
|
+
84:
|
|
800
|
+
85: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
801
|
+
86: <span class="ruby-keyword kw">end</span></pre>
|
|
796
802
|
</div>
|
|
797
803
|
|
|
798
804
|
</div>
|
|
@@ -823,98 +829,98 @@ This is a variant of Object#clone that returns a deep copy of an object.
|
|
|
823
829
|
<div class="method-source-code"
|
|
824
830
|
id="process-rguments-source">
|
|
825
831
|
<pre>
|
|
826
|
-
<span class="ruby-comment cmt"># File lib/
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
832
|
+
<span class="ruby-comment cmt"># File lib/tj3.rb, line 22</span>
|
|
833
|
+
22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">processArguments</span>(<span class="ruby-identifier">argv</span>)
|
|
834
|
+
23: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
|
|
835
|
+
24:
|
|
836
|
+
25: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
|
837
|
+
26: <span class="ruby-node">"#{AppConfig.packageInfo}\n\n"</span> <span class="ruby-operator">+</span>
|
|
838
|
+
27: <span class="ruby-node">"Copyright (c) #{AppConfig.copyright.join(', ')}\n"</span> <span class="ruby-operator">+</span>
|
|
839
|
+
28: <span class="ruby-node">" by #{AppConfig.authors.join(', ')}\n\n"</span> <span class="ruby-operator">+</span>
|
|
840
|
+
29: <span class="ruby-node">"#{AppConfig.license}\n"</span> <span class="ruby-operator">+</span>
|
|
841
|
+
30: <span class="ruby-node">"For more info about #{AppConfig.softwareName} see "</span> <span class="ruby-operator">+</span>
|
|
842
|
+
31: <span class="ruby-node">"#{AppConfig.contact}\n\n"</span> <span class="ruby-operator">+</span>
|
|
843
|
+
32: <span class="ruby-node">"Usage: #{AppConfig.appName} [options] file.tjp "</span> <span class="ruby-operator">+</span>
|
|
844
|
+
33: <span class="ruby-value str">"[ file1.tji ... ]"</span>
|
|
845
|
+
34: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">""</span>
|
|
846
|
+
35: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debuglevel N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">"Verbosity of debug output"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
847
|
+
36: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">level</span> = <span class="ruby-identifier">arg</span>
|
|
848
|
+
37: <span class="ruby-keyword kw">end</span>
|
|
849
|
+
38: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--debugmodules x,y,z'</span>, <span class="ruby-constant">Array</span>,
|
|
850
|
+
39: <span class="ruby-value str">'Restrict debug output to a list of modules'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
851
|
+
40: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">segments</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">','</span>)
|
|
852
|
+
41: <span class="ruby-keyword kw">end</span>
|
|
853
|
+
42: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--silent'</span>, <span class="ruby-value str">"Don't show program and progress information"</span>) <span class="ruby-keyword kw">do</span>
|
|
854
|
+
43: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">true</span>
|
|
855
|
+
44: <span class="ruby-keyword kw">end</span>
|
|
856
|
+
45: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--force-reports'</span>,
|
|
857
|
+
46: <span class="ruby-value str">'Generate reports despite scheduling errors'</span>) <span class="ruby-keyword kw">do</span>
|
|
858
|
+
47: <span class="ruby-ivar">@forceReports</span> = <span class="ruby-keyword kw">true</span>
|
|
859
|
+
48: <span class="ruby-keyword kw">end</span>
|
|
860
|
+
49: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-time-sheet <tji-file>'</span>, <span class="ruby-constant">String</span>,
|
|
861
|
+
50: <span class="ruby-value str">"Check the given time sheet"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
862
|
+
51: <span class="ruby-ivar">@timeSheets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
|
863
|
+
52: <span class="ruby-keyword kw">end</span>
|
|
864
|
+
53: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-status-sheet <tji-file>'</span>, <span class="ruby-constant">String</span>,
|
|
865
|
+
54: <span class="ruby-value str">"Check the given status sheet"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
866
|
+
55: <span class="ruby-ivar">@statusSheets</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">arg</span>
|
|
867
|
+
56: <span class="ruby-keyword kw">end</span>
|
|
868
|
+
57: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--warn-ts-deltas'</span>,
|
|
869
|
+
58: <span class="ruby-value str">'Turn on warnings for requested changes in time sheets'</span>) <span class="ruby-keyword kw">do</span>
|
|
870
|
+
59: <span class="ruby-ivar">@warnTsDeltas</span> = <span class="ruby-keyword kw">true</span>
|
|
871
|
+
60: <span class="ruby-keyword kw">end</span>
|
|
872
|
+
61: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--check-syntax'</span>,
|
|
873
|
+
62: <span class="ruby-value str">'Only parse the input files and check the syntax.'</span>) <span class="ruby-keyword kw">do</span>
|
|
874
|
+
63: <span class="ruby-ivar">@checkSyntax</span> = <span class="ruby-keyword kw">true</span>
|
|
875
|
+
64: <span class="ruby-keyword kw">end</span>
|
|
876
|
+
65: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--no-reports'</span>,
|
|
877
|
+
66: <span class="ruby-value str">'Just schedule the project, but don\t generate any reports.'</span>) <span class="ruby-keyword kw">do</span>
|
|
878
|
+
67: <span class="ruby-ivar">@noReports</span> = <span class="ruby-keyword kw">true</span>
|
|
879
|
+
68: <span class="ruby-keyword kw">end</span>
|
|
880
|
+
69: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-o'</span>, <span class="ruby-value str">'--output-dir <directory>'</span>, <span class="ruby-constant">String</span>,
|
|
881
|
+
70: <span class="ruby-value str">'Directory the reports should go into'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
882
|
+
71: <span class="ruby-ivar">@outputDir</span> = <span class="ruby-identifier">arg</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/'</span>
|
|
883
|
+
72: <span class="ruby-keyword kw">end</span>
|
|
884
|
+
73: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-c N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-value str">'Maximum number of CPU cores to use'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
|
|
885
|
+
74: <span class="ruby-ivar">@maxCpuCores</span> = <span class="ruby-identifier">arg</span>
|
|
886
|
+
75: <span class="ruby-keyword kw">end</span>
|
|
887
|
+
76: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">'-h'</span>, <span class="ruby-value str">'--help'</span>, <span class="ruby-value str">'Show this message'</span>) <span class="ruby-keyword kw">do</span>
|
|
888
|
+
77: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
|
889
|
+
78: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
890
|
+
79: <span class="ruby-keyword kw">end</span>
|
|
891
|
+
80:
|
|
892
|
+
81: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>(<span class="ruby-value str">'--version'</span>, <span class="ruby-value str">'Show version info'</span>) <span class="ruby-keyword kw">do</span>
|
|
893
|
+
82: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
|
894
|
+
83: <span class="ruby-node">"#{AppConfig.packageInfo}"</span>
|
|
895
|
+
84: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
896
|
+
85: <span class="ruby-keyword kw">end</span>
|
|
897
|
+
86:
|
|
898
|
+
87: <span class="ruby-comment cmt"># Show some progress information by default</span>
|
|
899
|
+
88: <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span> = <span class="ruby-keyword kw">false</span>
|
|
900
|
+
89: <span class="ruby-keyword kw">begin</span>
|
|
901
|
+
90: <span class="ruby-identifier">files</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">argv</span>)
|
|
902
|
+
91: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">ParseError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">msg</span>
|
|
903
|
+
92: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span>
|
|
904
|
+
93: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">msg</span>
|
|
905
|
+
94: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
|
906
|
+
95: <span class="ruby-keyword kw">end</span>
|
|
907
|
+
96:
|
|
908
|
+
97: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
|
|
909
|
+
98: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">to_s</span>
|
|
910
|
+
99: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-value str">"\nNo project file name specified!"</span>
|
|
911
|
+
100: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
|
912
|
+
101: <span class="ruby-keyword kw">end</span>
|
|
913
|
+
102:
|
|
914
|
+
103: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">TaskJuggler</span><span class="ruby-operator">::</span><span class="ruby-constant">Log</span>.<span class="ruby-identifier">silent</span>
|
|
915
|
+
104: <span class="ruby-identifier">puts</span> <span class="ruby-node">"#{AppConfig.softwareName} v#{AppConfig.version} - "</span> <span class="ruby-operator">+</span>
|
|
916
|
+
105: <span class="ruby-node">"#{AppConfig.packageInfo}\n\n"</span> <span class="ruby-operator">+</span>
|
|
917
|
+
106: <span class="ruby-node">"Copyright (c) #{AppConfig.copyright.join(', ')}"</span> <span class="ruby-operator">+</span>
|
|
918
|
+
107: <span class="ruby-node">" by #{AppConfig.authors.join(', ')}\n\n"</span> <span class="ruby-operator">+</span>
|
|
919
|
+
108: <span class="ruby-node">"#{AppConfig.license}\n"</span>
|
|
920
|
+
109: <span class="ruby-keyword kw">end</span>
|
|
921
|
+
110:
|
|
922
|
+
111: <span class="ruby-identifier">files</span>
|
|
923
|
+
112: <span class="ruby-keyword kw">end</span></pre>
|
|
918
924
|
</div>
|
|
919
925
|
|
|
920
926
|
</div>
|