taskjuggler 0.0.7 → 0.0.8

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.
Files changed (415) hide show
  1. data/CHANGELOG +119 -0
  2. data/benchmarks/allocatedSlots.tjp +1602 -0
  3. data/benchmarks/booking.tjp +40 -30
  4. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/css/tjmanual.css +0 -0
  5. data/{test/TestSuite/Scheduler/Correct → benchmarks}/css/tjreport.css +1 -0
  6. data/benchmarks/gantt.tjp +57 -0
  7. data/benchmarks/htmltaskreport.tjp +26 -1
  8. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/details.png +0 -0
  9. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-green.png +0 -0
  10. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-red.png +0 -0
  11. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/flag-yellow.png +0 -0
  12. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resource.png +0 -0
  13. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/resourcegroup.png +0 -0
  14. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/task.png +0 -0
  15. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/taskgroup.png +0 -0
  16. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-down.png +0 -0
  17. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-flat.png +0 -0
  18. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/icons/trend-up.png +0 -0
  19. data/benchmarks/profile.clt +36082 -0
  20. data/benchmarks/profile.html +58182 -0
  21. data/benchmarks/runbench.rb +6 -0
  22. data/{test/TestSuite/ReportGenerator/Errors → benchmarks}/scripts/wz_tooltip.js +0 -0
  23. data/doc/AppConfig.html +85 -37
  24. data/doc/Arguments.html +11 -1
  25. data/doc/CHANGELOG.html +131 -2
  26. data/doc/COPYING.html +11 -1
  27. data/doc/Object.html +12 -3
  28. data/doc/README.html +11 -1
  29. data/doc/RuntimeConfig.html +11 -1
  30. data/doc/String.html +11 -1
  31. data/doc/StringIO.html +11 -1
  32. data/doc/TaskJuggler.html +250 -219
  33. data/doc/TaskJuggler/Account.html +11 -1
  34. data/doc/TaskJuggler/AccountAttribute.html +11 -1
  35. data/doc/TaskJuggler/AccountScenario.html +11 -1
  36. data/doc/TaskJuggler/Allocation.html +11 -1
  37. data/doc/TaskJuggler/AllocationAttribute.html +11 -1
  38. data/doc/TaskJuggler/AttributeBase.html +11 -1
  39. data/doc/TaskJuggler/AttributeDefinition.html +11 -1
  40. data/doc/TaskJuggler/BatchProcessor.html +11 -1
  41. data/doc/TaskJuggler/Booking.html +11 -1
  42. data/doc/TaskJuggler/BookingListAttribute.html +11 -1
  43. data/doc/TaskJuggler/BooleanAttribute.html +11 -1
  44. data/doc/TaskJuggler/CSVFile.html +12 -2
  45. data/doc/TaskJuggler/CellSettingPattern.html +11 -1
  46. data/doc/TaskJuggler/CellSettingPatternList.html +11 -1
  47. data/doc/TaskJuggler/Charge.html +11 -1
  48. data/doc/TaskJuggler/ChargeListAttribute.html +11 -1
  49. data/doc/TaskJuggler/ChargeSet.html +11 -1
  50. data/doc/TaskJuggler/ChargeSetListAttribute.html +11 -1
  51. data/doc/TaskJuggler/CollisionDetector.html +1063 -0
  52. data/doc/TaskJuggler/ColumnListAttribute.html +11 -1
  53. data/doc/TaskJuggler/ColumnTable.html +11 -1
  54. data/doc/TaskJuggler/Daemon.html +11 -1
  55. data/doc/TaskJuggler/{OnShiftCache.html → DataCache.html} +127 -139
  56. data/doc/TaskJuggler/DataCacheEntry.html +711 -0
  57. data/doc/TaskJuggler/DateAttribute.html +11 -1
  58. data/doc/TaskJuggler/DefinitionListAttribute.html +11 -1
  59. data/doc/TaskJuggler/DependencyListAttribute.html +11 -1
  60. data/doc/TaskJuggler/DurationAttribute.html +16 -5
  61. data/doc/TaskJuggler/FileList.html +11 -1
  62. data/doc/TaskJuggler/FileRecord.html +11 -1
  63. data/doc/TaskJuggler/FixnumAttribute.html +19 -9
  64. data/doc/TaskJuggler/FlagListAttribute.html +29 -19
  65. data/doc/TaskJuggler/FloatAttribute.html +23 -13
  66. data/doc/TaskJuggler/FormatListAttribute.html +19 -9
  67. data/doc/TaskJuggler/GanttChart.html +94 -133
  68. data/doc/TaskJuggler/GanttContainer.html +11 -1
  69. data/doc/TaskJuggler/GanttHeader.html +11 -1
  70. data/doc/TaskJuggler/GanttHeaderScaleItem.html +11 -1
  71. data/doc/TaskJuggler/GanttLine.html +11 -1
  72. data/doc/TaskJuggler/GanttLoadStack.html +11 -1
  73. data/doc/TaskJuggler/GanttMilestone.html +11 -1
  74. data/doc/TaskJuggler/GanttRouter.html +247 -596
  75. data/doc/TaskJuggler/GanttTaskBar.html +11 -1
  76. data/doc/TaskJuggler/HTMLDocument.html +11 -1
  77. data/doc/TaskJuggler/HTMLGraphics.html +11 -1
  78. data/doc/TaskJuggler/Interval.html +11 -1
  79. data/doc/TaskJuggler/IntervalListAttribute.html +33 -23
  80. data/doc/TaskJuggler/JobInfo.html +11 -1
  81. data/doc/TaskJuggler/Journal.html +11 -1
  82. data/doc/TaskJuggler/JournalEntry.html +11 -1
  83. data/doc/TaskJuggler/JournalEntryList.html +11 -1
  84. data/doc/TaskJuggler/KeywordArray.html +11 -1
  85. data/doc/TaskJuggler/KeywordDocumentation.html +16 -6
  86. data/doc/TaskJuggler/Limits.html +11 -1
  87. data/doc/TaskJuggler/Limits/Limit.html +11 -1
  88. data/doc/TaskJuggler/LimitsAttribute.html +24 -14
  89. data/doc/TaskJuggler/ListAttributeBase.html +11 -1
  90. data/doc/TaskJuggler/Log.html +11 -1
  91. data/doc/TaskJuggler/LogFile.html +11 -1
  92. data/doc/TaskJuggler/LogicalAttribute.html +11 -1
  93. data/doc/TaskJuggler/LogicalExpression.html +11 -1
  94. data/doc/TaskJuggler/LogicalExpressionAttribute.html +19 -9
  95. data/doc/TaskJuggler/LogicalFlag.html +11 -1
  96. data/doc/TaskJuggler/LogicalFunction.html +11 -1
  97. data/doc/TaskJuggler/LogicalOperation.html +11 -1
  98. data/doc/TaskJuggler/Macro.html +11 -1
  99. data/doc/TaskJuggler/MacroTable.html +11 -1
  100. data/doc/TaskJuggler/ManagerResponsibilities.html +11 -1
  101. data/doc/TaskJuggler/ManagerStatusRecord.html +11 -1
  102. data/doc/TaskJuggler/Message.html +11 -1
  103. data/doc/TaskJuggler/MessageHandler.html +11 -1
  104. data/doc/TaskJuggler/Navigator.html +12 -2
  105. data/doc/TaskJuggler/NavigatorElement.html +11 -1
  106. data/doc/TaskJuggler/NikuProject.html +11 -1
  107. data/doc/TaskJuggler/NikuReport.html +11 -1
  108. data/doc/TaskJuggler/NikuResource.html +11 -1
  109. data/doc/TaskJuggler/NodeListAttribute.html +17 -7
  110. data/doc/TaskJuggler/PlaceHolderCell.html +722 -0
  111. data/doc/TaskJuggler/ProcessIntercom.html +11 -1
  112. data/doc/TaskJuggler/ProcessIntercomIface.html +11 -1
  113. data/doc/TaskJuggler/Project.html +587 -500
  114. data/doc/TaskJuggler/ProjectBroker.html +11 -1
  115. data/doc/TaskJuggler/ProjectBrokerIface.html +11 -1
  116. data/doc/TaskJuggler/ProjectFileParser.html +205 -192
  117. data/doc/TaskJuggler/ProjectFileScanner.html +230 -207
  118. data/doc/TaskJuggler/ProjectRecord.html +11 -1
  119. data/doc/TaskJuggler/ProjectServer.html +11 -1
  120. data/doc/TaskJuggler/ProjectServerIface.html +11 -1
  121. data/doc/TaskJuggler/PropertyAttribute.html +19 -9
  122. data/doc/TaskJuggler/PropertyList.html +95 -83
  123. data/doc/TaskJuggler/PropertySet.html +11 -1
  124. data/doc/TaskJuggler/PropertyTreeNode.html +11 -1
  125. data/doc/TaskJuggler/Query.html +234 -232
  126. data/doc/TaskJuggler/RTFHandlers.html +11 -1
  127. data/doc/TaskJuggler/RTFNavigator.html +11 -1
  128. data/doc/TaskJuggler/RTFQuery.html +11 -1
  129. data/doc/TaskJuggler/RTFReport.html +11 -1
  130. data/doc/TaskJuggler/RTFReportLink.html +11 -1
  131. data/doc/TaskJuggler/RTFWithQuerySupport.html +11 -1
  132. data/doc/TaskJuggler/RealFormat.html +12 -2
  133. data/doc/TaskJuggler/RealFormatAttribute.html +15 -5
  134. data/doc/TaskJuggler/ReferenceAttribute.html +38 -28
  135. data/doc/TaskJuggler/Report.html +96 -113
  136. data/doc/TaskJuggler/ReportBase.html +161 -152
  137. data/doc/TaskJuggler/ReportContext.html +11 -1
  138. data/doc/TaskJuggler/ReportServer.html +59 -48
  139. data/doc/TaskJuggler/ReportServerIface.html +51 -41
  140. data/doc/TaskJuggler/ReportServerRecord.html +11 -1
  141. data/doc/TaskJuggler/ReportServlet.html +11 -1
  142. data/doc/TaskJuggler/ReportTable.html +46 -25
  143. data/doc/TaskJuggler/ReportTableCell.html +296 -275
  144. data/doc/TaskJuggler/ReportTableColumn.html +14 -4
  145. data/doc/TaskJuggler/ReportTableLegend.html +11 -1
  146. data/doc/TaskJuggler/ReportTableLine.html +19 -7
  147. data/doc/TaskJuggler/Resource.html +12 -2
  148. data/doc/TaskJuggler/ResourceListAttribute.html +40 -30
  149. data/doc/TaskJuggler/ResourceListRE.html +11 -1
  150. data/doc/TaskJuggler/ResourceScenario.html +708 -565
  151. data/doc/TaskJuggler/RichText.html +54 -36
  152. data/doc/TaskJuggler/RichTextAttribute.html +31 -21
  153. data/doc/TaskJuggler/RichTextDocument.html +11 -1
  154. data/doc/TaskJuggler/RichTextElement.html +11 -1
  155. data/doc/TaskJuggler/RichTextFunctionExample.html +11 -1
  156. data/doc/TaskJuggler/RichTextFunctionHandler.html +11 -1
  157. data/doc/TaskJuggler/RichTextImage.html +11 -1
  158. data/doc/TaskJuggler/RichTextIntermediate.html +81 -71
  159. data/doc/TaskJuggler/RichTextParser.html +88 -33
  160. data/doc/TaskJuggler/RichTextScanner.html +45 -35
  161. data/doc/TaskJuggler/RichTextSnip.html +11 -1
  162. data/doc/TaskJuggler/RichTextSyntaxRules.html +436 -389
  163. data/doc/TaskJuggler/Scenario.html +11 -1
  164. data/doc/TaskJuggler/ScenarioData.html +11 -1
  165. data/doc/TaskJuggler/ScenarioListAttribute.html +23 -13
  166. data/doc/TaskJuggler/Scoreboard.html +92 -73
  167. data/doc/TaskJuggler/SheetHandlerBase.html +11 -1
  168. data/doc/TaskJuggler/SheetReceiver.html +11 -1
  169. data/doc/TaskJuggler/SheetSender.html +11 -1
  170. data/doc/TaskJuggler/Shift.html +11 -1
  171. data/doc/TaskJuggler/ShiftAssignment.html +11 -1
  172. data/doc/TaskJuggler/ShiftAssignments.html +11 -1
  173. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +24 -14
  174. data/doc/TaskJuggler/ShiftScenario.html +11 -1
  175. data/doc/TaskJuggler/SimpleQueryExpander.html +11 -1
  176. data/doc/TaskJuggler/SortListAttribute.html +21 -11
  177. data/doc/TaskJuggler/SourceFileInfo.html +11 -1
  178. data/doc/TaskJuggler/StatusSheetReceiver.html +11 -1
  179. data/doc/TaskJuggler/StatusSheetReport.html +11 -1
  180. data/doc/TaskJuggler/StatusSheetSender.html +112 -11
  181. data/doc/TaskJuggler/StringAttribute.html +23 -13
  182. data/doc/TaskJuggler/SymbolAttribute.html +19 -9
  183. data/doc/TaskJuggler/SyntaxReference.html +80 -71
  184. data/doc/TaskJuggler/TOCEntry.html +11 -1
  185. data/doc/TaskJuggler/TSResourceRecord.html +11 -1
  186. data/doc/TaskJuggler/TSTaskRecord.html +11 -1
  187. data/doc/TaskJuggler/TableColumnDefinition.html +11 -1
  188. data/doc/TaskJuggler/TableOfContents.html +11 -1
  189. data/doc/TaskJuggler/TableReport.html +422 -411
  190. data/doc/TaskJuggler/Task.html +11 -1
  191. data/doc/TaskJuggler/TaskDependency.html +11 -1
  192. data/doc/TaskJuggler/TaskListAttribute.html +33 -23
  193. data/doc/TaskJuggler/TaskListRE.html +11 -1
  194. data/doc/TaskJuggler/TaskScenario.html +2007 -1919
  195. data/doc/TaskJuggler/TextFormatter.html +11 -1
  196. data/doc/TaskJuggler/TextParser.html +421 -612
  197. data/doc/TaskJuggler/TextParser/Pattern.html +410 -211
  198. data/doc/TaskJuggler/TextParser/Rule.html +224 -152
  199. data/doc/TaskJuggler/TextParser/StackElement.html +190 -28
  200. data/doc/TaskJuggler/TextParser/State.html +989 -0
  201. data/doc/TaskJuggler/TextParser/StateTransition.html +782 -0
  202. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +25 -14
  203. data/doc/TaskJuggler/TextParser/TokenDoc.html +11 -1
  204. data/doc/TaskJuggler/TextReport.html +11 -1
  205. data/doc/TaskJuggler/TextScanner.html +285 -273
  206. data/doc/TaskJuggler/TextScanner/BufferStreamHandle.html +17 -7
  207. data/doc/TaskJuggler/TextScanner/FileStreamHandle.html +24 -14
  208. data/doc/TaskJuggler/TextScanner/MacroStackEntry.html +11 -1
  209. data/doc/TaskJuggler/TextScanner/StreamHandle.html +64 -52
  210. data/doc/TaskJuggler/TimeSheet.html +11 -1
  211. data/doc/TaskJuggler/TimeSheetReceiver.html +11 -1
  212. data/doc/TaskJuggler/TimeSheetRecord.html +11 -1
  213. data/doc/TaskJuggler/TimeSheetReport.html +11 -1
  214. data/doc/TaskJuggler/TimeSheetSender.html +11 -1
  215. data/doc/TaskJuggler/TimeSheetSummary.html +11 -1
  216. data/doc/TaskJuggler/TimeSheets.html +11 -1
  217. data/doc/TaskJuggler/Tj3AppBase.html +11 -1
  218. data/doc/TaskJuggler/Tj3Client.html +11 -1
  219. data/doc/TaskJuggler/Tj3Daemon.html +11 -1
  220. data/doc/TaskJuggler/Tj3SheetAppBase.html +11 -1
  221. data/doc/TaskJuggler/Tj3SsReceiver.html +11 -1
  222. data/doc/TaskJuggler/Tj3SsSender.html +11 -1
  223. data/doc/TaskJuggler/Tj3TsReceiver.html +11 -1
  224. data/doc/TaskJuggler/Tj3TsSender.html +11 -1
  225. data/doc/TaskJuggler/Tj3TsSummary.html +11 -1
  226. data/doc/TaskJuggler/TjException.html +11 -1
  227. data/doc/TaskJuggler/TjTime.html +474 -324
  228. data/doc/TaskJuggler/TjpExample.html +11 -1
  229. data/doc/TaskJuggler/TjpExportRE.html +11 -1
  230. data/doc/TaskJuggler/TjpSyntaxRules.html +3731 -3662
  231. data/doc/TaskJuggler/URLParameter.html +11 -1
  232. data/doc/TaskJuggler/UserManual.html +11 -1
  233. data/doc/TaskJuggler/VimSyntax.html +11 -1
  234. data/doc/TaskJuggler/WebServer.html +11 -1
  235. data/doc/TaskJuggler/WorkingHours.html +295 -221
  236. data/doc/TaskJuggler/WorkingHoursAttribute.html +11 -1
  237. data/doc/TaskJuggler/XMLBlob.html +11 -1
  238. data/doc/TaskJuggler/XMLComment.html +11 -1
  239. data/doc/TaskJuggler/XMLDocument.html +11 -1
  240. data/doc/TaskJuggler/XMLElement.html +11 -1
  241. data/doc/TaskJuggler/XMLNamedText.html +11 -1
  242. data/doc/TaskJuggler/XMLText.html +11 -1
  243. data/doc/index.html +694 -624
  244. data/doc/lib/AppConfig_rb.html +1 -1
  245. data/doc/lib/Attributes_rb.html +1 -1
  246. data/doc/lib/Booking_rb.html +1 -1
  247. data/doc/lib/DataCache_rb.html +69 -0
  248. data/doc/lib/KeywordDocumentation_rb.html +1 -1
  249. data/doc/lib/ProjectFileParser_rb.html +1 -1
  250. data/doc/lib/ProjectFileScanner_rb.html +1 -1
  251. data/doc/lib/Project_rb.html +1 -1
  252. data/doc/lib/PropertyList_rb.html +1 -1
  253. data/doc/lib/Query_rb.html +1 -1
  254. data/doc/lib/RealFormat_rb.html +1 -1
  255. data/doc/lib/ResourceScenario_rb.html +1 -1
  256. data/doc/lib/Resource_rb.html +1 -1
  257. data/doc/lib/RichTextParser_rb.html +1 -1
  258. data/doc/lib/RichTextScanner_rb.html +1 -1
  259. data/doc/lib/RichTextSyntaxRules_rb.html +1 -1
  260. data/doc/lib/RichText_rb.html +1 -1
  261. data/doc/lib/Scoreboard_rb.html +1 -1
  262. data/doc/lib/StatusSheetSender_rb.html +1 -1
  263. data/doc/lib/SyntaxReference_rb.html +1 -1
  264. data/doc/lib/TaskJuggler_rb.html +1 -1
  265. data/doc/lib/TaskScenario_rb.html +3 -1
  266. data/doc/lib/TextParser/Pattern_rb.html +3 -1
  267. data/doc/lib/TextParser/Rule_rb.html +3 -1
  268. data/doc/lib/TextParser/StackElement_rb.html +3 -1
  269. data/doc/lib/TextParser/State_rb.html +65 -0
  270. data/doc/lib/TextParser_rb.html +1 -1
  271. data/doc/lib/TextScanner_rb.html +1 -1
  272. data/doc/lib/Tj3Config_rb.html +1 -1
  273. data/doc/lib/TjTime_rb.html +1 -1
  274. data/doc/lib/TjpSyntaxRules_rb.html +1 -1
  275. data/doc/lib/WorkingHours_rb.html +3 -1
  276. data/doc/lib/daemon/ReportServer_rb.html +1 -1
  277. data/doc/lib/reports/CSVFile_rb.html +1 -1
  278. data/doc/lib/reports/CollisionDetector_rb.html +67 -0
  279. data/doc/lib/reports/GanttChart_rb.html +1 -1
  280. data/doc/lib/reports/GanttRouter_rb.html +3 -1
  281. data/doc/lib/reports/Navigator_rb.html +1 -1
  282. data/doc/lib/reports/ReportBase_rb.html +1 -1
  283. data/doc/lib/reports/ReportTableCell_rb.html +1 -1
  284. data/doc/lib/reports/ReportTableColumn_rb.html +1 -1
  285. data/doc/lib/reports/ReportTableLine_rb.html +1 -1
  286. data/doc/lib/reports/ReportTable_rb.html +1 -1
  287. data/doc/lib/reports/Report_rb.html +1 -1
  288. data/doc/lib/reports/TableReport_rb.html +1 -1
  289. data/doc/lib/taskjuggler3_rb.html +1 -1
  290. data/examples/tutorial.tjp +1 -2
  291. data/lib/AppConfig.rb +10 -4
  292. data/lib/Attributes.rb +4 -4
  293. data/lib/DataCache.rb +124 -0
  294. data/lib/KeywordDocumentation.rb +5 -5
  295. data/lib/Project.rb +54 -10
  296. data/lib/ProjectFileParser.rb +10 -9
  297. data/lib/ProjectFileScanner.rb +38 -25
  298. data/lib/PropertyList.rb +6 -4
  299. data/lib/Query.rb +0 -8
  300. data/lib/RealFormat.rb +1 -1
  301. data/lib/Resource.rb +1 -1
  302. data/lib/ResourceScenario.rb +96 -31
  303. data/lib/RichText.rb +17 -5
  304. data/lib/RichTextParser.rb +22 -9
  305. data/lib/RichTextScanner.rb +34 -34
  306. data/lib/RichTextSyntaxRules.rb +41 -36
  307. data/lib/Scoreboard.rb +16 -7
  308. data/lib/StatusSheetSender.rb +63 -0
  309. data/lib/SyntaxReference.rb +9 -10
  310. data/lib/TaskJuggler.rb +28 -4
  311. data/lib/TaskScenario.rb +66 -19
  312. data/lib/TextParser.rb +219 -384
  313. data/lib/TextParser/Pattern.rb +168 -49
  314. data/lib/TextParser/Rule.rb +33 -17
  315. data/lib/TextParser/StackElement.rb +42 -2
  316. data/lib/TextParser/State.rb +175 -0
  317. data/lib/TextScanner.rb +19 -15
  318. data/lib/Tj3Config.rb +1 -1
  319. data/lib/TjTime.rb +111 -3
  320. data/lib/TjpSyntaxRules.rb +122 -66
  321. data/lib/WorkingHours.rb +91 -186
  322. data/lib/daemon/ReportServer.rb +3 -2
  323. data/lib/reports/CSVFile.rb +1 -1
  324. data/lib/reports/CollisionDetector.rb +177 -0
  325. data/lib/reports/GanttChart.rb +25 -41
  326. data/lib/reports/GanttRouter.rb +104 -233
  327. data/lib/reports/Navigator.rb +1 -1
  328. data/lib/reports/Report.rb +9 -33
  329. data/lib/reports/ReportBase.rb +0 -1
  330. data/lib/reports/ReportTable.rb +19 -8
  331. data/lib/reports/ReportTableCell.rb +61 -25
  332. data/lib/reports/ReportTableColumn.rb +2 -2
  333. data/lib/reports/ReportTableLine.rb +4 -2
  334. data/lib/reports/TableReport.rb +1 -0
  335. data/lib/taskjuggler3.rb +0 -1
  336. data/manual/Installation +7 -3
  337. data/manual/Intro +12 -10
  338. data/manual/The_TaskJuggler_Syntax +4 -4
  339. data/test/TestSuite/CSV-Reports/celltext-Reference.csv +14 -14
  340. data/test/TestSuite/CSV-Reports/genrefs +1 -1
  341. data/test/TestSuite/CSV-Reports/resourcereport-Reference.csv +4 -4
  342. data/test/TestSuite/CSV-Reports/resourcereport_with_tasks-Reference.csv +22 -22
  343. data/test/TestSuite/CSV-Reports/sortByTree-Reference.csv +14 -14
  344. data/test/TestSuite/CSV-Reports/sortBy_duration.down-Reference.csv +14 -14
  345. data/test/TestSuite/CSV-Reports/sortBy_effort.up-Reference.csv +14 -14
  346. data/test/TestSuite/CSV-Reports/sortBy_plan.start.down-Reference.csv +14 -14
  347. data/test/TestSuite/CSV-Reports/taskreport-Reference.csv +14 -14
  348. data/test/TestSuite/CSV-Reports/taskreport_with_resources-Reference.csv +32 -24
  349. data/test/TestSuite/CSV-Reports/weekly-Reference.csv +13 -0
  350. data/test/TestSuite/CSV-Reports/weekly.tjp +9 -0
  351. data/test/TestSuite/HTML-Reports/css/tjreport.css +7 -2
  352. data/test/TestSuite/HTML-Reports/depArrows.html +839 -830
  353. data/test/TestSuite/HTML-Reports/depArrows.tjp +12 -12
  354. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  355. data/test/TestSuite/ReportGenerator/Errors/no_report_defined.tjp +7 -0
  356. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.tjp +1 -1
  357. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/missing-reports +2 -0
  358. data/test/TestSuite/StatusSheets/run +2 -0
  359. data/test/TestSuite/Syntax/Correct/Booking.tjp +13 -5
  360. data/test/TestSuite/Syntax/Correct/ResourceRoot.tjp +21 -0
  361. data/test/TestSuite/Syntax/Correct/RollupResource.tjp +21 -0
  362. data/test/TestSuite/Syntax/Correct/TaskRoot.tjp +1 -1
  363. data/test/TestSuite/Syntax/Errors/empty.tjp +1 -1
  364. data/test/TestSuite/Syntax/Errors/include_before_project.tjp +2 -0
  365. data/test/TestSuite/Syntax/Errors/no_reduce.tjp +6 -0
  366. data/test/TestSuite/Syntax/Errors/unsupported_token.tjp +1 -1
  367. data/test/TestSuite/TimeSheets/run +1 -1
  368. data/test/test_CSV-Reports.rb +2 -4
  369. data/test/test_CollisionDetector.rb +85 -0
  370. data/test/test_Project.rb +2 -2
  371. data/test/test_ProjectFileScanner.rb +73 -31
  372. data/test/test_Query.rb +2 -2
  373. data/test/test_ReportGenerator.rb +1 -1
  374. data/test/test_RichText.rb +4 -4
  375. data/test/test_WorkingHours.rb +150 -11
  376. metadata +75 -67
  377. data/test/TestSuite/ReportGenerator/Errors/css/tjreport.css +0 -407
  378. data/test/TestSuite/ReportGenerator/Errors/rtp_report_recursion.html +0 -26
  379. data/test/TestSuite/Scheduler/Correct/Allocate.html +0 -3210
  380. data/test/TestSuite/Scheduler/Correct/Container.html +0 -349
  381. data/test/TestSuite/Scheduler/Correct/Limits.html +0 -4964
  382. data/test/TestSuite/Scheduler/Correct/Shift.html +0 -1719
  383. data/test/TestSuite/Scheduler/Correct/Shift2.html +0 -476
  384. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -66
  385. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  386. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  387. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  388. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  389. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  390. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  391. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  392. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  393. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  394. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  395. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  396. data/test/TestSuite/Scheduler/Correct/scripts/wz_tooltip.js +0 -1301
  397. data/test/TestSuite/Scheduler/Errors/css/tjmanual.css +0 -66
  398. data/test/TestSuite/Scheduler/Errors/css/tjreport.css +0 -407
  399. data/test/TestSuite/Scheduler/Errors/icons/details.png +0 -0
  400. data/test/TestSuite/Scheduler/Errors/icons/flag-green.png +0 -0
  401. data/test/TestSuite/Scheduler/Errors/icons/flag-red.png +0 -0
  402. data/test/TestSuite/Scheduler/Errors/icons/flag-yellow.png +0 -0
  403. data/test/TestSuite/Scheduler/Errors/icons/resource.png +0 -0
  404. data/test/TestSuite/Scheduler/Errors/icons/resourcegroup.png +0 -0
  405. data/test/TestSuite/Scheduler/Errors/icons/task.png +0 -0
  406. data/test/TestSuite/Scheduler/Errors/icons/taskgroup.png +0 -0
  407. data/test/TestSuite/Scheduler/Errors/icons/trend-down.png +0 -0
  408. data/test/TestSuite/Scheduler/Errors/icons/trend-flat.png +0 -0
  409. data/test/TestSuite/Scheduler/Errors/icons/trend-up.png +0 -0
  410. data/test/TestSuite/Scheduler/Errors/scripts/wz_tooltip.js +0 -1301
  411. data/test/TestSuite/StatusSheets/resrep.tji +0 -7
  412. data/test/TestSuite/StatusSheets/tj3d.log +0 -312
  413. data/test/TestSuite/Syntax/Correct/Managers.html +0 -263
  414. data/test/TestSuite/TimeSheets/acceptable_intervals +0 -1
  415. data/test/TestSuite/TimeSheets/statussheets.log +0 -1
