taskjuggler 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (544) hide show
  1. data/CHANGELOG +2086 -0
  2. data/benchmarks/666tasks.tjp +3183 -0
  3. data/benchmarks/booking.tjp +14 -10
  4. data/doc/AppConfig.html +95 -73
  5. data/doc/Arguments.html +22 -2
  6. data/doc/CHANGELOG.html +2587 -0
  7. data/doc/COPYING.html +21 -1
  8. data/doc/Object.html +161 -122
  9. data/doc/README.html +21 -1
  10. data/doc/RuntimeConfig.html +26 -6
  11. data/doc/String.html +38 -18
  12. data/doc/StringIO.html +579 -0
  13. data/doc/TaskJuggler.html +251 -143
  14. data/doc/TaskJuggler/Account.html +26 -6
  15. data/doc/TaskJuggler/AccountAttribute.html +28 -8
  16. data/doc/TaskJuggler/AccountScenario.html +24 -4
  17. data/doc/TaskJuggler/Allocation.html +30 -10
  18. data/doc/TaskJuggler/AllocationAttribute.html +28 -8
  19. data/doc/TaskJuggler/AttributeBase.html +46 -26
  20. data/doc/TaskJuggler/AttributeDefinition.html +22 -2
  21. data/doc/TaskJuggler/BatchProcessor.html +40 -20
  22. data/doc/TaskJuggler/Booking.html +26 -6
  23. data/doc/TaskJuggler/BookingListAttribute.html +28 -8
  24. data/doc/TaskJuggler/BooleanAttribute.html +28 -8
  25. data/doc/TaskJuggler/CSVFile.html +308 -146
  26. data/doc/TaskJuggler/CellSettingPattern.html +22 -2
  27. data/doc/TaskJuggler/CellSettingPatternList.html +26 -6
  28. data/doc/TaskJuggler/Charge.html +26 -6
  29. data/doc/TaskJuggler/ChargeListAttribute.html +26 -6
  30. data/doc/TaskJuggler/ChargeSet.html +33 -13
  31. data/doc/TaskJuggler/ChargeSetListAttribute.html +28 -8
  32. data/doc/TaskJuggler/ColumnListAttribute.html +26 -6
  33. data/doc/TaskJuggler/ColumnTable.html +24 -4
  34. data/doc/TaskJuggler/Daemon.html +26 -6
  35. data/doc/TaskJuggler/DateAttribute.html +26 -6
  36. data/doc/TaskJuggler/DefinitionListAttribute.html +22 -2
  37. data/doc/TaskJuggler/DependencyListAttribute.html +28 -8
  38. data/doc/TaskJuggler/DurationAttribute.html +28 -8
  39. data/doc/TaskJuggler/FixnumAttribute.html +24 -4
  40. data/doc/TaskJuggler/FlagListAttribute.html +28 -8
  41. data/doc/TaskJuggler/FloatAttribute.html +26 -6
  42. data/doc/TaskJuggler/FormatListAttribute.html +24 -4
  43. data/doc/TaskJuggler/GanttChart.html +147 -126
  44. data/doc/TaskJuggler/GanttContainer.html +34 -14
  45. data/doc/TaskJuggler/GanttHeader.html +28 -8
  46. data/doc/TaskJuggler/GanttHeaderScaleItem.html +24 -4
  47. data/doc/TaskJuggler/GanttLine.html +38 -18
  48. data/doc/TaskJuggler/GanttLoadStack.html +26 -6
  49. data/doc/TaskJuggler/GanttMilestone.html +34 -14
  50. data/doc/TaskJuggler/GanttRouter.html +50 -30
  51. data/doc/TaskJuggler/GanttTaskBar.html +34 -14
  52. data/doc/TaskJuggler/HTMLDocument.html +26 -6
  53. data/doc/TaskJuggler/HTMLGraphics.html +30 -10
  54. data/doc/TaskJuggler/Interval.html +40 -22
  55. data/doc/TaskJuggler/IntervalListAttribute.html +28 -8
  56. data/doc/TaskJuggler/JobInfo.html +24 -4
  57. data/doc/TaskJuggler/Journal.html +226 -147
  58. data/doc/TaskJuggler/JournalEntry.html +22 -2
  59. data/doc/TaskJuggler/JournalEntryList.html +129 -112
  60. data/doc/TaskJuggler/KeywordArray.html +26 -6
  61. data/doc/TaskJuggler/KeywordDocumentation.html +46 -26
  62. data/doc/TaskJuggler/Limits.html +152 -123
  63. data/doc/TaskJuggler/Limits/Limit.html +149 -70
  64. data/doc/TaskJuggler/LimitsAttribute.html +36 -51
  65. data/doc/TaskJuggler/ListAttributeBase.html +24 -4
  66. data/doc/TaskJuggler/Log.html +50 -32
  67. data/doc/TaskJuggler/LogFile.html +37 -17
  68. data/doc/TaskJuggler/LogicalAttribute.html +53 -33
  69. data/doc/TaskJuggler/LogicalExpression.html +26 -6
  70. data/doc/TaskJuggler/LogicalExpressionAttribute.html +32 -12
  71. data/doc/TaskJuggler/LogicalFlag.html +42 -22
  72. data/doc/TaskJuggler/LogicalFunction.html +204 -140
  73. data/doc/TaskJuggler/LogicalOperation.html +135 -111
  74. data/doc/TaskJuggler/Macro.html +22 -2
  75. data/doc/TaskJuggler/MacroParser.html +32 -12
  76. data/doc/TaskJuggler/MacroTable.html +32 -12
  77. data/doc/TaskJuggler/ManagerResponsibilities.html +24 -4
  78. data/doc/TaskJuggler/ManagerStatusRecord.html +24 -4
  79. data/doc/TaskJuggler/Message.html +24 -4
  80. data/doc/TaskJuggler/MessageHandler.html +24 -4
  81. data/doc/TaskJuggler/Navigator.html +104 -71
  82. data/doc/TaskJuggler/NavigatorElement.html +32 -12
  83. data/doc/TaskJuggler/NikuProject.html +22 -2
  84. data/doc/TaskJuggler/NikuReport.html +310 -228
  85. data/doc/TaskJuggler/NikuResource.html +22 -2
  86. data/doc/TaskJuggler/NodeListAttribute.html +615 -0
  87. data/doc/TaskJuggler/OnShiftCache.html +32 -12
  88. data/doc/TaskJuggler/ProcessIntercom.html +205 -78
  89. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -6
  90. data/doc/TaskJuggler/Project.html +708 -660
  91. data/doc/TaskJuggler/ProjectBroker.html +506 -304
  92. data/doc/TaskJuggler/ProjectBrokerIface.html +61 -41
  93. data/doc/TaskJuggler/ProjectFileParser.html +429 -373
  94. data/doc/TaskJuggler/ProjectFileScanner.html +1790 -0
  95. data/doc/TaskJuggler/ProjectRecord.html +80 -60
  96. data/doc/TaskJuggler/ProjectServer.html +312 -237
  97. data/doc/TaskJuggler/ProjectServerIface.html +101 -43
  98. data/doc/TaskJuggler/PropertyAttribute.html +32 -12
  99. data/doc/TaskJuggler/PropertyList.html +166 -145
  100. data/doc/TaskJuggler/PropertySet.html +254 -224
  101. data/doc/TaskJuggler/PropertyTreeNode.html +670 -536
  102. data/doc/TaskJuggler/Query.html +169 -148
  103. data/doc/TaskJuggler/RTFHandlers.html +622 -0
  104. data/doc/TaskJuggler/RTFNavigator.html +28 -8
  105. data/doc/TaskJuggler/RTFQuery.html +40 -20
  106. data/doc/TaskJuggler/RTFReport.html +62 -25
  107. data/doc/TaskJuggler/RTFReportLink.html +765 -0
  108. data/doc/TaskJuggler/RealFormat.html +26 -6
  109. data/doc/TaskJuggler/RealFormatAttribute.html +26 -6
  110. data/doc/TaskJuggler/ReferenceAttribute.html +59 -39
  111. data/doc/TaskJuggler/Report.html +402 -251
  112. data/doc/TaskJuggler/ReportBase.html +162 -137
  113. data/doc/TaskJuggler/ReportContext.html +112 -29
  114. data/doc/TaskJuggler/ReportServer.html +89 -64
  115. data/doc/TaskJuggler/ReportServerIface.html +75 -55
  116. data/doc/TaskJuggler/ReportServerRecord.html +54 -31
  117. data/doc/TaskJuggler/ReportServlet.html +980 -0
  118. data/doc/TaskJuggler/ReportTable.html +41 -21
  119. data/doc/TaskJuggler/ReportTableCell.html +214 -170
  120. data/doc/TaskJuggler/ReportTableColumn.html +30 -10
  121. data/doc/TaskJuggler/ReportTableLegend.html +36 -16
  122. data/doc/TaskJuggler/ReportTableLine.html +32 -12
  123. data/doc/TaskJuggler/Resource.html +99 -87
  124. data/doc/TaskJuggler/ResourceListAttribute.html +59 -39
  125. data/doc/TaskJuggler/ResourceListRE.html +47 -26
  126. data/doc/TaskJuggler/ResourceScenario.html +403 -437
  127. data/doc/TaskJuggler/RichText.html +26 -6
  128. data/doc/TaskJuggler/RichTextAttribute.html +50 -30
  129. data/doc/TaskJuggler/RichTextDocument.html +37 -17
  130. data/doc/TaskJuggler/RichTextElement.html +475 -413
  131. data/doc/TaskJuggler/RichTextException.html +22 -2
  132. data/doc/TaskJuggler/RichTextFunctionExample.html +28 -8
  133. data/doc/TaskJuggler/RichTextFunctionHandler.html +24 -4
  134. data/doc/TaskJuggler/RichTextImage.html +22 -2
  135. data/doc/TaskJuggler/RichTextIntermediate.html +38 -18
  136. data/doc/TaskJuggler/RichTextParser.html +56 -34
  137. data/doc/TaskJuggler/RichTextScanner.html +82 -61
  138. data/doc/TaskJuggler/RichTextSnip.html +34 -14
  139. data/doc/TaskJuggler/RichTextSyntaxRules.html +507 -353
  140. data/doc/TaskJuggler/Scenario.html +22 -2
  141. data/doc/TaskJuggler/ScenarioData.html +30 -46
  142. data/doc/TaskJuggler/ScenarioListAttribute.html +38 -18
  143. data/doc/TaskJuggler/Scoreboard.html +42 -22
  144. data/doc/TaskJuggler/SheetHandlerBase.html +40 -20
  145. data/doc/TaskJuggler/SheetReceiver.html +333 -295
  146. data/doc/TaskJuggler/SheetSender.html +253 -230
  147. data/doc/TaskJuggler/Shift.html +26 -6
  148. data/doc/TaskJuggler/ShiftAssignment.html +89 -73
  149. data/doc/TaskJuggler/ShiftAssignments.html +226 -234
  150. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +39 -54
  151. data/doc/TaskJuggler/ShiftScenario.html +28 -8
  152. data/doc/TaskJuggler/SortListAttribute.html +34 -14
  153. data/doc/TaskJuggler/SourceFileInfo.html +24 -4
  154. data/doc/TaskJuggler/StatusSheetReceiver.html +24 -3
  155. data/doc/TaskJuggler/StatusSheetReport.html +168 -153
  156. data/doc/TaskJuggler/StatusSheetSender.html +24 -3
  157. data/doc/TaskJuggler/StringAttribute.html +38 -18
  158. data/doc/TaskJuggler/SymbolAttribute.html +32 -12
  159. data/doc/TaskJuggler/SyntaxReference.html +40 -20
  160. data/doc/TaskJuggler/TOCEntry.html +26 -6
  161. data/doc/TaskJuggler/TSResourceRecord.html +22 -2
  162. data/doc/TaskJuggler/TSTaskRecord.html +22 -2
  163. data/doc/TaskJuggler/TableColumnDefinition.html +59 -22
  164. data/doc/TaskJuggler/TableOfContents.html +26 -6
  165. data/doc/TaskJuggler/TableReport.html +937 -904
  166. data/doc/TaskJuggler/Task.html +55 -36
  167. data/doc/TaskJuggler/TaskDependency.html +24 -4
  168. data/doc/TaskJuggler/TaskListAttribute.html +50 -30
  169. data/doc/TaskJuggler/TaskListRE.html +27 -7
  170. data/doc/TaskJuggler/TaskScenario.html +1273 -1153
  171. data/doc/TaskJuggler/TextFormatter.html +28 -8
  172. data/doc/TaskJuggler/TextParser.html +585 -338
  173. data/doc/TaskJuggler/TextParser/Pattern.html +54 -34
  174. data/doc/TaskJuggler/TextParser/Rule.html +95 -73
  175. data/doc/TaskJuggler/TextParser/StackElement.html +39 -17
  176. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +24 -4
  177. data/doc/TaskJuggler/TextParser/TokenDoc.html +22 -2
  178. data/doc/TaskJuggler/TextReport.html +28 -8
  179. data/doc/TaskJuggler/TextScanner.html +400 -1404
  180. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +28 -240
  181. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +37 -184
  182. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +682 -0
  183. data/doc/TaskJuggler/TextScanner/StreamHandle.html +342 -67
  184. data/doc/TaskJuggler/TimeSheet.html +48 -28
  185. data/doc/TaskJuggler/TimeSheetReceiver.html +24 -3
  186. data/doc/TaskJuggler/TimeSheetRecord.html +47 -27
  187. data/doc/TaskJuggler/TimeSheetReport.html +154 -133
  188. data/doc/TaskJuggler/TimeSheetSender.html +24 -3
  189. data/doc/TaskJuggler/TimeSheetSummary.html +137 -91
  190. data/doc/TaskJuggler/TimeSheets.html +26 -6
  191. data/doc/TaskJuggler/Tj3AppBase.html +85 -58
  192. data/doc/TaskJuggler/Tj3Client.html +292 -238
  193. data/doc/TaskJuggler/Tj3Daemon.html +159 -74
  194. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -6
  195. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -6
  196. data/doc/TaskJuggler/Tj3SsSender.html +53 -26
  197. data/doc/TaskJuggler/Tj3TsReceiver.html +28 -7
  198. data/doc/TaskJuggler/Tj3TsSender.html +26 -6
  199. data/doc/TaskJuggler/Tj3TsSummary.html +26 -6
  200. data/doc/TaskJuggler/TjException.html +22 -2
  201. data/doc/TaskJuggler/TjTime.html +216 -160
  202. data/doc/TaskJuggler/TjpExample.html +34 -14
  203. data/doc/TaskJuggler/TjpExportRE.html +403 -407
  204. data/doc/TaskJuggler/TjpSyntaxRules.html +4805 -4408
  205. data/doc/TaskJuggler/URLParameter.html +649 -0
  206. data/doc/TaskJuggler/UserManual.html +42 -22
  207. data/doc/TaskJuggler/WebServer.html +702 -0
  208. data/doc/TaskJuggler/WorkingHours.html +38 -18
  209. data/doc/TaskJuggler/WorkingHoursAttribute.html +61 -41
  210. data/doc/TaskJuggler/XMLBlob.html +24 -4
  211. data/doc/TaskJuggler/XMLComment.html +24 -4
  212. data/doc/TaskJuggler/XMLDocument.html +30 -10
  213. data/doc/TaskJuggler/XMLElement.html +34 -14
  214. data/doc/TaskJuggler/XMLNamedText.html +22 -2
  215. data/doc/TaskJuggler/XMLText.html +24 -4
  216. data/doc/index.html +1841 -1666
  217. data/doc/lib/AccountScenario_rb.html +1 -1
  218. data/doc/lib/Account_rb.html +1 -1
  219. data/doc/lib/Allocation_rb.html +1 -1
  220. data/doc/lib/AppConfig_rb.html +2 -2
  221. data/doc/lib/AttributeBase_rb.html +1 -1
  222. data/doc/lib/AttributeDefinition_rb.html +1 -1
  223. data/doc/lib/Attributes_rb.html +2 -2
  224. data/doc/lib/BatchProcessor_rb.html +1 -1
  225. data/doc/lib/Booking_rb.html +1 -1
  226. data/doc/lib/ChargeSet_rb.html +1 -1
  227. data/doc/lib/Charge_rb.html +1 -1
  228. data/doc/lib/HTMLDocument_rb.html +1 -1
  229. data/doc/lib/Interval_rb.html +1 -1
  230. data/doc/lib/Journal_rb.html +2 -2
  231. data/doc/lib/KeywordArray_rb.html +1 -1
  232. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  233. data/doc/lib/Limits_rb.html +2 -2
  234. data/doc/lib/LogFile_rb.html +2 -2
  235. data/doc/lib/Log_rb.html +1 -1
  236. data/doc/lib/LogicalExpression_rb.html +1 -1
  237. data/doc/lib/LogicalFunction_rb.html +2 -2
  238. data/doc/lib/LogicalOperation_rb.html +2 -2
  239. data/doc/lib/MacroParser_rb.html +1 -1
  240. data/doc/lib/MacroTable_rb.html +1 -1
  241. data/doc/lib/MessageHandler_rb.html +1 -1
  242. data/doc/lib/Message_rb.html +1 -1
  243. data/doc/lib/ProjectFileParser_rb.html +4 -8
  244. data/doc/lib/ProjectFileScanner_rb.html +67 -0
  245. data/doc/lib/Project_rb.html +2 -2
  246. data/doc/lib/PropertyList_rb.html +2 -2
  247. data/doc/lib/PropertySet_rb.html +2 -2
  248. data/doc/lib/PropertyTreeNode_rb.html +2 -2
  249. data/doc/lib/Query_rb.html +2 -2
  250. data/doc/lib/RTFHandlers_rb.html +73 -0
  251. data/doc/lib/RTFNavigator_rb.html +1 -1
  252. data/doc/lib/RTFQuery_rb.html +1 -1
  253. data/doc/lib/RTFReportLink_rb.html +71 -0
  254. data/doc/lib/RTFReport_rb.html +2 -2
  255. data/doc/lib/RealFormat_rb.html +1 -1
  256. data/doc/lib/ResourceScenario_rb.html +2 -2
  257. data/doc/lib/Resource_rb.html +2 -2
  258. data/doc/lib/RichTextDocument_rb.html +1 -1
  259. data/doc/lib/RichTextElement_rb.html +2 -2
  260. data/doc/lib/RichTextFunctionExample_rb.html +1 -1
  261. data/doc/lib/RichTextFunctionHandler_rb.html +1 -1
  262. data/doc/lib/RichTextParser_rb.html +2 -2
  263. data/doc/lib/RichTextScanner_rb.html +2 -2
  264. data/doc/lib/RichTextSnip_rb.html +1 -1
  265. data/doc/lib/RichTextSyntaxRules_rb.html +2 -2
  266. data/doc/lib/RichText_rb.html +1 -1
  267. data/doc/lib/RuntimeConfig_rb.html +1 -1
  268. data/doc/lib/ScenarioData_rb.html +2 -2
  269. data/doc/lib/Scenario_rb.html +1 -1
  270. data/doc/lib/Scoreboard_rb.html +1 -1
  271. data/doc/lib/SheetHandlerBase_rb.html +1 -1
  272. data/doc/lib/SheetReceiver_rb.html +2 -2
  273. data/doc/lib/SheetSender_rb.html +4 -2
  274. data/doc/lib/ShiftAssignments_rb.html +4 -2
  275. data/doc/lib/ShiftScenario_rb.html +1 -1
  276. data/doc/lib/Shift_rb.html +1 -1
  277. data/doc/lib/SourceFileInfo_rb.html +1 -1
  278. data/doc/lib/StatusSheetReceiver_rb.html +2 -2
  279. data/doc/lib/StatusSheetSender_rb.html +2 -2
  280. data/doc/lib/SyntaxReference_rb.html +1 -1
  281. data/doc/lib/TOCEntry_rb.html +1 -1
  282. data/doc/lib/TableColumnDefinition_rb.html +2 -2
  283. data/doc/lib/TableOfContents_rb.html +1 -1
  284. data/doc/lib/TaskDependency_rb.html +1 -1
  285. data/doc/lib/TaskJuggler_rb.html +2 -2
  286. data/doc/lib/TaskScenario_rb.html +2 -2
  287. data/doc/lib/Task_rb.html +2 -2
  288. data/doc/lib/TextFormatter_rb.html +1 -1
  289. data/doc/lib/TextParser/Pattern_rb.html +1 -1
  290. data/doc/lib/TextParser/Rule_rb.html +2 -2
  291. data/doc/lib/TextParser/StackElement_rb.html +2 -2
  292. data/doc/lib/TextParser/TokenDoc_rb.html +1 -1
  293. data/doc/lib/TextParser_rb.html +2 -2
  294. data/doc/lib/TextScanner_rb.html +6 -2
  295. data/doc/lib/TimeSheetReceiver_rb.html +2 -2
  296. data/doc/lib/TimeSheetSender_rb.html +2 -2
  297. data/doc/lib/TimeSheetSummary_rb.html +2 -2
  298. data/doc/lib/TimeSheets_rb.html +2 -2
  299. data/doc/lib/Tj3AppBase_rb.html +2 -2
  300. data/doc/lib/Tj3Config_rb.html +2 -2
  301. data/doc/lib/Tj3SheetAppBase_rb.html +2 -2
  302. data/doc/lib/TjException_rb.html +1 -1
  303. data/doc/lib/TjTime_rb.html +2 -2
  304. data/doc/lib/TjpExample_rb.html +1 -1
  305. data/doc/lib/TjpSyntaxRules_rb.html +2 -2
  306. data/doc/lib/URLParameter_rb.html +67 -0
  307. data/doc/lib/UTF8String_rb.html +1 -1
  308. data/doc/lib/UserManual_rb.html +1 -1
  309. data/doc/lib/WorkingHours_rb.html +1 -1
  310. data/doc/lib/XMLDocument_rb.html +2 -2
  311. data/doc/lib/XMLElement_rb.html +1 -1
  312. data/doc/lib/daemon/Daemon_rb.html +1 -1
  313. data/doc/lib/daemon/ProcessIntercom_rb.html +2 -2
  314. data/doc/lib/daemon/ProjectBroker_rb.html +4 -2
  315. data/doc/lib/daemon/ProjectServer_rb.html +2 -2
  316. data/doc/lib/daemon/ReportServer_rb.html +2 -2
  317. data/doc/lib/daemon/WebServer_rb.html +75 -0
  318. data/doc/lib/deep_copy_rb.html +2 -2
  319. data/doc/lib/reports/CSVFile_rb.html +2 -2
  320. data/doc/lib/reports/ColumnTable_rb.html +1 -1
  321. data/doc/lib/reports/GanttChart_rb.html +2 -2
  322. data/doc/lib/reports/GanttContainer_rb.html +1 -1
  323. data/doc/lib/reports/GanttHeaderScaleItem_rb.html +1 -1
  324. data/doc/lib/reports/GanttHeader_rb.html +1 -1
  325. data/doc/lib/reports/GanttLine_rb.html +1 -1
  326. data/doc/lib/reports/GanttLoadStack_rb.html +1 -1
  327. data/doc/lib/reports/GanttMilestone_rb.html +1 -1
  328. data/doc/lib/reports/GanttRouter_rb.html +1 -1
  329. data/doc/lib/reports/GanttTaskBar_rb.html +1 -1
  330. data/doc/lib/reports/HTMLGraphics_rb.html +1 -1
  331. data/doc/lib/reports/Navigator_rb.html +2 -2
  332. data/doc/lib/reports/NikuReport_rb.html +2 -2
  333. data/doc/lib/reports/ReportBase_rb.html +2 -2
  334. data/doc/lib/reports/ReportContext_rb.html +2 -2
  335. data/doc/lib/reports/ReportTableCell_rb.html +2 -2
  336. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  337. data/doc/lib/reports/ReportTableLegend_rb.html +1 -1
  338. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  339. data/doc/lib/reports/ReportTable_rb.html +2 -2
  340. data/doc/lib/reports/Report_rb.html +2 -2
  341. data/doc/lib/reports/ResourceListRE_rb.html +2 -2
  342. data/doc/lib/reports/StatusSheetReport_rb.html +2 -2
  343. data/doc/lib/reports/TableReport_rb.html +2 -2
  344. data/doc/lib/reports/TaskListRE_rb.html +2 -2
  345. data/doc/lib/reports/TextReport_rb.html +1 -1
  346. data/doc/lib/reports/TimeSheetReport_rb.html +2 -2
  347. data/doc/lib/reports/TjpExportRE_rb.html +2 -2
  348. data/doc/lib/ruby-signal-bug_rb.html +1 -1
  349. data/doc/lib/taskjuggler3_rb.html +2 -2
  350. data/doc/lib/tj3client_rb.html +2 -2
  351. data/doc/lib/tj3d_rb.html +2 -2
  352. data/doc/lib/tj3man_rb.html +1 -1
  353. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  354. data/doc/lib/tj3ss_sender_rb.html +2 -2
  355. data/doc/lib/tj3ts_receiver_rb.html +2 -2
  356. data/doc/lib/tj3ts_sender_rb.html +1 -1
  357. data/doc/lib/tj3ts_summary_rb.html +1 -1
  358. data/doc/rdoc.css +9 -4
  359. data/examples/tutorial.tjp +17 -15
  360. data/gem_spec.rb +3 -0
  361. data/lib/AppConfig.rb +3 -1
  362. data/lib/Attributes.rb +10 -8
  363. data/lib/Journal.rb +55 -20
  364. data/lib/Limits.rb +72 -46
  365. data/lib/LogFile.rb +3 -3
  366. data/lib/LogicalFunction.rb +19 -6
  367. data/lib/LogicalOperation.rb +5 -1
  368. data/lib/Project.rb +37 -9
  369. data/lib/ProjectFileParser.rb +25 -22
  370. data/lib/ProjectFileScanner.rb +365 -0
  371. data/lib/PropertyList.rb +2 -1
  372. data/lib/PropertySet.rb +14 -4
  373. data/lib/PropertyTreeNode.rb +42 -29
  374. data/lib/Query.rb +3 -1
  375. data/lib/RTFHandlers.rb +35 -0
  376. data/lib/RTFReport.rb +23 -6
  377. data/lib/RTFReportLink.rb +72 -0
  378. data/lib/Resource.rb +8 -16
  379. data/lib/ResourceScenario.rb +1 -22
  380. data/lib/RichTextElement.rb +42 -0
  381. data/lib/RichTextParser.rb +6 -4
  382. data/lib/RichTextScanner.rb +5 -5
  383. data/lib/RichTextSyntaxRules.rb +48 -10
  384. data/lib/ScenarioData.rb +5 -3
  385. data/lib/SheetReceiver.rb +24 -6
  386. data/lib/SheetSender.rb +17 -13
  387. data/lib/ShiftAssignments.rb +56 -52
  388. data/lib/StatusSheetReceiver.rb +1 -0
  389. data/lib/StatusSheetSender.rb +1 -0
  390. data/lib/TableColumnDefinition.rb +4 -2
  391. data/lib/Task.rb +8 -9
  392. data/lib/TaskJuggler.rb +21 -11
  393. data/lib/TaskScenario.rb +61 -26
  394. data/lib/TextParser.rb +268 -106
  395. data/lib/TextParser/Rule.rb +4 -2
  396. data/lib/TextParser/StackElement.rb +6 -4
  397. data/lib/TextScanner.rb +283 -700
  398. data/lib/TimeSheetReceiver.rb +1 -0
  399. data/lib/TimeSheetSender.rb +1 -0
  400. data/lib/TimeSheetSummary.rb +51 -26
  401. data/lib/TimeSheets.rb +1 -1
  402. data/lib/Tj3AppBase.rb +8 -1
  403. data/lib/Tj3Config.rb +1 -1
  404. data/lib/TjTime.rb +5 -0
  405. data/lib/TjpSyntaxRules.rb +360 -144
  406. data/lib/URLParameter.rb +30 -0
  407. data/lib/XMLDocument.rb +2 -2
  408. data/lib/daemon/ProcessIntercom.rb +50 -9
  409. data/lib/daemon/ProjectBroker.rb +63 -10
  410. data/lib/daemon/ProjectServer.rb +47 -16
  411. data/lib/daemon/ReportServer.rb +9 -4
  412. data/lib/daemon/WebServer.rb +204 -0
  413. data/lib/deep_copy.rb +4 -1
  414. data/lib/reports/CSVFile.rb +150 -66
  415. data/lib/reports/GanttChart.rb +2 -1
  416. data/lib/reports/Navigator.rb +18 -5
  417. data/lib/reports/NikuReport.rb +32 -2
  418. data/lib/reports/Report.rb +65 -37
  419. data/lib/reports/ReportBase.rb +14 -9
  420. data/lib/reports/ReportContext.rb +19 -4
  421. data/lib/reports/ReportTable.rb +2 -2
  422. data/lib/reports/ReportTableCell.rb +54 -30
  423. data/lib/reports/ResourceListRE.rb +4 -3
  424. data/lib/reports/StatusSheetReport.rb +8 -13
  425. data/lib/reports/TableReport.rb +47 -32
  426. data/lib/reports/TaskListRE.rb +3 -3
  427. data/lib/reports/TimeSheetReport.rb +14 -5
  428. data/lib/reports/TjpExportRE.rb +14 -19
  429. data/lib/taskjuggler3.rb +15 -0
  430. data/lib/tj3client.rb +9 -7
  431. data/lib/tj3d.rb +38 -10
  432. data/lib/tj3ss_sender.rb +7 -0
  433. data/lib/tj3ts_receiver.rb +1 -0
  434. data/manual/Day_To_Day_Juggling +1 -1
  435. data/manual/Rich_Text_Attributes +8 -0
  436. data/manual/TaskJuggler_2x_Migration +7 -0
  437. data/manual/The_TaskJuggler_Syntax +20 -6
  438. data/prj_cfg.rb +3 -2
  439. data/tasks/changelog.rake +36 -0
  440. data/tasks/csts.rake +2 -3
  441. data/tasks/gem.rake +10 -0
  442. data/tasks/missing.rake +0 -17
  443. data/test/TestSuite/ReportGenerator/Correct/Journal.html +63 -0
  444. data/test/TestSuite/ReportGenerator/Correct/Journal.tjp +14 -0
  445. data/test/TestSuite/{HTML-Reports/LogicalFunctions.tjp → ReportGenerator/Correct/LogicalFunctions1.tjp} +2 -2
  446. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +3 -0
  447. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.tjp +19 -0
  448. data/test/TestSuite/ReportGenerator/Correct/css/tjmanual.css +66 -0
  449. data/test/TestSuite/ReportGenerator/Correct/css/tjreport.css +407 -0
  450. data/test/TestSuite/ReportGenerator/Correct/icons/details.png +0 -0
  451. data/test/TestSuite/ReportGenerator/Correct/icons/flag-green.png +0 -0
  452. data/test/TestSuite/ReportGenerator/Correct/icons/flag-red.png +0 -0
  453. data/test/TestSuite/ReportGenerator/Correct/icons/flag-yellow.png +0 -0
  454. data/test/TestSuite/ReportGenerator/Correct/icons/resource.png +0 -0
  455. data/test/TestSuite/ReportGenerator/Correct/icons/resourcegroup.png +0 -0
  456. data/test/TestSuite/ReportGenerator/Correct/icons/task.png +0 -0
  457. data/test/TestSuite/ReportGenerator/Correct/icons/taskgroup.png +0 -0
  458. data/test/TestSuite/ReportGenerator/Correct/icons/trend-down.png +0 -0
  459. data/test/TestSuite/ReportGenerator/Correct/icons/trend-flat.png +0 -0
  460. data/test/TestSuite/ReportGenerator/Correct/icons/trend-up.png +0 -0
  461. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +2 -0
  462. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +26 -0
  463. data/test/TestSuite/ReportGenerator/Correct/refs/Journal-1.csv +6 -0
  464. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions1-1.csv +7 -0
  465. data/test/TestSuite/ReportGenerator/Correct/refs/LogicalFunctions2-1.csv +2 -0
  466. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +2 -0
  467. data/test/TestSuite/ReportGenerator/Correct/scripts/wz_tooltip.js +1301 -0
  468. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +20 -0
  469. data/test/TestSuite/Scheduler/Correct/Container.html +349 -0
  470. data/test/TestSuite/Scheduler/Correct/Limits.tjp +11 -4
  471. data/test/TestSuite/Scheduler/Correct/Shift2.html +464 -150
  472. data/test/TestSuite/Scheduler/Correct/TimeSheet2.html +108 -0
  473. data/test/TestSuite/Scheduler/Correct/TimeSheet2.tjp +7 -0
  474. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +14 -0
  475. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +233 -21
  476. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +20 -20
  477. data/test/TestSuite/StatusSheetTemplates/project.tji +35 -0
  478. data/test/TestSuite/StatusSheetTemplates/project.tjp +56 -0
  479. data/test/TestSuite/StatusSheets/run +3 -2
  480. data/test/TestSuite/Syntax/Correct/Include.tjp +1 -1
  481. data/test/TestSuite/Syntax/Correct/Macro-1.tjp +1 -1
  482. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +6 -0
  483. data/test/TestSuite/Syntax/Correct/Macro-3.tjp +14 -0
  484. data/test/TestSuite/Syntax/Correct/ResourcePrefix.html +32 -0
  485. data/test/TestSuite/Syntax/Correct/css/tjmanual.css +66 -0
  486. data/test/TestSuite/Syntax/Correct/css/tjreport.css +407 -0
  487. data/test/TestSuite/Syntax/Correct/icons/details.png +0 -0
  488. data/test/TestSuite/Syntax/Correct/icons/flag-green.png +0 -0
  489. data/test/TestSuite/Syntax/Correct/icons/flag-red.png +0 -0
  490. data/test/TestSuite/Syntax/Correct/icons/flag-yellow.png +0 -0
  491. data/test/TestSuite/Syntax/Correct/icons/resource.png +0 -0
  492. data/test/TestSuite/Syntax/Correct/icons/resourcegroup.png +0 -0
  493. data/test/TestSuite/Syntax/Correct/icons/task.png +0 -0
  494. data/test/TestSuite/Syntax/Correct/icons/taskgroup.png +0 -0
  495. data/test/TestSuite/Syntax/Correct/icons/trend-down.png +0 -0
  496. data/test/TestSuite/Syntax/Correct/icons/trend-flat.png +0 -0
  497. data/test/TestSuite/Syntax/Correct/icons/trend-up.png +0 -0
  498. data/test/TestSuite/Syntax/Correct/include/dir1/file2.tji +3 -0
  499. data/test/TestSuite/Syntax/Correct/include/dir1/file5.tji +2 -0
  500. data/test/TestSuite/Syntax/Correct/include/dir3/all.tji +3 -0
  501. data/test/TestSuite/Syntax/Correct/include/dir3/file1.tji +2 -0
  502. data/test/TestSuite/Syntax/Correct/include/dir3/file2.tji +1 -0
  503. data/test/TestSuite/Syntax/Correct/scripts/wz_tooltip.js +1301 -0
  504. data/test/TestSuite/Syntax/Correct/tutorial.tjp +13 -13
  505. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  506. data/test/TestSuite/Syntax/Errors/include_recursion.tjp +1 -0
  507. data/test/TestSuite/Syntax/Errors/macro_stack_overflow.tjp +2 -1
  508. data/test/TestSuite/Syntax/Errors/{eof_in_istring1.tjp → no_token_match1.tjp} +2 -2
  509. data/test/TestSuite/Syntax/Errors/{eof_in_istring2.tjp → no_token_match2.tjp} +2 -2
  510. data/test/TestSuite/Syntax/Errors/{eof_in_istring3.tjp → no_token_match3.tjp} +1 -1
  511. data/test/TestSuite/Syntax/Errors/{eof_in_istring4.tjp → no_token_match4.tjp} +1 -1
  512. data/test/TestSuite/Syntax/Errors/{eof_in_istring5.tjp → no_token_match5.tjp} +1 -1
  513. data/test/TestSuite/Syntax/Errors/not_scheduled.tjp +13 -0
  514. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  515. data/test/TestSuite/TimeSheets/run +5 -5
  516. data/test/test_CSVFile.rb +75 -0
  517. data/test/test_Limits.rb +63 -5
  518. data/test/test_ProjectFileScanner.rb +163 -0
  519. data/test/test_ReportGenerator.rb +81 -0
  520. data/test/test_RichText.rb +21 -3
  521. data/test/test_Scheduler.rb +1 -1
  522. data/test/test_ShiftAssignments.rb +4 -4
  523. data/test/test_Syntax.rb +1 -1
  524. data/test/test_URLParameter.rb +30 -0
  525. metadata +126 -32
  526. data/test/TestSuite/Scheduler/Errors/not_scheduled.tjp +0 -8
  527. data/test/TestSuite/Syntax/Errors/bad_comment.tjp +0 -7
  528. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/boss_2002-03-01.tji +0 -36
  529. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev1_2002-03-01.tji +0 -48
  530. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev2_2002-03-01.tji +0 -67
  531. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/dev3_2002-03-01.tji +0 -67
  532. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/doc_2002-03-01.tji +0 -48
  533. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/resources.yml +0 -31
  534. data/test/TestSuite/TimeSheets/TimeSheetTemplates/2002-03-01/test_2002-03-01.tji +0 -36
  535. data/test/TestSuite/TimeSheets/TimeSheetTemplates/acceptable_intervals +0 -1
  536. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/all.tji +0 -1
  537. data/test/TestSuite/TimeSheets/TimeSheets/2002-03-01/dev2_2002-03-01.tji +0 -54
  538. data/test/TestSuite/TimeSheets/TimeSheets/all.tji +0 -2
  539. data/test/TestSuite/TimeSheets/receiver.log +0 -102
  540. data/test/TestSuite/TimeSheets/sender.log +0 -794
  541. data/test/TestSuite/TimeSheets/summary.log +0 -884
  542. data/test/TestSuite/TimeSheets/timesheets.log +0 -45
  543. data/test/TestSuite/TimeSheets/tj3d.log +0 -292
  544. 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')) do |arg|
50
- @port = arg
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
- broker.daemonize = @daemonize
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
@@ -49,6 +49,7 @@ EOT
49
49
  ts.dryRun = @dryRun
50
50
 
51
51
  ts.processEmail
52
+ 0
52
53
  end
53
54
 
54
55
  end
@@ -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
@@ -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
- For multi-line strings cut mark strings are recommended. A
75
- cut-mark-string starts with ''''<nowiki>-8<-</nowiki>'''' (scissor on
76
- a dotted line) and ends with ''''->8-''''. The start mark must be
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 lines of the string and is not
79
- included in the resulting strings. The terminating cut mark must only
80
- be preceded by white spaces in that line.
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
- CHANGES = ''#'CHANGES'
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]#,CHANGES]
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
+ }
@@ -7,8 +7,8 @@ task "Task 4"
7
7
  task "Task 5"
8
8
  task ""
9
9
 
10
- taskreport "LogicalFunctions" {
11
- formats html
10
+ taskreport "LogicalFunctions1-1" {
11
+ formats csv
12
12
  columns index, name,
13
13
  id { celltext plan.index < 3 "Index < 3"
14
14
  celltext 1 "Index >= 3" },
@@ -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
+