taskjuggler 0.1.1 → 0.2.0

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 (563) hide show
  1. data/CHANGELOG +37 -5
  2. data/README.rdoc +4 -2
  3. data/benchmarks/UTF-8-Strings.rb +58 -0
  4. data/benchmarks/css/tjmanual.css +0 -1
  5. data/benchmarks/htmltaskreport-1.html +47702 -0
  6. data/benchmarks/htmltaskreport-2.html +23345 -0
  7. data/benchmarks/htmltaskreport-3.html +23265 -0
  8. data/benchmarks/htmltaskreport-4.html +22135 -0
  9. data/benchmarks/profile.clt +36082 -0
  10. data/benchmarks/tj3.profile +0 -0
  11. data/benchmarks/tj3.profile.grind +6185 -0
  12. data/benchmarks/tj3.profile.symbols +432 -0
  13. data/benchmarks/tj3.profile.txt +448 -0
  14. data/data/tjp.vim +689 -0
  15. data/doc/AppConfig.html +26 -2
  16. data/doc/CHANGELOG.html +60 -8
  17. data/doc/COPYING.html +26 -2
  18. data/doc/Diff/Hunk.html +26 -2
  19. data/doc/Diff.html +26 -2
  20. data/doc/Diffable.html +26 -2
  21. data/doc/DiffableString.html +26 -2
  22. data/doc/Object.html +26 -104
  23. data/doc/README_rdoc.html +39 -7
  24. data/doc/RuntimeConfig.html +26 -2
  25. data/doc/String.html +26 -2
  26. data/doc/TaskJuggler/Account.html +27 -3
  27. data/doc/TaskJuggler/AccountAttribute.html +30 -6
  28. data/doc/TaskJuggler/AccountScenario.html +28 -4
  29. data/doc/TaskJuggler/Allocation.html +33 -9
  30. data/doc/TaskJuggler/AllocationAttribute.html +31 -7
  31. data/doc/TaskJuggler/AttributeBase.html +162 -111
  32. data/doc/TaskJuggler/AttributeDefinition.html +26 -2
  33. data/doc/TaskJuggler/AttributeOverwrite.html +26 -2
  34. data/doc/TaskJuggler/BatchProcessor.html +26 -2
  35. data/doc/TaskJuggler/Booking.html +29 -5
  36. data/doc/TaskJuggler/BookingListAttribute.html +29 -5
  37. data/doc/TaskJuggler/BooleanAttribute.html +30 -6
  38. data/doc/TaskJuggler/CSVFile.html +26 -2
  39. data/doc/TaskJuggler/CellSettingPattern.html +26 -2
  40. data/doc/TaskJuggler/CellSettingPatternList.html +26 -2
  41. data/doc/TaskJuggler/Charge.html +30 -6
  42. data/doc/TaskJuggler/ChargeListAttribute.html +29 -5
  43. data/doc/TaskJuggler/ChargeSet.html +26 -2
  44. data/doc/TaskJuggler/ChargeSetListAttribute.html +30 -6
  45. data/doc/TaskJuggler/CollisionDetector.html +26 -2
  46. data/doc/TaskJuggler/ColumnListAttribute.html +28 -4
  47. data/doc/TaskJuggler/ColumnTable.html +26 -2
  48. data/doc/TaskJuggler/Daemon.html +26 -2
  49. data/doc/TaskJuggler/DataCache.html +26 -2
  50. data/doc/TaskJuggler/DataCacheEntry.html +26 -2
  51. data/doc/TaskJuggler/DateAttribute.html +30 -6
  52. data/doc/TaskJuggler/DefinitionListAttribute.html +28 -4
  53. data/doc/TaskJuggler/DependencyListAttribute.html +30 -6
  54. data/doc/TaskJuggler/DurationAttribute.html +31 -7
  55. data/doc/TaskJuggler/FileList.html +26 -2
  56. data/doc/TaskJuggler/FileRecord.html +26 -2
  57. data/doc/TaskJuggler/FixnumAttribute.html +28 -4
  58. data/doc/TaskJuggler/FlagListAttribute.html +30 -6
  59. data/doc/TaskJuggler/FloatAttribute.html +29 -5
  60. data/doc/TaskJuggler/FormatListAttribute.html +29 -5
  61. data/doc/TaskJuggler/GanttChart.html +26 -2
  62. data/doc/TaskJuggler/GanttContainer.html +26 -2
  63. data/doc/TaskJuggler/GanttHeader.html +26 -2
  64. data/doc/TaskJuggler/GanttHeaderScaleItem.html +26 -2
  65. data/doc/TaskJuggler/GanttLine.html +27 -3
  66. data/doc/TaskJuggler/GanttLoadStack.html +26 -2
  67. data/doc/TaskJuggler/GanttMilestone.html +26 -2
  68. data/doc/TaskJuggler/GanttRouter.html +26 -2
  69. data/doc/TaskJuggler/GanttTaskBar.html +26 -2
  70. data/doc/TaskJuggler/HTMLDocument.html +26 -2
  71. data/doc/TaskJuggler/HTMLElements.html +623 -0
  72. data/doc/TaskJuggler/HTMLGraphics.html +26 -2
  73. data/doc/TaskJuggler/ICalReport.html +864 -0
  74. data/doc/TaskJuggler/ICalendar/Component.html +969 -0
  75. data/doc/TaskJuggler/ICalendar/Event.html +742 -0
  76. data/doc/TaskJuggler/ICalendar/Journal.html +722 -0
  77. data/doc/TaskJuggler/ICalendar/Person.html +633 -0
  78. data/doc/TaskJuggler/ICalendar/Todo.html +789 -0
  79. data/doc/TaskJuggler/ICalendar.html +1035 -0
  80. data/doc/TaskJuggler/Interval.html +99 -172
  81. data/doc/TaskJuggler/IntervalList.html +31 -7
  82. data/doc/TaskJuggler/JobInfo.html +26 -2
  83. data/doc/TaskJuggler/Journal.html +26 -2
  84. data/doc/TaskJuggler/JournalEntry.html +26 -2
  85. data/doc/TaskJuggler/JournalEntryList.html +26 -2
  86. data/doc/TaskJuggler/KeywordArray.html +26 -2
  87. data/doc/TaskJuggler/KeywordDocumentation.html +26 -2
  88. data/doc/TaskJuggler/Limits/Limit.html +124 -49
  89. data/doc/TaskJuggler/Limits.html +139 -156
  90. data/doc/TaskJuggler/LimitsAttribute.html +39 -14
  91. data/doc/TaskJuggler/ListAttributeBase.html +35 -11
  92. data/doc/TaskJuggler/Log.html +26 -2
  93. data/doc/TaskJuggler/LogFile.html +26 -2
  94. data/doc/TaskJuggler/LogicalAttribute.html +26 -2
  95. data/doc/TaskJuggler/LogicalExpression.html +26 -2
  96. data/doc/TaskJuggler/LogicalExpressionAttribute.html +35 -11
  97. data/doc/TaskJuggler/LogicalExpressionListAttribute.html +35 -11
  98. data/doc/TaskJuggler/LogicalFlag.html +26 -2
  99. data/doc/TaskJuggler/LogicalFunction.html +28 -4
  100. data/doc/TaskJuggler/LogicalOperation.html +26 -2
  101. data/doc/TaskJuggler/ManagerResponsibilities.html +26 -2
  102. data/doc/TaskJuggler/ManagerStatusRecord.html +26 -2
  103. data/doc/TaskJuggler/Message.html +26 -2
  104. data/doc/TaskJuggler/MessageHandler.html +108 -62
  105. data/doc/TaskJuggler/Navigator.html +26 -2
  106. data/doc/TaskJuggler/NavigatorElement.html +26 -2
  107. data/doc/TaskJuggler/NikuProject.html +26 -2
  108. data/doc/TaskJuggler/NikuReport.html +27 -3
  109. data/doc/TaskJuggler/NikuResource.html +26 -2
  110. data/doc/TaskJuggler/NodeListAttribute.html +31 -7
  111. data/doc/TaskJuggler/PlaceHolderCell.html +26 -2
  112. data/doc/TaskJuggler/ProcessIntercom.html +26 -2
  113. data/doc/TaskJuggler/ProcessIntercomIface.html +26 -2
  114. data/doc/TaskJuggler/Project.html +1236 -973
  115. data/doc/TaskJuggler/ProjectBroker.html +26 -2
  116. data/doc/TaskJuggler/ProjectBrokerIface.html +26 -2
  117. data/doc/TaskJuggler/ProjectFileParser.html +29 -4
  118. data/doc/TaskJuggler/ProjectFileScanner.html +56 -31
  119. data/doc/TaskJuggler/ProjectRecord.html +26 -2
  120. data/doc/TaskJuggler/ProjectServer.html +26 -2
  121. data/doc/TaskJuggler/ProjectServerIface.html +26 -2
  122. data/doc/TaskJuggler/PropertyAttribute.html +35 -11
  123. data/doc/TaskJuggler/PropertyList.html +26 -2
  124. data/doc/TaskJuggler/PropertySet.html +126 -106
  125. data/doc/TaskJuggler/PropertyTreeNode.html +595 -551
  126. data/doc/TaskJuggler/Query.html +127 -100
  127. data/doc/TaskJuggler/RTFHandlers.html +26 -2
  128. data/doc/TaskJuggler/RTFNavigator.html +26 -2
  129. data/doc/TaskJuggler/RTFQuery.html +28 -4
  130. data/doc/TaskJuggler/RTFReport.html +26 -2
  131. data/doc/TaskJuggler/RTFReportLink.html +26 -2
  132. data/doc/TaskJuggler/RTFWithQuerySupport.html +26 -2
  133. data/doc/TaskJuggler/RealFormat.html +26 -2
  134. data/doc/TaskJuggler/RealFormatAttribute.html +31 -7
  135. data/doc/TaskJuggler/ReferenceAttribute.html +58 -34
  136. data/doc/TaskJuggler/Report.html +427 -284
  137. data/doc/TaskJuggler/ReportBase.html +28 -102
  138. data/doc/TaskJuggler/ReportContext.html +26 -2
  139. data/doc/TaskJuggler/ReportScenario.html +633 -0
  140. data/doc/TaskJuggler/ReportServer.html +26 -2
  141. data/doc/TaskJuggler/ReportServerIface.html +26 -2
  142. data/doc/TaskJuggler/ReportServerRecord.html +26 -2
  143. data/doc/TaskJuggler/ReportServlet.html +26 -2
  144. data/doc/TaskJuggler/ReportTable.html +26 -2
  145. data/doc/TaskJuggler/ReportTableCell.html +26 -2
  146. data/doc/TaskJuggler/ReportTableColumn.html +26 -2
  147. data/doc/TaskJuggler/ReportTableLegend.html +26 -2
  148. data/doc/TaskJuggler/ReportTableLine.html +26 -2
  149. data/doc/TaskJuggler/Resource.html +225 -163
  150. data/doc/TaskJuggler/ResourceListAttribute.html +71 -47
  151. data/doc/TaskJuggler/ResourceListRE.html +26 -2
  152. data/doc/TaskJuggler/ResourceScenario.html +645 -603
  153. data/doc/TaskJuggler/RichText.html +26 -2
  154. data/doc/TaskJuggler/RichTextAttribute.html +53 -29
  155. data/doc/TaskJuggler/RichTextDocument.html +26 -2
  156. data/doc/TaskJuggler/RichTextElement.html +26 -2
  157. data/doc/TaskJuggler/RichTextFunctionExample.html +26 -2
  158. data/doc/TaskJuggler/RichTextFunctionHandler.html +26 -2
  159. data/doc/TaskJuggler/RichTextImage.html +26 -2
  160. data/doc/TaskJuggler/RichTextIntermediate.html +29 -5
  161. data/doc/TaskJuggler/RichTextParser.html +26 -2
  162. data/doc/TaskJuggler/RichTextScanner.html +26 -2
  163. data/doc/TaskJuggler/RichTextSnip.html +26 -2
  164. data/doc/TaskJuggler/RichTextSyntaxRules.html +26 -2
  165. data/doc/TaskJuggler/Scenario.html +26 -2
  166. data/doc/TaskJuggler/ScenarioData.html +95 -28
  167. data/doc/TaskJuggler/ScenarioListAttribute.html +39 -15
  168. data/doc/TaskJuggler/Scoreboard.html +137 -73
  169. data/doc/TaskJuggler/ScoreboardInterval.html +1116 -0
  170. data/doc/TaskJuggler/SheetHandlerBase.html +26 -2
  171. data/doc/TaskJuggler/SheetReceiver.html +26 -2
  172. data/doc/TaskJuggler/SheetSender.html +26 -2
  173. data/doc/TaskJuggler/Shift.html +27 -3
  174. data/doc/TaskJuggler/ShiftAssignment.html +27 -3
  175. data/doc/TaskJuggler/ShiftAssignments.html +174 -149
  176. data/doc/TaskJuggler/ShiftAssignmentsAttribute.html +41 -16
  177. data/doc/TaskJuggler/ShiftScenario.html +26 -2
  178. data/doc/TaskJuggler/SimpleQueryExpander.html +26 -2
  179. data/doc/TaskJuggler/SortListAttribute.html +35 -11
  180. data/doc/TaskJuggler/StatusSheetReceiver.html +26 -2
  181. data/doc/TaskJuggler/StatusSheetReport.html +26 -2
  182. data/doc/TaskJuggler/StatusSheetSender.html +26 -2
  183. data/doc/TaskJuggler/StdIoWrapper.html +26 -2
  184. data/doc/TaskJuggler/StringAttribute.html +39 -15
  185. data/doc/TaskJuggler/SymbolAttribute.html +35 -11
  186. data/doc/TaskJuggler/SyntaxReference.html +26 -2
  187. data/doc/TaskJuggler/TOCEntry.html +26 -2
  188. data/doc/TaskJuggler/TSResourceRecord.html +26 -2
  189. data/doc/TaskJuggler/TSTaskRecord.html +26 -2
  190. data/doc/TaskJuggler/TableColumnDefinition.html +26 -2
  191. data/doc/TaskJuggler/TableOfContents.html +26 -2
  192. data/doc/TaskJuggler/TableReport.html +239 -214
  193. data/doc/TaskJuggler/TagFile/TagFileEntry.html +841 -0
  194. data/doc/TaskJuggler/TagFile.html +817 -0
  195. data/doc/TaskJuggler/Task.html +27 -3
  196. data/doc/TaskJuggler/TaskDepListAttribute.html +47 -23
  197. data/doc/TaskJuggler/TaskDependency.html +26 -2
  198. data/doc/TaskJuggler/TaskListAttribute.html +47 -23
  199. data/doc/TaskJuggler/TaskListRE.html +26 -2
  200. data/doc/TaskJuggler/TaskScenario.html +2235 -2178
  201. data/doc/TaskJuggler/TernarySearchTree.html +26 -2
  202. data/doc/TaskJuggler/TextFormatter.html +26 -2
  203. data/doc/TaskJuggler/TextParser/Macro.html +26 -2
  204. data/doc/TaskJuggler/TextParser/MacroTable.html +26 -2
  205. data/doc/TaskJuggler/TextParser/Pattern.html +26 -2
  206. data/doc/TaskJuggler/TextParser/Rule.html +26 -2
  207. data/doc/TaskJuggler/TextParser/Scanner/BufferStreamHandle.html +32 -8
  208. data/doc/TaskJuggler/TextParser/Scanner/FileStreamHandle.html +39 -15
  209. data/doc/TaskJuggler/TextParser/Scanner/MacroStackEntry.html +26 -2
  210. data/doc/TaskJuggler/TextParser/Scanner/StreamHandle.html +119 -86
  211. data/doc/TaskJuggler/TextParser/Scanner.html +317 -291
  212. data/doc/TaskJuggler/TextParser/SourceFileInfo.html +26 -2
  213. data/doc/TaskJuggler/TextParser/StackElement.html +26 -2
  214. data/doc/TaskJuggler/TextParser/State.html +26 -2
  215. data/doc/TaskJuggler/TextParser/StateTransition.html +26 -2
  216. data/doc/TaskJuggler/TextParser/TextParserResultArray.html +26 -2
  217. data/doc/TaskJuggler/TextParser/TokenDoc.html +26 -2
  218. data/doc/TaskJuggler/TextParser.html +85 -61
  219. data/doc/TaskJuggler/TextReport.html +26 -2
  220. data/doc/TaskJuggler/TimeInterval.html +841 -0
  221. data/doc/TaskJuggler/{IntervalListAttribute.html → TimeIntervalListAttribute.html} +33 -9
  222. data/doc/TaskJuggler/TimeSheet.html +26 -2
  223. data/doc/TaskJuggler/TimeSheetReceiver.html +26 -2
  224. data/doc/TaskJuggler/TimeSheetRecord.html +27 -3
  225. data/doc/TaskJuggler/TimeSheetReport.html +29 -5
  226. data/doc/TaskJuggler/TimeSheetSender.html +26 -2
  227. data/doc/TaskJuggler/TimeSheetSummary.html +26 -2
  228. data/doc/TaskJuggler/TimeSheets.html +26 -2
  229. data/doc/TaskJuggler/Tj3.html +150 -111
  230. data/doc/TaskJuggler/Tj3AppBase.html +26 -2
  231. data/doc/TaskJuggler/Tj3Client.html +26 -2
  232. data/doc/TaskJuggler/Tj3Daemon.html +26 -2
  233. data/doc/TaskJuggler/Tj3Man.html +26 -2
  234. data/doc/TaskJuggler/Tj3SheetAppBase.html +26 -2
  235. data/doc/TaskJuggler/Tj3SsReceiver.html +26 -2
  236. data/doc/TaskJuggler/Tj3SsSender.html +26 -2
  237. data/doc/TaskJuggler/Tj3TsReceiver.html +26 -2
  238. data/doc/TaskJuggler/Tj3TsSender.html +26 -2
  239. data/doc/TaskJuggler/Tj3TsSummary.html +26 -2
  240. data/doc/TaskJuggler/TjException.html +26 -2
  241. data/doc/TaskJuggler/TjRuntimeError.html +26 -2
  242. data/doc/TaskJuggler/TjTime.html +539 -477
  243. data/doc/TaskJuggler/TjpExample.html +26 -2
  244. data/doc/TaskJuggler/TjpExportRE.html +240 -161
  245. data/doc/TaskJuggler/TjpSyntaxRules.html +4236 -3844
  246. data/doc/TaskJuggler/URLParameter.html +26 -2
  247. data/doc/TaskJuggler/UserManual.html +26 -2
  248. data/doc/TaskJuggler/VimSyntax.html +31 -7
  249. data/doc/TaskJuggler/WebServer.html +26 -2
  250. data/doc/TaskJuggler/WelcomePage.html +26 -2
  251. data/doc/TaskJuggler/WorkingHours.html +227 -152
  252. data/doc/TaskJuggler/WorkingHoursAttribute.html +62 -38
  253. data/doc/TaskJuggler/XMLBlob.html +26 -2
  254. data/doc/TaskJuggler/XMLComment.html +26 -2
  255. data/doc/TaskJuggler/XMLDocument.html +26 -2
  256. data/doc/TaskJuggler/XMLElement.html +26 -2
  257. data/doc/TaskJuggler/XMLNamedText.html +26 -2
  258. data/doc/TaskJuggler/XMLText.html +26 -2
  259. data/doc/TaskJuggler.html +486 -427
  260. data/doc/index.html +801 -659
  261. data/doc/lib/taskjuggler/AccountScenario_rb.html +1 -1
  262. data/doc/lib/taskjuggler/Account_rb.html +1 -1
  263. data/doc/lib/taskjuggler/AlgorithmDiff_rb.html +1 -1
  264. data/doc/lib/taskjuggler/Allocation_rb.html +1 -1
  265. data/doc/lib/taskjuggler/AppConfig_rb.html +1 -1
  266. data/doc/lib/taskjuggler/AttributeBase_rb.html +1 -1
  267. data/doc/lib/taskjuggler/AttributeDefinition_rb.html +1 -1
  268. data/doc/lib/taskjuggler/Attributes_rb.html +1 -1
  269. data/doc/lib/taskjuggler/BatchProcessor_rb.html +1 -1
  270. data/doc/lib/taskjuggler/Booking_rb.html +1 -1
  271. data/doc/lib/taskjuggler/ChargeSet_rb.html +1 -1
  272. data/doc/lib/taskjuggler/Charge_rb.html +1 -1
  273. data/doc/lib/taskjuggler/DataCache_rb.html +1 -1
  274. data/doc/lib/taskjuggler/FileList_rb.html +1 -1
  275. data/doc/lib/taskjuggler/HTMLDocument_rb.html +1 -1
  276. data/doc/lib/{ruby-signal-bug_rb.html → taskjuggler/HTMLElements_rb.html} +9 -9
  277. data/doc/lib/{exchangebug_rb.html → taskjuggler/ICalendar_rb.html} +9 -9
  278. data/doc/lib/taskjuggler/IntervalList_rb.html +1 -1
  279. data/doc/lib/taskjuggler/Interval_rb.html +1 -1
  280. data/doc/lib/taskjuggler/Journal_rb.html +1 -1
  281. data/doc/lib/taskjuggler/KeywordArray_rb.html +1 -1
  282. data/doc/lib/taskjuggler/KeywordDocumentation_rb.html +1 -1
  283. data/doc/lib/taskjuggler/Limits_rb.html +1 -1
  284. data/doc/lib/taskjuggler/LogFile_rb.html +1 -1
  285. data/doc/lib/taskjuggler/Log_rb.html +1 -1
  286. data/doc/lib/taskjuggler/LogicalExpression_rb.html +1 -1
  287. data/doc/lib/taskjuggler/LogicalFunction_rb.html +1 -1
  288. data/doc/lib/taskjuggler/LogicalOperation_rb.html +1 -1
  289. data/doc/lib/taskjuggler/MessageHandler_rb.html +1 -1
  290. data/doc/lib/taskjuggler/ProjectFileParser_rb.html +1 -1
  291. data/doc/lib/taskjuggler/ProjectFileScanner_rb.html +1 -1
  292. data/doc/lib/taskjuggler/Project_rb.html +1 -1
  293. data/doc/lib/taskjuggler/PropertyList_rb.html +1 -1
  294. data/doc/lib/taskjuggler/PropertySet_rb.html +1 -1
  295. data/doc/lib/taskjuggler/PropertyTreeNode_rb.html +1 -1
  296. data/doc/lib/taskjuggler/Query_rb.html +1 -1
  297. data/doc/lib/taskjuggler/RealFormat_rb.html +1 -1
  298. data/doc/lib/taskjuggler/ResourceScenario_rb.html +1 -1
  299. data/doc/lib/taskjuggler/Resource_rb.html +1 -1
  300. data/doc/lib/taskjuggler/RichText/Document_rb.html +1 -1
  301. data/doc/lib/taskjuggler/RichText/Element_rb.html +1 -1
  302. data/doc/lib/taskjuggler/RichText/FunctionExample_rb.html +1 -1
  303. data/doc/lib/taskjuggler/RichText/FunctionHandler_rb.html +1 -1
  304. data/doc/lib/taskjuggler/RichText/Parser_rb.html +1 -1
  305. data/doc/lib/taskjuggler/RichText/RTFHandlers_rb.html +1 -1
  306. data/doc/lib/taskjuggler/RichText/RTFNavigator_rb.html +1 -1
  307. data/doc/lib/taskjuggler/RichText/RTFQuery_rb.html +1 -1
  308. data/doc/lib/taskjuggler/RichText/RTFReportLink_rb.html +1 -1
  309. data/doc/lib/taskjuggler/RichText/RTFReport_rb.html +1 -1
  310. data/doc/lib/taskjuggler/RichText/RTFWithQuerySupport_rb.html +1 -1
  311. data/doc/lib/taskjuggler/RichText/Scanner_rb.html +1 -1
  312. data/doc/lib/taskjuggler/RichText/Snip_rb.html +1 -1
  313. data/doc/lib/taskjuggler/RichText/SyntaxRules_rb.html +1 -1
  314. data/doc/lib/taskjuggler/RichText/TOCEntry_rb.html +1 -1
  315. data/doc/lib/taskjuggler/RichText/TableOfContents_rb.html +1 -1
  316. data/doc/lib/taskjuggler/RichText_rb.html +1 -1
  317. data/doc/lib/taskjuggler/RuntimeConfig_rb.html +1 -1
  318. data/doc/lib/taskjuggler/ScenarioData_rb.html +1 -1
  319. data/doc/lib/taskjuggler/Scenario_rb.html +1 -1
  320. data/doc/lib/taskjuggler/Scoreboard_rb.html +1 -1
  321. data/doc/lib/taskjuggler/SheetHandlerBase_rb.html +1 -1
  322. data/doc/lib/taskjuggler/SheetReceiver_rb.html +1 -1
  323. data/doc/lib/taskjuggler/SheetSender_rb.html +1 -1
  324. data/doc/lib/taskjuggler/ShiftAssignments_rb.html +1 -1
  325. data/doc/lib/taskjuggler/ShiftScenario_rb.html +1 -1
  326. data/doc/lib/taskjuggler/Shift_rb.html +1 -1
  327. data/doc/lib/taskjuggler/SimpleQueryExpander_rb.html +1 -1
  328. data/doc/lib/taskjuggler/StatusSheetReceiver_rb.html +1 -1
  329. data/doc/lib/taskjuggler/StatusSheetSender_rb.html +1 -1
  330. data/doc/lib/taskjuggler/StdIoWrapper_rb.html +1 -1
  331. data/doc/lib/taskjuggler/SyntaxReference_rb.html +1 -1
  332. data/doc/lib/taskjuggler/TableColumnDefinition_rb.html +1 -1
  333. data/doc/lib/taskjuggler/TaskDependency_rb.html +1 -1
  334. data/doc/lib/taskjuggler/TaskJuggler_rb.html +1 -1
  335. data/doc/lib/taskjuggler/TaskScenario_rb.html +1 -1
  336. data/doc/lib/taskjuggler/Task_rb.html +1 -1
  337. data/doc/lib/taskjuggler/TernarySearchTree_rb.html +1 -1
  338. data/doc/lib/taskjuggler/TextFormatter_rb.html +1 -1
  339. data/doc/lib/taskjuggler/TextParser/MacroTable_rb.html +1 -1
  340. data/doc/lib/taskjuggler/TextParser/Pattern_rb.html +1 -1
  341. data/doc/lib/taskjuggler/TextParser/Rule_rb.html +1 -1
  342. data/doc/lib/taskjuggler/TextParser/Scanner_rb.html +1 -1
  343. data/doc/lib/taskjuggler/TextParser/SourceFileInfo_rb.html +1 -1
  344. data/doc/lib/taskjuggler/TextParser/StackElement_rb.html +1 -1
  345. data/doc/lib/taskjuggler/TextParser/State_rb.html +1 -1
  346. data/doc/lib/taskjuggler/TextParser/TokenDoc_rb.html +1 -1
  347. data/doc/lib/taskjuggler/TextParser_rb.html +1 -1
  348. data/doc/lib/taskjuggler/TimeSheetReceiver_rb.html +1 -1
  349. data/doc/lib/taskjuggler/TimeSheetSender_rb.html +1 -1
  350. data/doc/lib/taskjuggler/TimeSheetSummary_rb.html +1 -1
  351. data/doc/lib/taskjuggler/TimeSheets_rb.html +1 -1
  352. data/doc/lib/taskjuggler/Tj3AppBase_rb.html +1 -1
  353. data/doc/lib/taskjuggler/Tj3Config_rb.html +1 -1
  354. data/doc/lib/taskjuggler/Tj3SheetAppBase_rb.html +1 -1
  355. data/doc/lib/taskjuggler/TjException_rb.html +1 -1
  356. data/doc/lib/taskjuggler/TjTime_rb.html +1 -1
  357. data/doc/lib/taskjuggler/TjpExample_rb.html +1 -1
  358. data/doc/lib/taskjuggler/TjpSyntaxRules_rb.html +1 -1
  359. data/doc/lib/taskjuggler/URLParameter_rb.html +1 -1
  360. data/doc/lib/taskjuggler/UTF8String_rb.html +1 -1
  361. data/doc/lib/taskjuggler/UserManual_rb.html +1 -1
  362. data/doc/lib/taskjuggler/VimSyntax_rb.html +1 -1
  363. data/doc/lib/taskjuggler/WorkingHours_rb.html +1 -1
  364. data/doc/lib/taskjuggler/XMLDocument_rb.html +1 -1
  365. data/doc/lib/taskjuggler/XMLElement_rb.html +1 -1
  366. data/doc/lib/taskjuggler/apps/Tj3Client_rb.html +1 -1
  367. data/doc/lib/taskjuggler/apps/Tj3Daemon_rb.html +1 -1
  368. data/doc/lib/taskjuggler/apps/Tj3Man_rb.html +1 -1
  369. data/doc/lib/taskjuggler/apps/Tj3SsReceiver_rb.html +1 -1
  370. data/doc/lib/taskjuggler/apps/Tj3SsSender_rb.html +1 -1
  371. data/doc/lib/taskjuggler/apps/Tj3TsReceiver_rb.html +1 -1
  372. data/doc/lib/taskjuggler/apps/Tj3TsSender_rb.html +1 -1
  373. data/doc/lib/taskjuggler/apps/Tj3TsSummary_rb.html +1 -1
  374. data/doc/lib/taskjuggler/apps/Tj3_rb.html +1 -1
  375. data/doc/lib/taskjuggler/daemon/Daemon_rb.html +1 -1
  376. data/doc/lib/taskjuggler/daemon/ProcessIntercom_rb.html +1 -1
  377. data/doc/lib/taskjuggler/daemon/ProjectBroker_rb.html +1 -1
  378. data/doc/lib/taskjuggler/daemon/ProjectServer_rb.html +1 -1
  379. data/doc/lib/taskjuggler/daemon/ReportServer_rb.html +1 -1
  380. data/doc/lib/taskjuggler/daemon/ReportServlet_rb.html +1 -1
  381. data/doc/lib/taskjuggler/daemon/WebServer_rb.html +1 -1
  382. data/doc/lib/taskjuggler/daemon/WelcomePage_rb.html +1 -1
  383. data/doc/lib/taskjuggler/deep_copy_rb.html +1 -1
  384. data/doc/lib/taskjuggler/reports/CSVFile_rb.html +1 -1
  385. data/doc/lib/taskjuggler/reports/CollisionDetector_rb.html +1 -1
  386. data/doc/lib/taskjuggler/reports/ColumnTable_rb.html +1 -1
  387. data/doc/lib/taskjuggler/reports/GanttChart_rb.html +1 -1
  388. data/doc/lib/taskjuggler/reports/GanttContainer_rb.html +1 -1
  389. data/doc/lib/taskjuggler/reports/GanttHeaderScaleItem_rb.html +1 -1
  390. data/doc/lib/taskjuggler/reports/GanttHeader_rb.html +1 -1
  391. data/doc/lib/taskjuggler/reports/GanttLine_rb.html +1 -1
  392. data/doc/lib/taskjuggler/reports/GanttLoadStack_rb.html +1 -1
  393. data/doc/lib/taskjuggler/reports/GanttMilestone_rb.html +1 -1
  394. data/doc/lib/taskjuggler/reports/GanttRouter_rb.html +1 -1
  395. data/doc/lib/taskjuggler/reports/GanttTaskBar_rb.html +1 -1
  396. data/doc/lib/taskjuggler/reports/HTMLGraphics_rb.html +1 -1
  397. data/doc/lib/taskjuggler/reports/ICalReport_rb.html +71 -0
  398. data/doc/lib/taskjuggler/reports/Navigator_rb.html +1 -1
  399. data/doc/lib/taskjuggler/reports/NikuReport_rb.html +1 -1
  400. data/doc/lib/taskjuggler/reports/ReportBase_rb.html +1 -1
  401. data/doc/lib/taskjuggler/reports/ReportContext_rb.html +1 -1
  402. data/doc/lib/taskjuggler/reports/ReportTableCell_rb.html +1 -1
  403. data/doc/lib/taskjuggler/reports/ReportTableColumn_rb.html +1 -1
  404. data/doc/lib/taskjuggler/reports/ReportTableLegend_rb.html +1 -1
  405. data/doc/lib/taskjuggler/reports/ReportTableLine_rb.html +1 -1
  406. data/doc/lib/taskjuggler/reports/ReportTable_rb.html +1 -1
  407. data/doc/lib/taskjuggler/reports/Report_rb.html +5 -1
  408. data/doc/lib/taskjuggler/reports/ResourceListRE_rb.html +1 -1
  409. data/doc/lib/taskjuggler/reports/StatusSheetReport_rb.html +1 -1
  410. data/doc/lib/taskjuggler/reports/TableReport_rb.html +1 -1
  411. data/doc/lib/taskjuggler/reports/TagFile_rb.html +71 -0
  412. data/doc/lib/taskjuggler/reports/TaskListRE_rb.html +1 -1
  413. data/doc/lib/taskjuggler/reports/TextReport_rb.html +1 -1
  414. data/doc/lib/taskjuggler/reports/TimeSheetReport_rb.html +1 -1
  415. data/doc/lib/taskjuggler/reports/TjpExportRE_rb.html +1 -1
  416. data/doc/lib/tj3_rb.html +1 -1
  417. data/doc/lib/tj3client_rb.html +1 -1
  418. data/doc/lib/tj3d_rb.html +1 -1
  419. data/doc/lib/tj3man_rb.html +1 -1
  420. data/doc/lib/tj3ss_receiver_rb.html +1 -1
  421. data/doc/lib/tj3ss_sender_rb.html +1 -1
  422. data/doc/lib/tj3ts_receiver_rb.html +1 -1
  423. data/doc/lib/tj3ts_sender_rb.html +1 -1
  424. data/doc/lib/tj3ts_summary_rb.html +1 -1
  425. data/lib/taskjuggler/Account.rb +1 -1
  426. data/lib/taskjuggler/AccountScenario.rb +1 -1
  427. data/lib/taskjuggler/Allocation.rb +5 -5
  428. data/lib/taskjuggler/AttributeBase.rb +30 -22
  429. data/lib/taskjuggler/Attributes.rb +80 -78
  430. data/lib/taskjuggler/Booking.rb +2 -2
  431. data/lib/taskjuggler/Charge.rb +3 -3
  432. data/lib/taskjuggler/ICalendar.rb +251 -0
  433. data/lib/taskjuggler/Interval.rb +215 -53
  434. data/lib/taskjuggler/IntervalList.rb +5 -5
  435. data/lib/taskjuggler/Limits.rb +79 -69
  436. data/lib/taskjuggler/LogicalFunction.rb +2 -2
  437. data/lib/taskjuggler/MessageHandler.rb +11 -6
  438. data/lib/taskjuggler/Project.rb +208 -95
  439. data/lib/taskjuggler/ProjectFileParser.rb +2 -2
  440. data/lib/taskjuggler/ProjectFileScanner.rb +7 -6
  441. data/lib/taskjuggler/PropertySet.rb +1 -5
  442. data/lib/taskjuggler/PropertyTreeNode.rb +21 -16
  443. data/lib/taskjuggler/Query.rb +10 -7
  444. data/lib/taskjuggler/Resource.rb +6 -1
  445. data/lib/taskjuggler/ResourceScenario.rb +85 -69
  446. data/lib/taskjuggler/RichText/RTFQuery.rb +2 -2
  447. data/lib/taskjuggler/ScenarioData.rb +11 -1
  448. data/lib/taskjuggler/Scoreboard.rb +8 -1
  449. data/lib/taskjuggler/Shift.rb +1 -1
  450. data/lib/taskjuggler/ShiftAssignments.rb +22 -20
  451. data/lib/taskjuggler/Task.rb +1 -1
  452. data/lib/taskjuggler/TaskJuggler.rb +65 -51
  453. data/lib/taskjuggler/TaskScenario.rb +486 -419
  454. data/lib/taskjuggler/TextParser/Scanner.rb +22 -11
  455. data/lib/taskjuggler/TimeSheets.rb +1 -1
  456. data/lib/taskjuggler/Tj3Config.rb +1 -1
  457. data/lib/taskjuggler/TjTime.rb +7 -3
  458. data/lib/taskjuggler/TjpSyntaxRules.rb +157 -23
  459. data/lib/taskjuggler/VimSyntax.rb +18 -0
  460. data/lib/taskjuggler/WorkingHours.rb +20 -4
  461. data/lib/taskjuggler/apps/Tj3.rb +16 -1
  462. data/lib/taskjuggler/reports/GanttLine.rb +1 -1
  463. data/lib/taskjuggler/reports/ICalReport.rb +136 -0
  464. data/lib/taskjuggler/reports/NikuReport.rb +1 -1
  465. data/lib/taskjuggler/reports/Report.rb +59 -0
  466. data/lib/taskjuggler/reports/ReportBase.rb +2 -67
  467. data/lib/taskjuggler/reports/TableReport.rb +9 -8
  468. data/lib/taskjuggler/reports/TagFile.rb +120 -0
  469. data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -3
  470. data/lib/taskjuggler/reports/TjpExportRE.rb +33 -9
  471. data/manual/Installation +126 -0
  472. data/spec/ICalendar_spec.rb +45 -0
  473. data/spec/IntervalList_spec.rb +11 -11
  474. data/tasks/changelog.rake +150 -60
  475. data/tasks/gem.rake +1 -0
  476. data/tasks/vim.rake +2 -2
  477. data/test/TestSuite/Export-Reports/refs/Booking.tjp +1 -1
  478. data/test/TestSuite/Export-Reports/refs/CompletedWork.tji.tjp +40 -0
  479. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +10 -1
  480. data/test/TestSuite/Export-Reports/refs/TaskPrefix.tjp +1 -1
  481. data/test/TestSuite/HTML-Reports/Alerts.html +160 -412
  482. data/test/TestSuite/HTML-Reports/CellText.html +758 -0
  483. data/test/TestSuite/HTML-Reports/ColumnPeriods.html +156 -0
  484. data/test/TestSuite/HTML-Reports/IsOngoing.html +172 -0
  485. data/test/TestSuite/HTML-Reports/LogicalFunctions.html +245 -0
  486. data/test/TestSuite/HTML-Reports/Query.html +31 -0
  487. data/test/TestSuite/HTML-Reports/css/tjmanual.css +0 -20
  488. data/test/TestSuite/HTML-Reports/css/tjreport.css +6 -7
  489. data/test/TestSuite/HTML-Reports/depArrows.html +851 -0
  490. data/test/TestSuite/HTML-Reports/profile.html +37581 -0
  491. data/test/TestSuite/{Scheduler/Correct → HTML-Reports/scripts}/scripts/wz_tooltip.js +20 -20
  492. data/test/TestSuite/Scheduler/Correct/Booking.tjp +3 -3
  493. data/test/TestSuite/Scheduler/Correct/Duration.tjp +3 -3
  494. data/test/TestSuite/Scheduler/Errors/R.html +113 -0
  495. data/test/TestSuite/Scheduler/Errors/allocate_no_assigned.tjp +15 -0
  496. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjmanual.css +0 -1
  497. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/css/tjreport.css +0 -0
  498. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/details.png +0 -0
  499. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-green.png +0 -0
  500. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-red.png +0 -0
  501. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/flag-yellow.png +0 -0
  502. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resource.png +0 -0
  503. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/resourcegroup.png +0 -0
  504. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/task.png +0 -0
  505. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/taskgroup.png +0 -0
  506. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-down.png +0 -0
  507. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-flat.png +0 -0
  508. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/icons/trend-up.png +0 -0
  509. data/test/TestSuite/Scheduler/Errors/overbooked_duration.tjp +11 -0
  510. data/test/TestSuite/Scheduler/Errors/overbooked_effort.tjp +11 -0
  511. data/test/TestSuite/Scheduler/Errors/overbooked_length.tjp +13 -0
  512. data/test/TestSuite/{ReportGenerator/Correct → Scheduler/Errors}/scripts/wz_tooltip.js +0 -0
  513. data/test/TestSuite/StatusSheets/dev2.tji +22 -0
  514. data/test/TestSuite/Syntax/Correct/CompletedWork.tji.tjp +38 -0
  515. data/test/TestSuite/Syntax/Correct/Macro-2.tjp +5 -2
  516. data/test/TestSuite/Syntax/Errors/scenario_after_tracking.tjp +8 -0
  517. data/test/TestSuite/TimeSheets/resrep.tji +7 -0
  518. data/test/TestSuite/TimeSheets/ts.tji +351 -0
  519. data/test/TestSuite/TimeSheets/tsdef.tji +2 -0
  520. data/test/test_Limits.rb +38 -30
  521. data/test/test_Scheduler.rb +2 -2
  522. data/test/test_ShiftAssignments.rb +8 -8
  523. data/test/test_WorkingHours.rb +4 -4
  524. metadata +1015 -1005
  525. data/lib/exchangebug.rb +0 -42
  526. data/lib/ruby-signal-bug.rb +0 -55
  527. data/test/TestSuite/Export-Reports/refs/DST.tjp +0 -60
  528. data/test/TestSuite/Export-Reports/refs/ReleasePlan.tjp +0 -80
  529. data/test/TestSuite/HTML-Reports/TimeSheet.html +0 -79
  530. data/test/TestSuite/HTML-Reports/reference.html +0 -51
  531. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.csv +0 -412
  532. data/test/TestSuite/ReportGenerator/Correct/Alerts-1.html +0 -680
  533. data/test/TestSuite/ReportGenerator/Correct/DependencyList.csv +0 -4
  534. data/test/TestSuite/ReportGenerator/Correct/DependencyList.tjp +0 -25
  535. data/test/TestSuite/ReportGenerator/Correct/Journal-1.csv +0 -8
  536. data/test/TestSuite/ReportGenerator/Correct/Journal-2.csv +0 -8
  537. data/test/TestSuite/ReportGenerator/Correct/Journal-3.html +0 -28
  538. data/test/TestSuite/ReportGenerator/Correct/LogicalFunctions2.csv +0 -3
  539. data/test/TestSuite/ReportGenerator/Correct/opennodes-1.csv +0 -2
  540. data/test/TestSuite/ReportGenerator/Correct/opennodes.csv +0 -2
  541. data/test/TestSuite/ReportGenerator/Correct/opennodes.tjp +0 -26
  542. data/test/TestSuite/ReportGenerator/Correct/refs/opennodes-1.csv +0 -2
  543. data/test/TestSuite/Scheduler/' +0 -23
  544. data/test/TestSuite/Scheduler/Correct/css/tjmanual.css +0 -86
  545. data/test/TestSuite/Scheduler/Correct/css/tjreport.css +0 -413
  546. data/test/TestSuite/Scheduler/Correct/icons/details.png +0 -0
  547. data/test/TestSuite/Scheduler/Correct/icons/flag-green.png +0 -0
  548. data/test/TestSuite/Scheduler/Correct/icons/flag-red.png +0 -0
  549. data/test/TestSuite/Scheduler/Correct/icons/flag-yellow.png +0 -0
  550. data/test/TestSuite/Scheduler/Correct/icons/resource.png +0 -0
  551. data/test/TestSuite/Scheduler/Correct/icons/resourcegroup.png +0 -0
  552. data/test/TestSuite/Scheduler/Correct/icons/task.png +0 -0
  553. data/test/TestSuite/Scheduler/Correct/icons/taskgroup.png +0 -0
  554. data/test/TestSuite/Scheduler/Correct/icons/trend-down.png +0 -0
  555. data/test/TestSuite/Scheduler/Correct/icons/trend-flat.png +0 -0
  556. data/test/TestSuite/Scheduler/Correct/icons/trend-up.png +0 -0
  557. data/test/TestSuite/StatusSheetTemplates/project.tji +0 -35
  558. data/test/TestSuite/StatusSheetTemplates/project.tjp +0 -56
  559. data/test/TestSuite/StatusSheets/TimeSheets/2002-03-01/resource1_2002-03-01.tji +0 -0
  560. data/test/TestSuite/Syntax/Correct/DST.tjp +0 -11
  561. data/test/TestSuite/Syntax/Correct/ReleasePlan.tjp +0 -32
  562. data/test/TestSuite/TimeSheets/receiver.log.mod +0 -1056
  563. data/test/TestSuite/TimeSheets/uu.txt +0 -29