@@ -10,6 +10,10 @@
10
10
  $:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
11
11
  require 'benchmark'
12
12
  require 'TaskJuggler'
13
+ require 'Tj3Config'
14
+
15
+ AppConfig.appName = 'taskjuggler3'
16
+ ENV['TASKJUGGLER_DATA_PATH'] = '../'
13
17
 
14
18
  Benchmark.bm(25) do |x|
15
19
  Dir.glob('*.tjp').each do |f|
@@ -17,8 +21,10 @@ Benchmark.bm(25) do |x|
17
21
  tj = TaskJuggler.new(true)
18
22
  tj.parse([ f ])
19
23
  tj.schedule
24
+ tj.generateReports unless tj.project.reports.empty?
20
25
  end
21
26
  end
22
27
  Dir.glob('*.html').each { |f| File.delete(f) }
28
+ Dir.glob('*.csv').each { |f| File.delete(f) }
23
29
  end
24
30
 
data/doc/AppConfig.html CHANGED
@@ -91,6 +91,8 @@
91
91
 
92
92
  <li><a href="#method-c-dataFiles">::dataFiles</a></li>
93
93
 
94
+ <li><a href="#method-c-dataSearchDirs">::dataSearchDirs</a></li>
95
+
94
96
  <li><a href="#method-c-license">::license</a></li>
