taskjuggler 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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