@@ -0,0 +1,351 @@
1
+ # The status headline should be no more than 60 characters and may
2
+ # not be empty! The status summary is optional and should be no
3
+ # longer than one or two sentences of plain text. The details section
4
+ # is also optional has no length limitation. You can use simple
5
+ # markup in this section. It is recommended that you provide at
6
+ # least a summary or a details section.
7
+ # See http://www.taskjuggler.org/tj3/manual/timesheet.html for details.
8
+ timesheet boss 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
9
+
10
+ # Vacation time: 1.1506849315068493%
11
+
12
+ # There were no planned tasks assignements for this period!
13
+
14
+ # If you had unplanned tasks, uncomment and fill out the
15
+ # following lines:
16
+ # newtask new.task.id "A task title" {
17
+ # work X%
18
+ # remaining Y.Yd
19
+ # }
20
+
21
+ # You can use the following section to report personal notes.
22
+ # status green "A headline" {
23
+ # summary -8<-
24
+ # Uncomment and put one or two sentences here!
25
+ # ->8-
26
+ # details -8<-
27
+ # Uncomment and put markup text here.
28
+ # ->8-
29
+ # }
30
+ }
31
+
32
+ timesheet dev1 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
33
+
34
+ # Vacation time: 1.1506849315068493%
35
+
36
+ # Task: Specification
37
+ task AcSo.spec {
38
+ work 7.767123287671233%
39
+ remaining 0.0d
40
+ status green "Your headline here!" {
41
+ # summary -8<-
42
+ # Uncomment and put one or two sentences here!
43
+ # ->8-
44
+ # details -8<-
45
+ # Uncomment and put markup text here.
46
+ # ->8-
47
+ }
48
+ }
49
+
50
+ # Task: Database coupling
51
+ task AcSo.software.database {
52
+ work 11.506849315068495%
53
+ remaining 0.0d
54
+ status green "Your headline here!" {
55
+ # summary -8<-
56
+ # Uncomment and put one or two sentences here!
57
+ # ->8-
58
+ # details -8<-
59
+ # Uncomment and put markup text here.
60
+ # ->8-
61
+ }
62
+ }
63
+
64
+ # Task: Back-End Functions
65
+ task AcSo.software.backend {
66
+ work 17.26027397260274%
67
+ remaining 0.0d
68
+ status green "Your headline here!" {
69
+ # summary -8<-
70
+ # Uncomment and put one or two sentences here!
71
+ # ->8-
72
+ # details -8<-
73
+ # Uncomment and put markup text here.
74
+ # ->8-
75
+ }
76
+ }
77
+
78
+ # Task: Beta Test
79
+ task AcSo.test.beta {
80
+ work 13.08904109589041%
81
+ remaining 0.0d
82
+ status green "Your headline here!" {
83
+ # summary -8<-
84
+ # Uncomment and put one or two sentences here!
85
+ # ->8-
86
+ # details -8<-
87
+ # Uncomment and put markup text here.
88
+ # ->8-
89
+ }
90
+ }
91
+
92
+ # If you had unplanned tasks, uncomment and fill out the
93
+ # following lines:
94
+ # newtask new.task.id "A task title" {
95
+ # work X%
96
+ # remaining Y.Yd
97
+ # }
98
+
99
+ # You can use the following section to report personal notes.
100
+ # status green "A headline" {
101
+ # summary -8<-
102
+ # Uncomment and put one or two sentences here!
103
+ # ->8-
104
+ # details -8<-
105
+ # Uncomment and put markup text here.
106
+ # ->8-
107
+ # }
108
+ }
109
+
110
+ timesheet dev2 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
111
+
112
+ # Vacation time: 1.1506849315068493%
113
+
114
+ # Task: Specification
115
+ task AcSo.spec {
116
+ work 7.767123287671233%
117
+ remaining 0.0d
118
+ status green "Your headline here!" {
119
+ # summary -8<-
120
+ # Uncomment and put one or two sentences here!
121
+ # ->8-
122
+ # details -8<-
123
+ # Uncomment and put markup text here.
124
+ # ->8-
125
+ }
126
+ }
127
+
128
+ # Task: Database coupling
129
+ task AcSo.software.database {
130
+ work 11.506849315068495%
131
+ remaining 0.0d
132
+ status green "Your headline here!" {
133
+ # summary -8<-
134
+ # Uncomment and put one or two sentences here!
135
+ # ->8-
136
+ # details -8<-
137
+ # Uncomment and put markup text here.
138
+ # ->8-
139
+ }
140
+ }
141
+
142
+ # Task: Graphical User Interface
143
+ task AcSo.software.gui {
144
+ work 20.136986301369863%
145
+ remaining 0.0d
146
+ status green "Your headline here!" {
147
+ # summary -8<-
148
+ # Uncomment and put one or two sentences here!
149
+ # ->8-
150
+ # details -8<-
151
+ # Uncomment and put markup text here.
152
+ # ->8-
153
+ }
154
+ }
155
+
156
+ # Task: Back-End Functions
157
+ task AcSo.software.backend {
158
+ work 17.26027397260274%
159
+ remaining 0.0d
160
+ status green "Your headline here!" {
161
+ # summary -8<-
162
+ # Uncomment and put one or two sentences here!
163
+ # ->8-
164
+ # details -8<-
165
+ # Uncomment and put markup text here.
166
+ # ->8-
167
+ }
168
+ }
169
+
170
+ # Task: Alpha Test
171
+ task AcSo.test.alpha {
172
+ work 3.1643835616438363%
173
+ remaining 0.0d
174
+ status green "Your headline here!" {
175
+ # summary -8<-
176
+ # Uncomment and put one or two sentences here!
177
+ # ->8-
178
+ # details -8<-
179
+ # Uncomment and put markup text here.
180
+ # ->8-
181
+ }
182
+ }
183
+
184
+ # If you had unplanned tasks, uncomment and fill out the
185
+ # following lines:
186
+ # newtask new.task.id "A task title" {
187
+ # work X%
188
+ # remaining Y.Yd
189
+ # }
190
+
191
+ # You can use the following section to report personal notes.
192
+ # status green "A headline" {
193
+ # summary -8<-
194
+ # Uncomment and put one or two sentences here!
195
+ # ->8-
196
+ # details -8<-
197
+ # Uncomment and put markup text here.
198
+ # ->8-
199
+ # }
200
+ }
201
+
202
+ timesheet dev3 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
203
+
204
+ # Vacation time: 3.4520547945205484%
205
+
206
+ # Task: Specification
207
+ task AcSo.spec {
208
+ work 7.767123287671233%
209
+ remaining 0.0d
210
+ status green "Your headline here!" {
211
+ # summary -8<-
212
+ # Uncomment and put one or two sentences here!
213
+ # ->8-
214
+ # details -8<-
215
+ # Uncomment and put markup text here.
216
+ # ->8-
217
+ }
218
+ }
219
+
220
+ # Task: Graphical User Interface
221
+ task AcSo.software.gui {
222
+ work 20.136986301369863%
223
+ remaining 0.0d
224
+ status green "Your headline here!" {
225
+ # summary -8<-
226
+ # Uncomment and put one or two sentences here!
227
+ # ->8-
228
+ # details -8<-
229
+ # Uncomment and put markup text here.
230
+ # ->8-
231
+ }
232
+ }
233
+
234
+ # Task: Manual
235
+ task AcSo.manual {
236
+ work 23.732876712328768%
237
+ remaining 0.0d
238
+ status green "Your headline here!" {
239
+ # summary -8<-
240
+ # Uncomment and put one or two sentences here!
241
+ # ->8-
242
+ # details -8<-
243
+ # Uncomment and put markup text here.
244
+ # ->8-
245
+ }
246
+ }
247
+
248
+ # If you had unplanned tasks, uncomment and fill out the
249
+ # following lines:
250
+ # newtask new.task.id "A task title" {
251
+ # work X%
252
+ # remaining Y.Yd
253
+ # }
254
+
255
+ # You can use the following section to report personal notes.
256
+ # status green "A headline" {
257
+ # summary -8<-
258
+ # Uncomment and put one or two sentences here!
259
+ # ->8-
260
+ # details -8<-
261
+ # Uncomment and put markup text here.
262
+ # ->8-
263
+ # }
264
+ }
265
+
266
+ timesheet test 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
267
+
268
+ # Vacation time: 1.1506849315068493%
269
+
270
+ # Task: Alpha Test
271
+ task AcSo.test.alpha {
272
+ work 2.589041095890411%
273
+ remaining 0.0d
274
+ status green "Your headline here!" {
275
+ # summary -8<-
276
+ # Uncomment and put one or two sentences here!
277
+ # ->8-
278
+ # details -8<-
279
+ # Uncomment and put markup text here.
280
+ # ->8-
281
+ }
282
+ }
283
+
284
+ # Task: Beta Test
285
+ task AcSo.test.beta {
286
+ work 9.924657534246577%
287
+ remaining 0.0d
288
+ status green "Your headline here!" {
289
+ # summary -8<-
290
+ # Uncomment and put one or two sentences here!
291
+ # ->8-
292
+ # details -8<-
293
+ # Uncomment and put markup text here.
294
+ # ->8-
295
+ }
296
+ }
297
+
298
+ # If you had unplanned tasks, uncomment and fill out the
299
+ # following lines:
300
+ # newtask new.task.id "A task title" {
301
+ # work X%
302
+ # remaining Y.Yd
303
+ # }
304
+
305
+ # You can use the following section to report personal notes.
306
+ # status green "A headline" {
307
+ # summary -8<-
308
+ # Uncomment and put one or two sentences here!
309
+ # ->8-
310
+ # details -8<-
311
+ # Uncomment and put markup text here.
312
+ # ->8-
313
+ # }
314
+ }
315
+
316
+ timesheet doc 2002-01-16-00:00-+0100 - 2002-05-17-17:00-+0200 {
317
+
318
+ # Vacation time: 6.904109589041097%
319
+
320
+ # Task: Manual
321
+ task AcSo.manual {
322
+ work 33.801369863013704%
323
+ remaining 0.0d
324
+ status green "Your headline here!" {
325
+ # summary -8<-
326
+ # Uncomment and put one or two sentences here!
327
+ # ->8-
328
+ # details -8<-
329
+ # Uncomment and put markup text here.
330
+ # ->8-
331
+ }
332
+ }
333
+
334
+ # If you had unplanned tasks, uncomment and fill out the
335
+ # following lines:
336
+ # newtask new.task.id "A task title" {
337
+ # work X%
338
+ # remaining Y.Yd
339
+ # }
340
+
341
+ # You can use the following section to report personal notes.
342
+ # status green "A headline" {
343
+ # summary -8<-
344
+ # Uncomment and put one or two sentences here!
345
+ # ->8-
346
+ # details -8<-
347
+ # Uncomment and put markup text here.
348
+ # ->8-
349
+ # }
350
+ }
351
+
@@ -0,0 +1,2 @@
1
+ timesheetreport "ts.tji" {
2
+ }
data/test/test_Limits.rb CHANGED
@@ -54,17 +54,19 @@ class TestLimits < Test::Unit::TestCase
54
54
  def test_inc