95
97
 
96
98
  <li><a href="#method-c-license%3D">::license=</a></li>
@@ -191,12 +193,18 @@
191
193
 
192
194
  <li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
193
195
 
196
+ <li><a href="./TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
197
+
194
198
  <li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
195
199
 
196
200
  <li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
197
201
 
198
202
  <li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
199
203
 
204
+ <li><a href="./TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
205
+
206
+ <li><a href="./TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
207
+
200
208
  <li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
201
209
 
202
210
  <li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -303,7 +311,7 @@
303
311
 
304
312
  <li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
305
313
 
306
- <li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
314
+ <li><a href="./TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
307
315
 
308
316
  <li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
309
317
 
@@ -483,6 +491,10 @@
483
491
 
484
492
  <li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
485
493
 
494
+ <li><a href="./TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
495
+
496
+ <li><a href="./TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
497
+
486
498
  <li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
487
499
 
488
500
  <li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -906,27 +918,13 @@ instance as needed.
906
918
  <pre>
907
919
  <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 108</span>
908
920
  108: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataDirs</span>(<span class="ruby-identifier">baseDir</span> = <span class="ruby-value str">'data'</span>)
909
- 109: <span class="ruby-identifier">rubyLibDir</span> = <span class="ruby-constant">RbConfig</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIG</span>[<span class="ruby-value str">'rubylibdir'</span>]
910
- 110: <span class="ruby-identifier">rubyBaseDir</span>, <span class="ruby-identifier">versionDir</span> = <span class="ruby-identifier">rubyLibDir</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(.*\/)(.*)/</span>)[<span class="ruby-value">0</span>]
911
- 111:
912
- 112: <span class="ruby-identifier">dirs</span> = []
913
- 113: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TASKJUGGLER_DATA_PATH'</span>]
914
- 114: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TASKJUGGLER_DATA_PATH'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
915
- 115: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
916
- 116: <span class="ruby-keyword kw">end</span>
917
- 117: <span class="ruby-keyword kw">end</span>
918
- 118: <span class="ruby-comment cmt"># This hopefully works for all setups. Otherwise we have to add more</span>
919
- 119: <span class="ruby-comment cmt"># alternative pathes.</span>
920
- 120: <span class="ruby-comment cmt"># This one is for RPM based distros like Novell</span>
921
- 121: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rubyBaseDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;gems/&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">versionDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/gems/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@packageName</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@version</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
922
- 122: <span class="ruby-comment cmt"># This one is for Debian based distros</span>
923
- 123: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rubyLibDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/gems/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@packageName</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@version</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
924
- 124: <span class="ruby-comment cmt"># Remove non-existing directories from the list again</span>
925
- 125: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
926
- 126: <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">dir</span>.<span class="ruby-identifier">untaint</span>)
927
- 127: <span class="ruby-keyword kw">end</span>
928
- 128: <span class="ruby-identifier">dirs</span>
929
- 129: <span class="ruby-keyword kw">end</span></pre>
921
+ 109: <span class="ruby-identifier">dirs</span> = <span class="ruby-identifier">dataSearchDirs</span>(<span class="ruby-identifier">baseDir</span>)
922
+ 110: <span class="ruby-comment cmt"># Remove non-existing directories from the list again</span>
923
+ 111: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span>
924
+ 112: <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">dir</span>.<span class="ruby-identifier">untaint</span>)
925
+ 113: <span class="ruby-keyword kw">end</span>
926
+ 114: <span class="ruby-identifier">dirs</span>
927
+ 115: <span class="ruby-keyword kw">end</span></pre>
930
928
  </div>
931
929
 
932
930
  </div>
@@ -957,13 +955,13 @@ instance as needed.
957
955
  <div class="method-source-code"
958
956
  id="data-ile-source">
959
957
  <pre>
960
- <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 141</span>
961
- 141: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataFile</span>(<span class="ruby-identifier">fileName</span>)
962
- 142: <span class="ruby-identifier">dirs</span> = <span class="ruby-identifier">dataDirs</span>
963
- 143: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>) }
964
- 144:
965
- 145: <span class="ruby-keyword kw">nil</span>
966
- 146: <span class="ruby-keyword kw">end</span></pre>
958
+ <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 147</span>
959
+ 147: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataFile</span>(<span class="ruby-identifier">fileName</span>)
960
+ 148: <span class="ruby-identifier">dirs</span> = <span class="ruby-identifier">dataDirs</span>
961
+ 149: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>) }
962
+ 150:
963
+ 151: <span class="ruby-keyword kw">nil</span>
964
+ 152: <span class="ruby-keyword kw">end</span></pre>
967
965
  </div>
968
966
 
969
967
  </div>
@@ -994,14 +992,64 @@ instance as needed.
994
992
  <div class="method-source-code"
995
993
  id="data-iles-source">
996
994
  <pre>
997
- <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 133</span>
998
- 133: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataFiles</span>(<span class="ruby-identifier">fileName</span>)
999
- 134: <span class="ruby-identifier">files</span> = []
1000
- 135: <span class="ruby-identifier">dirs</span> = <span class="ruby-identifier">dataDirs</span>
1001
- 136: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">files</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>) }
1002
- 137:
1003
- 138: <span class="ruby-identifier">files</span>
1004
- 139: <span class="ruby-keyword kw">end</span></pre>
995
+ <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 139</span>
996
+ 139: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataFiles</span>(<span class="ruby-identifier">fileName</span>)
997
+ 140: <span class="ruby-identifier">files</span> = []
998
+ 141: <span class="ruby-identifier">dirs</span> = <span class="ruby-identifier">dataDirs</span>
999
+ 142: <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">files</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">d</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">fileName</span>) }
1000
+ 143:
1001
+ 144: <span class="ruby-identifier">files</span>
1002
+ 145: <span class="ruby-keyword kw">end</span></pre>
1003
+ </div>
1004
+
1005
+ </div>
1006
+
1007
+
1008
+
1009
+
1010
+ </div>
1011
+
1012
+
1013
+ <div id="data-earch-irs-method" class="method-detail ">
1014
+ <a name="method-c-dataSearchDirs"></a>
1015
+
1016
+ <div class="method-heading">
1017
+
1018
+ <span class="method-name">dataSearchDirs</span><span
1019
+ class="method-args">(baseDir = 'data')</span>
1020
+ <span class="method-click-advice">click to toggle source</span>
1021
+
1022
+ </div>
1023
+
1024
+ <div class="method-description">
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+ <div class="method-source-code"
1031
+ id="data-earch-irs-source">
1032
+ <pre>
1033
+ <span class="ruby-comment cmt"># File lib/AppConfig.rb, line 117</span>
1034
+ 117: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">AppConfig</span>.<span class="ruby-identifier">dataSearchDirs</span>(<span class="ruby-identifier">baseDir</span> = <span class="ruby-value str">'data'</span>)
1035
+ 118: <span class="ruby-identifier">rubyLibDir</span> = <span class="ruby-constant">RbConfig</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIG</span>[<span class="ruby-value str">'rubylibdir'</span>]
1036
+ 119: <span class="ruby-identifier">rubyBaseDir</span>, <span class="ruby-identifier">versionDir</span> = <span class="ruby-identifier">rubyLibDir</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-regexp re">/(.*\/)(.*)/</span>)[<span class="ruby-value">0</span>]
1037
+ 120:
1038
+ 121: <span class="ruby-identifier">dirs</span> = []
1039
+ 122: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TASKJUGGLER_DATA_PATH'</span>]
1040
+ 123: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'TASKJUGGLER_DATA_PATH'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
1041
+ 124: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
1042
+ 125: <span class="ruby-keyword kw">end</span>
1043
+ 126: <span class="ruby-keyword kw">end</span>
1044
+ 127: <span class="ruby-comment cmt"># This hopefully works for all setups. Otherwise we have to add more</span>
1045
+ 128: <span class="ruby-comment cmt"># alternative pathes.</span>
1046
+ 129: <span class="ruby-comment cmt"># This one is for RPM based distros like Novell</span>
1047
+ 130: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rubyBaseDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;gems/&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">versionDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/gems/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@packageName</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@version</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
1048
+ 131: <span class="ruby-comment cmt"># This one is for Debian based distros</span>
1049
+ 132: <span class="ruby-identifier">dirs</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rubyLibDir</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'/gems/'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@packageName</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'-'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">@@version</span> <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{baseDir}/&quot;</span>
1050
+ 133:
1051
+ 134: <span class="ruby-identifier">dirs</span>
1052
+ 135: <span class="ruby-keyword kw">end</span></pre>
1005
1053
  </div>