55
55
  l = Limits.new
56
56
  l.setProject(@p)
57
- l.setLimit('weeklymax', 2, Interval.new(TjTime.new('2009-02-10'),
58
- TjTime.new('2009-02-15')))
57
+ l.setLimit('weeklymax', 2,
58
+ ScoreboardInterval.new(@p['start'], @p['scheduleGranularity'],
59
+ TjTime.new('2009-02-10'),
60
+ TjTime.new('2009-02-15')))
59
61
  # Outside of limit interval, should be ignored
60
- l.inc(TjTime.new('2009-02-05-10:00'))
61
- l.inc(TjTime.new('2009-02-20-10:00'))
62
+ l.inc(-1)
63
+ l.inc(100000)
62
64
  assert(l.ok?)
63
65
  # Inside the calendar week interval
64
- l.inc(TjTime.new('2009-02-09-10:00'))
66
+ l.inc(dateToIdx('2009-02-09-10:00'))
65
67
  assert(l.ok?)
66
68
  # The inc will exceed the weekly limit
67
- l.inc(TjTime.new('2009-02-09-11:00'))
69
+ l.inc(dateToIdx('2009-02-09-11:00'))
68
70
  assert(!l.ok?)
69
71
  end
70
72
 
@@ -73,17 +75,17 @@ class TestLimits < Test::Unit::TestCase
73
75
  l.setProject(@p)