1006
1054
 
1007
1055
  </div>
data/doc/Arguments.html CHANGED
@@ -149,12 +149,18 @@
149
149
 
150
150
  <li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
151
151
 
152
+ <li><a href="./TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
153
+
152
154
  <li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
153
155
 
154
156
  <li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
155
157
 
156
158
  <li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
157
159
 
160
+ <li><a href="./TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
161
+
162
+ <li><a href="./TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
163
+
158
164
  <li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
159
165
 
160
166
  <li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -261,7 +267,7 @@
261
267
 
262
268
  <li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
263
269
 
264
- <li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
270
+ <li><a href="./TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
265
271
 
266
272
  <li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
267
273
 
@@ -441,6 +447,10 @@
441
447
 
442
448
  <li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
443
449
 
450
+ <li><a href="./TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
451
+
452
+ <li><a href="./TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
453
+
444
454
  <li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
445
455
 
446
456
  <li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
data/doc/CHANGELOG.html CHANGED
@@ -102,12 +102,18 @@
102
102
 
103
103
  <li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
104
104
 
105
+ <li><a href="./TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
106
+
105
107
  <li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
106
108
 
107
109
  <li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
108
110
 
109
111
  <li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
110
112
 
113
+ <li><a href="./TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
114
+
115
+ <li><a href="./TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
116
+
111
117
  <li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