74
76
  l.setLimit('dailymax', 4)
75
77
  assert_equal(l.limits.length, 1, 'setLimits() failed')
76
- l.inc(TjTime.new('2009-02-01-10:00'))
78
+ l.inc(dateToIdx('2009-02-01-10:00'))
77
79
  assert(l.ok?)
78
- l.inc(TjTime.new('2009-02-01-11:00'))
80
+ l.inc(dateToIdx('2009-02-01-11:00'))
79
81
  assert(l.ok?)
80
- l.inc(TjTime.new('2009-02-01-12:00'))
82
+ l.inc(dateToIdx('2009-02-01-12:00'))
81
83
  assert(l.ok?)
82
- l.inc(TjTime.new('2009-02-01-13:00'))
84
+ l.inc(dateToIdx('2009-02-01-13:00'))
83
85
  assert(!l.ok?)
84
- assert(l.ok?(TjTime.new('2009-01-31')))
85
- assert(!l.ok?(TjTime.new('2009-02-01')))
86
- assert(l.ok?(TjTime.new('2009-02-01'), false))
86
+ assert(l.ok?(dateToIdx('2009-01-31')))
87
+ assert(!l.ok?(dateToIdx('2009-02-01')))
88
+ assert(l.ok?(dateToIdx('2009-02-01'), false))
87
89
  end
88
90
 
89
91
  def test_with_resource_1
@@ -92,13 +94,13 @@ class TestLimits < Test::Unit::TestCase
92
94
  l.setLimit('dailymax', 4)
93
95
  r = Resource.new(@p, 'r', 'R', nil)
94
96
  l.setLimit('dailymax', 5, nil, r)
95
- l.inc(TjTime.new('2009-02-01-10:00'))
97
+ l.inc(dateToIdx('2009-02-01-10:00'))
96
98
  assert(l.ok?)
97
- l.inc(TjTime.new('2009-02-01-11:00'))
99
+ l.inc(dateToIdx('2009-02-01-11:00'))
98
100
  assert(l.ok?)
99
- l.inc(TjTime.new('2009-02-01-12:00'))
101
+ l.inc(dateToIdx('2009-02-01-12:00'))
100
102
  assert(l.ok?)
101
- l.inc(TjTime.new('2009-02-01-13:00'))
103
+ l.inc(dateToIdx('2009-02-01-13:00'))
102
104
  assert(!l.ok?)
103
105
  assert(l.ok?(nil, true, r))
104
106
  end
@@ -109,16 +111,16 @@ class TestLimits < Test::Unit::TestCase
109
111
  l.setLimit('dailymax', 5)
110
112
  r = Resource.new(@p, 'r', 'R', nil)