112
118
 
113
119
  <li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -214,7 +220,7 @@
214
220
 
215
221
  <li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
216
222
 
217
- <li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
223
+ <li><a href="./TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
218
224
 
219
225
  <li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
220
226
 
@@ -394,6 +400,10 @@
394
400
 
395
401
  <li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
396
402
 
403
+ <li><a href="./TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
404
+
405
+ <li><a href="./TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
406
+
397
407
  <li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
398
408
 
399
409
  <li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -2739,7 +2749,126 @@
2739
2749
  * Avoid the duplicate entries in the status sheet confirmation mail.
2740
2750
 
2741
2751
  When a status sheet was re-submitted, the old and the new entries were
2742
- listed in the confirmation mail.</pre>
2752
+ listed in the confirmation mail.
2753
+ </pre>
2754
+ <h1>Release 0.0.8 (2010-11-24)</h1>
2755
+ <pre>
2756
+ * Bumping version to 0.0.8
2757
+
2758
+ * Update feature list.
2759
+
2760
+ * Fixing end of exported bookings.
2761
+
2762
+ There was one time slot too much at the task end.
2763
+
2764
+ Reported-by: Dimitri Pissarenko &lt;dmitri.pissarenko@gmail.com&gt;
2765
+
2766
+ * Fixing the booking example used in the reference manual.
2767
+
2768
+ * Adding 'resourceroot' and 'rollupresource' attributes.
2769
+
2770
+ * Make dependency loop error message more specific.
2771
+
2772
+ * Properly detect illegal tokens inside of patterns.
2773
+
2774
+ This was only working for tokens at the end of a rule.
2775
+
2776
+ * Fixing the attributes and contexts info in the manual and tj3man
2777
+ output.
2778
+
2779
+ * Fixing CSV reports with embedded tables.
2780
+
2781
+ * Reuse RichText parser for parsing all RichText input.
2782
+
2783
+ * Switch parser to use new state machine compiler.
2784
+
2785
+ * Fix merge conflict.
2786
+
2787
+ * Fix Ruby 1.8.x compatibility issue.
2788
+
2789
+ * Some more work on the state machine compiler.
2790
+
2791
+ * Adding a (still disabled) state machine compiler to the parser.
2792
+
2793
+ * Looking into pre-compiled states for the parser FSM.
2794
+
2795
+ * Clarifying the difference between ${now} and ${today}.
2796
+
2797
+ * Minor parser code tweaks.
2798
+
2799
+ * More parser code tweaking.
2800
+
2801
+ * Cleaning up some parser code.
2802
+
2803
+ * Moving the rule transition analysis into Rules.
2804
+
2805
+ * Some speed improvements for the parsers.
2806
+
2807
+ * Use more symbols and less Strings.
2808
+
2809
+ * Add a warning if no report was defined or no format was specified.
2810
+
2811
+ * Add more descriptive error message for start/gap conflict.
2812
+
2813
+ * Cleaned-up the GanttRounter and refactored the collision detector.
2814
+
2815
+ * Limiting the scoreboard iterations to actually used segments.
2816
+
2817
+ * Fix missing values in 'status' column
2818
+
2819
+ * More performance improvements for the report generator.
2820
+
2821
+ * Fix performance regressions for the 'resources' column.
2822
+
2823
+ * Substantial speed improvements for the report generator.
2824
+
2825
+ * Fixing a typo.
2826
+
2827
+ * Some cleanups of the DataCache.
2828
+
2829
+ * Adding a global data cache to speed up report generation.
2830
+
2831
+ This is just a test implementation. It needs further fine tuning and
2832
+ polishing.
2833
+
2834
+ * Another merge conflict
2835
+
2836
+ * Fix a merge conflict
2837
+
2838
+ * Adding simple performance profiling support to report server
2839
+
2840
+ * Performance improvements
2841
+
2842
+ 'loadunit' now defaults to 'days' instead of 'shortauto'. 'shortauto'
2843
+ is neat, but can slow down the report generation quite a bit.
2844
+
2845
+ * Show tried directories when TASKJUGGLER_DATA_PATH is not set properly.
2846
+
2847
+ * Improve parser performance by sharing Workinghours scoreboards.
2848
+
2849
+ The scoreboards now use the copy-on-write scheme.
2850
+
2851
+ * Fixing several time zone related bugs in the context of working hours.
2852
+
2853
+ This patch also adds much stricter error checking for time and date
2854
+ values.
2855
+
2856
+ * Adding a new benchmark for report generation speed.
2857
+
2858
+ * Added a unit test for WorkingHours::timeOff?()
2859
+
2860
+ * Don't default time sheets that have been submitted after last tj3ts_summary.
2861
+
2862
+ * Include list of defaulters in the status report templates.
2863
+
2864
+ If tj3ts_summary has been used to generate the 'missing-reports' file,
2865
+ this will now be included in the status sheet templates.
2866
+
2867
+ * Don't use tooltips to shorten table headers.
2868
+
2869
+ * Fix crashes when bad sorting criteria is used.
2870
+
2871
+ * Updating the install section with current dependencies.</pre>
2743
2872
 