111
113
  l.setLimit('dailymax', 1, nil, r)
112
- l.inc(TjTime.new('2009-02-01-10:00'))
114
+ l.inc(dateToIdx('2009-02-01-10:00'))
113
115
  assert(l.ok?)
114
- l.inc(TjTime.new('2009-02-01-11:00'))
116
+ l.inc(dateToIdx('2009-02-01-11:00'))
115
117
  assert(l.ok?)
116
- l.inc(TjTime.new('2009-02-01-12:00'))
118
+ l.inc(dateToIdx('2009-02-01-12:00'))
117
119
  assert(l.ok?)
118
- l.inc(TjTime.new('2009-02-01-13:00'))
120
+ l.inc(dateToIdx('2009-02-01-13:00'))
119
121
  assert(l.ok?)
120
122
  assert(l.ok?(nil, true, r))
121
- l.inc(TjTime.new('2009-02-01-14:00'), r)
123
+ l.inc(dateToIdx('2009-02-01-14:00'), r)
122
124
  assert(!l.ok?)
123
125
  assert(!l.ok?(nil, true, r))
124
126
  end
@@ -129,13 +131,13 @@ class TestLimits < Test::Unit::TestCase
129
131
  l.setLimit('dailymax', 5)
130
132
  r = Resource.new(@p, 'r', 'R', nil)
131
133
  l.setLimit('dailymax', 3, nil, r)
132
- l.inc(TjTime.new('2009-02-01-10:00'), r)
134
+ l.inc(dateToIdx('2009-02-01-10:00'), r)
133
135
  assert(l.ok?)
134
- l.inc(TjTime.new('2009-02-01-11:00'))
136
+ l.inc(dateToIdx('2009-02-01-11:00'))
135
137
  assert(l.ok?)
136
- l.inc(TjTime.new('2009-02-01-12:00'), r)
138
+ l.inc(dateToIdx('2009-02-01-12:00'), r)
137
139
  assert(l.ok?)
138
- l.inc(TjTime.new('2009-02-01-13:00'), r)
140
+ l.inc(dateToIdx('2009-02-01-13:00'), r)
139
141
  assert(l.ok?)
140
142
  assert(!l.ok?(nil, true, r))
141
143
  end
@@ -146,18 +148,24 @@ class TestLimits < Test::Unit::TestCase
146
148
  l.setLimit('dailymax', 2)
147
149
  r = Resource.new(@p, 'r', 'R', nil)
148
150
  l.setLimit('dailymax', 3, nil, r)
149
- l.inc(TjTime.new('2009-02-01-10:00'), r)
151
+ l.inc(dateToIdx('2009-02-01-10:00'), r)
150
152
  assert(l.ok?)