2744
2873
  </div>
2745
2874
 
data/doc/COPYING.html CHANGED
@@ -102,12 +102,18 @@
102
102
 
103
103
  <li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
104
104
 
105
+ <li><a href="./TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
106
+
105
107
  <li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
106
108
 
107
109
  <li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
108
110
 
109
111
  <li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
110
112
 
113
+ <li><a href="./TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
114
+
115
+ <li><a href="./TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
116
+
111
117
  <li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
112
118
 
113
119
  <li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -214,7 +220,7 @@
214
220
 
215
221
  <li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
216
222
 
217
- <li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
223
+ <li><a href="./TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
218
224
 
219
225
  <li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
220
226
 
@@ -394,6 +400,10 @@
394
400
 
395
401
  <li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
396
402
 
403
+ <li><a href="./TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
404
+
405
+ <li><a href="./TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
406
+
397
407
  <li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
398
408
 
399
409
  <li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
data/doc/Object.html CHANGED
@@ -155,12 +155,18 @@
155
155
 
156
156
  <li><a href="./TaskJuggler/ChargeSetListAttribute.html">TaskJuggler::ChargeSetListAttribute</a></li>
157
157
 
158
+ <li><a href="./TaskJuggler/CollisionDetector.html">TaskJuggler::CollisionDetector</a></li>
159
+
158
160
  <li><a href="./TaskJuggler/ColumnListAttribute.html">TaskJuggler::ColumnListAttribute</a></li>