151
- l.inc(TjTime.new('2009-02-01-11:00'))
153
+ l.inc(dateToIdx('2009-02-01-11:00'))
152
154
  assert(!l.ok?)
153
- l.inc(TjTime.new('2009-02-01-12:00'), r)
155
+ l.inc(dateToIdx('2009-02-01-12:00'), r)
154
156
  assert(!l.ok?)
155
157
  assert(l.ok?(nil, true, r))
156
- l.inc(TjTime.new('2009-02-01-13:00'), r)
158
+ l.inc(dateToIdx('2009-02-01-13:00'), r)
157
159
  assert(!l.ok?)
158
160
  assert(!l.ok?(nil, true, r))
159
161
  end
160
162
 
163
+ private
164
+
165
+ def dateToIdx(date)
166
+ @p.dateToIdx(TjTime.new(date))
167
+ end
168
+
161
169
  end
162
170
 
163
171
  end
@@ -39,10 +39,10 @@ class TestScheduler < Test::Unit::TestCase
39
39
  path = File.dirname(__FILE__) + '/'
40
40
  Dir.glob(path + 'TestSuite/Scheduler/Correct/*.tjp').each do |f|
41
41
  ENV['TZ'] = 'Europe/Berlin'
42
- tj = TaskJuggler.new(true)
42
+ tj = TaskJuggler.new(false)
43
43
  assert(tj.parse([ f ]), "Parser failed for #{f}")
44
44
  assert(tj.schedule, "Scheduler failed for #{f}")
45
- assert(tj.messageHandler.messages.empty?, "Unexpected error in #{f}")
45
+ checkMessages(tj, f)
46
46
  end
47
47
  end
48
48
 
@@ -39,8 +39,8 @@ class TestPropertySet < Test::Unit::TestCase
39
39
  sas1.project = @p
40
40
  assert_equal(0, TaskJuggler::ShiftAssignments.scoreboards.length)
41
41
  sas1.addAssignment(sa1 = TaskJuggler::ShiftAssignment.new(@s1,
42
- TaskJuggler::Interval.new(TaskJuggler::TjTime.new('2008-08-01'),
43
- TaskJuggler::TjTime.new('2008-08-05'))))
42
+ TaskJuggler::TimeInterval.new(TaskJuggler::TjTime.new('2008-08-01'),
43
+ TaskJuggler::TjTime.new('2008-08-05'))))
44
44
  assert_equal(1, TaskJuggler::ShiftAssignments.scoreboards.length)
45
45
 
46
46
  # Call finalizer directly to check for runtime errors that would otherwise
@@ -54,22 +54,22 @@ class TestPropertySet < Test::Unit::TestCase
54
54
  sas1.project = @p
55
55
  assert_equal(0, TaskJuggler::ShiftAssignments.scoreboards.length)
56
56
  sas1.addAssignment(TaskJuggler::ShiftAssignment.new(@s1,
57
- TaskJuggler::Interval.new(TaskJuggler::TjTime.new('2008-08-01'),
58
- TaskJuggler::TjTime.new('2008-08-05'))))
57
+ TaskJuggler::TimeInterval.new(TaskJuggler::TjTime.new('2008-08-01'),
58
+ TaskJuggler::TjTime.new('2008-08-05'))))
59
59
 
60
60
  sas2 = TaskJuggler::ShiftAssignments.new
61
61
  sas2.project = @p
62
62
  sas2.addAssignment(TaskJuggler::ShiftAssignment.new(@s1,
63
- TaskJuggler::Interval.new(TaskJuggler::TjTime.new('2008-08-01'),
64
- TaskJuggler::TjTime.new('2008-08-05'))))
63
+ TaskJuggler::TimeInterval.new(TaskJuggler::TjTime.new('2008-08-01'),
64
+ TaskJuggler::TjTime.new('2008-08-05'))))
65
65
 
66
66
  assert_equal(1, TaskJuggler::ShiftAssignments.scoreboards.length)
67
67
 
68
68
  sas3 = TaskJuggler::ShiftAssignments.new
69
69
  sas3.project = @p
70
70
  sas3.addAssignment(TaskJuggler::ShiftAssignment.new(@s2,
71
- TaskJuggler::Interval.new(TaskJuggler::TjTime.new('2008-08-01'),
72
- TaskJuggler::TjTime.new('2008-08-05'))))
71
+ TaskJuggler::TimeInterval.new(TaskJuggler::TjTime.new('2008-08-01'),
72
+ TaskJuggler::TjTime.new('2008-08-05'))))
73
73
 
74
74
  assert_equal(2, TaskJuggler::ShiftAssignments.scoreboards.length)
75
75
 
@@ -165,8 +165,8 @@ class TestLimits < Test::Unit::TestCase
165
165
  [ '2010-09-20-17:00', '2010-09-21-10:00' ]
166
166
  ]
167
167
  workTimes.each do |iv|
168
- assert(!wh.timeOff?(Interval.new(TjTime.new(iv[0]),
169
- TjTime.new(iv[1]))),
168
+ assert(!wh.timeOff?(TimeInterval.new(TjTime.new(iv[0]),
169
+ TjTime.new(iv[1]))),
170
170
  "Work time interval #{iv[0]} - #{iv[1]} failed")
171
171
  end
172
172
 
@@ -178,8 +178,8 @@ class TestLimits < Test::Unit::TestCase
178
178
  ]
179
179
 
180
180
  offTimes.each do |iv|
181
- assert(wh.timeOff?(Interval.new(TjTime.new(iv[0]),
182
- TjTime.new(iv[1]))),
181
+ assert(wh.timeOff?(TimeInterval.new(TjTime.new(iv[0]),
182
+ TjTime.new(iv[1]))),
183
183
  "Off time interval #{iv[0]} - #{iv[1]} failed")
184
184
  end
185
185
  end