159
161
 
160
162
  <li><a href="./TaskJuggler/ColumnTable.html">TaskJuggler::ColumnTable</a></li>
161
163
 
162
164
  <li><a href="./TaskJuggler/Daemon.html">TaskJuggler::Daemon</a></li>
163
165
 
166
+ <li><a href="./TaskJuggler/DataCache.html">TaskJuggler::DataCache</a></li>
167
+
168
+ <li><a href="./TaskJuggler/DataCacheEntry.html">TaskJuggler::DataCacheEntry</a></li>
169
+
164
170
  <li><a href="./TaskJuggler/DateAttribute.html">TaskJuggler::DateAttribute</a></li>
165
171
 
166
172
  <li><a href="./TaskJuggler/DefinitionListAttribute.html">TaskJuggler::DefinitionListAttribute</a></li>
@@ -267,7 +273,7 @@
267
273
 
268
274
  <li><a href="./TaskJuggler/NodeListAttribute.html">TaskJuggler::NodeListAttribute</a></li>
269
275
 
270
- <li><a href="./TaskJuggler/OnShiftCache.html">TaskJuggler::OnShiftCache</a></li>
276
+ <li><a href="./TaskJuggler/PlaceHolderCell.html">TaskJuggler::PlaceHolderCell</a></li>
271
277
 
272
278
  <li><a href="./TaskJuggler/ProcessIntercom.html">TaskJuggler::ProcessIntercom</a></li>
273
279
 
@@ -447,6 +453,10 @@
447
453
 
448
454
  <li><a href="./TaskJuggler/TextParser/StackElement.html">TaskJuggler::TextParser::StackElement</a></li>
449
455
 
456
+ <li><a href="./TaskJuggler/TextParser/State.html">TaskJuggler::TextParser::State</a></li>
457
+
458
+ <li><a href="./TaskJuggler/TextParser/StateTransition.html">TaskJuggler::TextParser::StateTransition</a></li>
459
+
450
460
  <li><a href="./TaskJuggler/TextParser/TextParserResultArray.html">TaskJuggler::TextParser::TextParserResultArray</a></li>
451
461
 
452
462
  <li><a href="./TaskJuggler/TextParser/TokenDoc.html">TaskJuggler::TextParser::TokenDoc</a></li>
@@ -729,8 +739,7 @@ This is a variant of Object#clone that returns a deep copy of an object.
729
739
  151: <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>
730
740
  152:
731
741
  153: <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">&gt;</span> <span class="ruby-value">0</span>
732
- 154:
733
- 155: <span class="ruby-keyword kw">end</span></pre>
742
+ 154: <span class="ruby-keyword kw">end</span></pre>
734
743
  </div>
735
744
 
736
745
  </div>