taskjuggler 3.6.0 → 3.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +51 -0
  3. data/data/css/tjreport.css +4 -0
  4. data/data/tjp.vim +21 -15
  5. data/examples/ProjectTemplate/template.tjp +7 -7
  6. data/examples/Tutorial/tutorial.tjp +1 -1
  7. data/lib/taskjuggler/Allocation.rb +1 -1
  8. data/lib/taskjuggler/AttributeBase.rb +10 -4
  9. data/lib/taskjuggler/Attributes.rb +2 -2
  10. data/lib/taskjuggler/BatchProcessor.rb +1 -1
  11. data/lib/taskjuggler/Interval.rb +10 -12
  12. data/lib/taskjuggler/Journal.rb +2 -2
  13. data/lib/taskjuggler/LogicalFunction.rb +1 -1
  14. data/lib/taskjuggler/LogicalOperation.rb +7 -4
  15. data/lib/taskjuggler/MessageHandler.rb +1 -1
  16. data/lib/taskjuggler/PTNProxy.rb +1 -1
  17. data/lib/taskjuggler/Project.rb +27 -22
  18. data/lib/taskjuggler/PropertyList.rb +7 -1
  19. data/lib/taskjuggler/PropertySet.rb +1 -1
  20. data/lib/taskjuggler/PropertyTreeNode.rb +5 -3
  21. data/lib/taskjuggler/Query.rb +3 -3
  22. data/lib/taskjuggler/RealFormat.rb +1 -1
  23. data/lib/taskjuggler/Resource.rb +2 -2
  24. data/lib/taskjuggler/ResourceScenario.rb +37 -5
  25. data/lib/taskjuggler/RichText/Snip.rb +1 -1
  26. data/lib/taskjuggler/RuntimeConfig.rb +1 -1
  27. data/lib/taskjuggler/Scoreboard.rb +5 -2
  28. data/lib/taskjuggler/Shift.rb +2 -2
  29. data/lib/taskjuggler/ShiftAssignments.rb +1 -1
  30. data/lib/taskjuggler/TaskJuggler.rb +4 -4
  31. data/lib/taskjuggler/TextParser.rb +1 -1
  32. data/lib/taskjuggler/TextParser/Scanner.rb +3 -3
  33. data/lib/taskjuggler/TimeSheets.rb +2 -2
  34. data/lib/taskjuggler/Tj3AppBase.rb +23 -9
  35. data/lib/taskjuggler/Tj3Config.rb +5 -3
  36. data/lib/taskjuggler/TjpExample.rb +3 -1
  37. data/lib/taskjuggler/TjpSyntaxRules.rb +157 -130
  38. data/lib/taskjuggler/UTF8String.rb +3 -3
  39. data/lib/taskjuggler/WorkingHours.rb +3 -3
  40. data/lib/taskjuggler/XMLElement.rb +12 -1
  41. data/lib/taskjuggler/apps/Tj3.rb +3 -1
  42. data/lib/taskjuggler/apps/Tj3Client.rb +3 -2
  43. data/lib/taskjuggler/apps/Tj3Daemon.rb +3 -1
  44. data/lib/taskjuggler/apps/Tj3Man.rb +4 -2
  45. data/lib/taskjuggler/apps/Tj3SsReceiver.rb +3 -1
  46. data/lib/taskjuggler/apps/Tj3SsSender.rb +3 -1
  47. data/lib/taskjuggler/apps/Tj3TsReceiver.rb +3 -1
  48. data/lib/taskjuggler/apps/Tj3TsSender.rb +3 -1
  49. data/lib/taskjuggler/apps/Tj3TsSummary.rb +3 -1
  50. data/lib/taskjuggler/apps/Tj3WebD.rb +3 -1
  51. data/lib/taskjuggler/deep_copy.rb +1 -1
  52. data/lib/taskjuggler/reports/CSVFile.rb +3 -3
  53. data/lib/taskjuggler/reports/ChartPlotter.rb +1 -1
  54. data/lib/taskjuggler/reports/GanttChart.rb +8 -2
  55. data/lib/taskjuggler/reports/GanttHeader.rb +11 -1
  56. data/lib/taskjuggler/reports/GanttLine.rb +6 -0
  57. data/lib/taskjuggler/reports/ICalReport.rb +1 -1
  58. data/lib/taskjuggler/reports/Report.rb +1 -1
  59. data/lib/taskjuggler/reports/ReportTableCell.rb +1 -1
  60. data/lib/taskjuggler/reports/TableReport.rb +7 -12
  61. data/lib/taskjuggler/reports/TjpExportRE.rb +1 -5
  62. data/lib/taskjuggler/version.rb +1 -0
  63. data/man/tj3.1 +130 -0
  64. data/man/tj3client.1 +145 -0
  65. data/man/tj3d.1 +93 -0
  66. data/man/tj3man.1 +76 -0
  67. data/man/tj3ss_receiver.1 +86 -0
  68. data/man/tj3ss_sender.1 +100 -0
  69. data/man/tj3ts_receiver.1 +86 -0
  70. data/man/tj3ts_sender.1 +92 -0
  71. data/man/tj3ts_summary.1 +104 -0
  72. data/man/tj3webd.1 +86 -0
  73. data/manual/Day_To_Day_Juggling +8 -8
  74. data/manual/Installation +6 -6
  75. data/manual/List_Attributes +1 -1
  76. data/manual/Rich_Text_Attributes +6 -5
  77. data/manual/Software +6 -6
  78. data/manual/TaskJuggler_Internals +4 -4
  79. data/manual/The_TaskJuggler_Syntax +5 -5
  80. data/manual/Tutorial +13 -11
  81. data/manual/html/Day_To_Day_Juggling.html +9 -9
  82. data/manual/html/Getting_Started.html +2 -2
  83. data/manual/html/How_To_Contribute.html +2 -2
  84. data/manual/html/Installation.html +8 -8
  85. data/manual/html/Intro.html +2 -2
  86. data/manual/html/List_Attributes.html +3 -3
  87. data/manual/html/Reporting_Bugs.html +2 -2
  88. data/manual/html/Rich_Text_Attributes.html +5 -5
  89. data/manual/html/Software.html +7 -7
  90. data/manual/html/TaskJuggler_2x_Migration.html +2 -2
  91. data/manual/html/TaskJuggler_Internals.html +6 -6
  92. data/manual/html/The_TaskJuggler_Syntax.html +6 -6
  93. data/manual/html/Tutorial.html +17 -14
  94. data/manual/html/account.html +4 -4
  95. data/manual/html/account.task.html +2 -2
  96. data/manual/html/accountprefix.html +2 -2
  97. data/manual/html/accountreport.html +4 -4
  98. data/manual/html/accountroot.html +3 -3
  99. data/manual/html/active.html +3 -3
  100. data/manual/html/adopt.task.html +2 -2
  101. data/manual/html/aggregate.html +2 -2
  102. data/manual/html/alert.html +3 -3
  103. data/manual/html/alertlevels.html +2 -2
  104. data/manual/html/allocate.html +3 -3
  105. data/manual/html/alphabet.html +1 -1
  106. data/manual/html/alternative.html +2 -2
  107. data/manual/html/author.html +2 -2
  108. data/manual/html/auxdir.html +2 -2
  109. data/manual/html/auxdir.report.html +3 -3
  110. data/manual/html/balance.html +3 -3
  111. data/manual/html/booking.resource.html +4 -4
  112. data/manual/html/booking.task.html +4 -4
  113. data/manual/html/caption.html +3 -3
  114. data/manual/html/cellcolor.column.html +3 -3
  115. data/manual/html/celltext.column.html +3 -3
  116. data/manual/html/center.html +3 -3
  117. data/manual/html/charge.html +2 -2
  118. data/manual/html/chargeset.html +2 -2
  119. data/manual/html/columnid.html +17 -13
  120. data/manual/html/columns.html +3 -3
  121. data/manual/html/complete.html +2 -2
  122. data/manual/html/copyright.html +2 -2
  123. data/manual/html/credits.html +2 -2
  124. data/manual/html/css/tjreport.css +4 -0
  125. data/manual/html/currency.html +2 -2
  126. data/manual/html/currencyformat.html +4 -4
  127. data/manual/html/dailymax.html +2 -2
  128. data/manual/html/dailymin.html +3 -3
  129. data/manual/html/dailyworkinghours.html +2 -2
  130. data/manual/html/date.extend.html +2 -2
  131. data/manual/html/date.html +5 -5
  132. data/manual/html/definitions.html +4 -4
  133. data/manual/html/depends.html +4 -4
  134. data/manual/html/details.html +2 -2
  135. data/manual/html/disabled.html +2 -2
  136. data/manual/html/duration.html +2 -2
  137. data/manual/html/efficiency.html +3 -3
  138. data/manual/html/effort.html +2 -2
  139. data/manual/html/effortdone.html +2 -2
  140. data/manual/html/effortleft.html +2 -2
  141. data/manual/html/email.html +2 -2
  142. data/manual/html/enabled.html +2 -2
  143. data/manual/html/end.column.html +3 -3
  144. data/manual/html/end.html +4 -4
  145. data/manual/html/end.limit.html +2 -2
  146. data/manual/html/end.report.html +3 -3
  147. data/manual/html/end.timesheet.html +3 -3
  148. data/manual/html/endcredit.html +3 -3
  149. data/manual/html/epilog.html +3 -3
  150. data/manual/html/export.html +4 -4
  151. data/manual/html/extend.html +3 -3
  152. data/manual/html/fail.html +3 -3
  153. data/manual/html/fdl.html +2 -2
  154. data/manual/html/flags.account.html +2 -2
  155. data/manual/html/flags.html +2 -2
  156. data/manual/html/flags.journalentry.html +2 -2
  157. data/manual/html/flags.report.html +3 -3
  158. data/manual/html/flags.resource.html +2 -2
  159. data/manual/html/flags.statussheet.html +2 -2
  160. data/manual/html/flags.task.html +2 -2
  161. data/manual/html/flags.timesheet.html +2 -2
  162. data/manual/html/fontcolor.column.html +3 -3
  163. data/manual/html/footer.html +3 -3
  164. data/manual/html/formats.export.html +3 -3
  165. data/manual/html/formats.html +4 -4
  166. data/manual/html/functions.html +5 -5
  167. data/manual/html/gapduration.html +2 -2
  168. data/manual/html/gaplength.html +2 -2
  169. data/manual/html/halign.center.html +2 -2
  170. data/manual/html/halign.column.html +3 -3
  171. data/manual/html/halign.left.html +2 -2
  172. data/manual/html/halign.right.html +2 -2
  173. data/manual/html/hasalert.html +2 -2
  174. data/manual/html/header.html +3 -3
  175. data/manual/html/headline.html +3 -3
  176. data/manual/html/height.html +4 -4
  177. data/manual/html/hideaccount.html +4 -4
  178. data/manual/html/hidejournalentry.html +3 -3
  179. data/manual/html/hidereport.html +3 -3
  180. data/manual/html/hideresource.html +4 -4
  181. data/manual/html/hidetask.html +4 -4
  182. data/manual/html/icalreport.html +9 -3
  183. data/manual/html/include.macro.html +3 -3
  184. data/manual/html/include.project.html +3 -3
  185. data/manual/html/include.properties.html +3 -3
  186. data/manual/html/index.html +1 -1
  187. data/manual/html/inherit.extend.html +3 -3
  188. data/manual/html/interval1.html +3 -3
  189. data/manual/html/interval2.html +3 -3
  190. data/manual/html/interval3.html +2 -2
  191. data/manual/html/interval4.html +2 -2
  192. data/manual/html/isactive.html +2 -2
  193. data/manual/html/ischildof.html +2 -2
  194. data/manual/html/isdependencyof.html +2 -2
  195. data/manual/html/isdutyof.html +2 -2
  196. data/manual/html/isfeatureof.html +2 -2
  197. data/manual/html/isleaf.html +2 -2
  198. data/manual/html/ismilestone.html +2 -2
  199. data/manual/html/isongoing.html +3 -3
  200. data/manual/html/isresource.html +2 -2
  201. data/manual/html/isresponsibilityof.html +2 -2
  202. data/manual/html/istask.html +2 -2
  203. data/manual/html/isvalid.html +2 -2
  204. data/manual/html/journalattributes.html +3 -3
  205. data/manual/html/journalentry.html +3 -3
  206. data/manual/html/journalmode.html +4 -4
  207. data/manual/html/leaveallowance.html +3 -3
  208. data/manual/html/leaves.html +3 -3
  209. data/manual/html/left.html +3 -3
  210. data/manual/html/length.html +3 -3
  211. data/manual/html/limits.allocate.html +2 -2
  212. data/manual/html/limits.html +2 -2
  213. data/manual/html/limits.resource.html +2 -2
  214. data/manual/html/limits.task.html +2 -2
  215. data/manual/html/listitem.column.html +3 -3
  216. data/manual/html/listtype.column.html +2 -2
  217. data/manual/html/loadunit.html +3 -3
  218. data/manual/html/logicalexpression.html +4 -4
  219. data/manual/html/logicalflagexpression.html +4 -4
  220. data/manual/html/macro.html +4 -4
  221. data/manual/html/managers.html +2 -2
  222. data/manual/html/mandatory.html +4 -4
  223. data/manual/html/markdate.html +69 -0
  224. data/manual/html/maxend.html +4 -4
  225. data/manual/html/maximum.html +2 -2
  226. data/manual/html/maxstart.html +2 -2
  227. data/manual/html/milestone.html +3 -3
  228. data/manual/html/minend.html +2 -2
  229. data/manual/html/minimum.html +2 -2
  230. data/manual/html/minstart.html +2 -2
  231. data/manual/html/monthlymax.html +2 -2
  232. data/manual/html/monthlymin.html +3 -3
  233. data/manual/html/navbar.html +5 -1
  234. data/manual/html/navigator.html +2 -2
  235. data/manual/html/newtask.html +3 -3
  236. data/manual/html/nikureport.html +2 -2
  237. data/manual/html/note.task.html +4 -4
  238. data/manual/html/novevents.html +68 -0
  239. data/manual/html/now.html +4 -4
  240. data/manual/html/number.extend.html +2 -2
  241. data/manual/html/numberformat.html +3 -3
  242. data/manual/html/onend.html +2 -2
  243. data/manual/html/onstart.html +2 -2
  244. data/manual/html/opennodes.html +3 -3
  245. data/manual/html/outputdir.html +3 -3
  246. data/manual/html/overtime.booking.html +2 -2
  247. data/manual/html/period.column.html +2 -2
  248. data/manual/html/period.limit.html +2 -2
  249. data/manual/html/period.report.html +3 -3
  250. data/manual/html/period.task.html +2 -2
  251. data/manual/html/persistent.html +3 -3
  252. data/manual/html/precedes.html +5 -5
  253. data/manual/html/priority.html +4 -4
  254. data/manual/html/priority.timesheet.html +3 -3
  255. data/manual/html/project.html +4 -4
  256. data/manual/html/projectid.html +2 -2
  257. data/manual/html/projectid.task.html +3 -3
  258. data/manual/html/projectids.html +2 -2
  259. data/manual/html/projection.html +2 -2
  260. data/manual/html/prolog.html +3 -3
  261. data/manual/html/properties.html +3 -3
  262. data/manual/html/purge.html +3 -3
  263. data/manual/html/rate.html +2 -2
  264. data/manual/html/rate.resource.html +2 -2
  265. data/manual/html/rawhtmlhead.html +4 -4
  266. data/manual/html/reference.extend.html +2 -2
  267. data/manual/html/remaining.html +3 -3
  268. data/manual/html/replace.html +2 -2
  269. data/manual/html/reportprefix.html +2 -2
  270. data/manual/html/resource.html +3 -3
  271. data/manual/html/resourceattributes.html +2 -2
  272. data/manual/html/resourceprefix.html +2 -2
  273. data/manual/html/resourcereport.html +5 -5
  274. data/manual/html/resourceroot.html +4 -4
  275. data/manual/html/resources.limit.html +2 -2
  276. data/manual/html/responsible.html +2 -2
  277. data/manual/html/richtext.extend.html +2 -2
  278. data/manual/html/right.html +3 -3
  279. data/manual/html/rollupaccount.html +4 -4
  280. data/manual/html/rollupresource.html +4 -4
  281. data/manual/html/rolluptask.html +4 -4
  282. data/manual/html/scale.column.html +2 -2
  283. data/manual/html/scenario.html +3 -3
  284. data/manual/html/scenario.ical.html +3 -3
  285. data/manual/html/scenarios.export.html +2 -2
  286. data/manual/html/scenarios.html +3 -3
  287. data/manual/html/scenariospecific.extend.html +2 -2
  288. data/manual/html/scheduled.html +2 -2
  289. data/manual/html/scheduling.html +6 -6
  290. data/manual/html/schedulingmode.html +2 -2
  291. data/manual/html/select.html +4 -4
  292. data/manual/html/selfcontained.html +3 -3
  293. data/manual/html/shift.allocate.html +2 -2
  294. data/manual/html/shift.html +3 -3
  295. data/manual/html/shift.resource.html +4 -4
  296. data/manual/html/shift.task.html +2 -2
  297. data/manual/html/shift.timesheet.html +2 -2
  298. data/manual/html/shifts.allocate.html +2 -2
  299. data/manual/html/shifts.resource.html +2 -2
  300. data/manual/html/shifts.task.html +3 -3
  301. data/manual/html/shorttimeformat.html +3 -3
  302. data/manual/html/sloppy.booking.html +2 -2
  303. data/manual/html/sloppy.projection.html +2 -2
  304. data/manual/html/sortaccounts.html +3 -3
  305. data/manual/html/sortjournalentries.html +3 -3
  306. data/manual/html/sortresources.html +3 -3
  307. data/manual/html/sorttasks.html +3 -3
  308. data/manual/html/start.column.html +3 -3
  309. data/manual/html/start.html +4 -4
  310. data/manual/html/start.limit.html +2 -2
  311. data/manual/html/start.report.html +3 -3
  312. data/manual/html/startcredit.html +3 -3
  313. data/manual/html/status.statussheet.html +2 -2
  314. data/manual/html/status.timesheet.html +2 -2
  315. data/manual/html/statussheet.html +2 -2
  316. data/manual/html/statussheetreport.html +3 -3
  317. data/manual/html/strict.projection.html +2 -2
  318. data/manual/html/summary.html +2 -2
  319. data/manual/html/supplement.html +2 -2
  320. data/manual/html/supplement.resource.html +2 -2
  321. data/manual/html/supplement.task.html +2 -2
  322. data/manual/html/tagfile.html +3 -3
  323. data/manual/html/task.html +3 -3
  324. data/manual/html/task.statussheet.html +3 -3
  325. data/manual/html/task.timesheet.html +2 -2
  326. data/manual/html/taskattributes.html +2 -2
  327. data/manual/html/taskprefix.html +2 -2
  328. data/manual/html/taskreport.html +5 -5
  329. data/manual/html/taskroot.export.html +2 -2
  330. data/manual/html/taskroot.html +3 -3
  331. data/manual/html/text.extend.html +2 -2
  332. data/manual/html/textreport.html +5 -5
  333. data/manual/html/timeformat.html +4 -4
  334. data/manual/html/timeformat1.html +2 -2
  335. data/manual/html/timeformat2.html +2 -2
  336. data/manual/html/timeoff.nikureport.html +2 -2
  337. data/manual/html/timesheet.html +3 -3
  338. data/manual/html/timesheetreport.html +3 -3
  339. data/manual/html/timezone.export.html +2 -2
  340. data/manual/html/timezone.html +2 -2
  341. data/manual/html/timezone.report.html +3 -3
  342. data/manual/html/timezone.shift.html +2 -2
  343. data/manual/html/timingresolution.html +2 -2
  344. data/manual/html/title.column.html +2 -2
  345. data/manual/html/title.html +3 -3
  346. data/manual/html/toc.html +157 -143
  347. data/manual/html/tooltip.column.html +3 -3
  348. data/manual/html/tracereport.html +8 -8
  349. data/manual/html/trackingscenario.html +3 -3
  350. data/manual/html/treelevel.html +2 -2
  351. data/manual/html/vacation.html +2 -2
  352. data/manual/html/vacation.resource.html +2 -2
  353. data/manual/html/vacation.shift.html +2 -2
  354. data/manual/html/warn.html +4 -4
  355. data/manual/html/weeklymax.html +2 -2
  356. data/manual/html/weeklymin.html +3 -3
  357. data/manual/html/weekstartsmonday.html +2 -2
  358. data/manual/html/weekstartssunday.html +2 -2
  359. data/manual/html/width.column.html +2 -2
  360. data/manual/html/width.html +4 -4
  361. data/manual/html/work.html +3 -3
  362. data/manual/html/workinghours.project.html +3 -3
  363. data/manual/html/workinghours.resource.html +2 -2
  364. data/manual/html/workinghours.shift.html +2 -2
  365. data/manual/html/yearlyworkingdays.html +2 -2
  366. data/spec/ProjectBroker_spec.rb +6 -6
  367. data/spec/StatusSheets_spec.rb +1 -1
  368. data/spec/TimeSheets_spec.rb +1 -1
  369. data/taskjuggler.gemspec +7 -7
  370. data/tasks/changelog.rake +2 -0
  371. data/tasks/gem.rake +3 -0
  372. data/tasks/help2man.rake +18 -0
  373. data/tasks/kate.rake +2 -0
  374. data/tasks/manual.rake +2 -0
  375. data/tasks/test.rake +5 -0
  376. data/tasks/vim.rake +2 -0
  377. data/test/TestSuite/Export-Reports/refs/AccountReport.tjp +0 -1
  378. data/test/TestSuite/Export-Reports/refs/AdoptedTasks.tjp +0 -2
  379. data/test/TestSuite/Export-Reports/refs/AlertLevels.tjp +0 -1
  380. data/test/TestSuite/Export-Reports/refs/Allocate-1.tjp +0 -1
  381. data/test/TestSuite/Export-Reports/refs/AutoID.tjp +0 -1
  382. data/test/TestSuite/Export-Reports/refs/AutoMacros.tjp +0 -1
  383. data/test/TestSuite/Export-Reports/refs/Currencyformat.tjp +0 -1
  384. data/test/TestSuite/Export-Reports/refs/CustomAttributes.tjp +0 -2
  385. data/test/TestSuite/Export-Reports/refs/Depends1.tjp +0 -1
  386. data/test/TestSuite/Export-Reports/refs/Durations.tjp +0 -1
  387. data/test/TestSuite/Export-Reports/refs/Efficiency.tjp +0 -1
  388. data/test/TestSuite/Export-Reports/refs/Gap.tjp +0 -3
  389. data/test/TestSuite/Export-Reports/refs/Include.tjp +0 -1
  390. data/test/TestSuite/Export-Reports/refs/Journal.tjp +0 -1
  391. data/test/TestSuite/Export-Reports/refs/Macro-1.tjp +0 -1
  392. data/test/TestSuite/Export-Reports/refs/Macro-2.tjp +0 -2
  393. data/test/TestSuite/Export-Reports/refs/Macro-3.tjp +0 -1
  394. data/test/TestSuite/Export-Reports/refs/Manager.tjp +0 -1
  395. data/test/TestSuite/Export-Reports/refs/Milestone.tjp +0 -2
  396. data/test/TestSuite/Export-Reports/refs/Numberformat.tjp +0 -1
  397. data/test/TestSuite/Export-Reports/refs/Precedes1.tjp +0 -1
  398. data/test/TestSuite/Export-Reports/refs/Project.tjp +0 -1
  399. data/test/TestSuite/Export-Reports/refs/ProjectIDs.tjp +0 -3
  400. data/test/TestSuite/Export-Reports/refs/Reports.tjp +0 -1
  401. data/test/TestSuite/Export-Reports/refs/Resource.tjp +0 -1
  402. data/test/TestSuite/Export-Reports/refs/ResourceRoot.tjp +0 -1
  403. data/test/TestSuite/Export-Reports/refs/RollupResource.tjp +0 -1
  404. data/test/TestSuite/Export-Reports/refs/Scenario.tjp +0 -2
  405. data/test/TestSuite/Export-Reports/refs/Timezone.tjp +0 -1
  406. data/test/TestSuite/Export-Reports/refs/Vacation.tjp +0 -1
  407. data/test/TestSuite/Export-Reports/refs/navigator.tjp +0 -4
  408. data/test/TestSuite/Export-Reports/refs/template.tjp +0 -6
  409. data/test/TestSuite/Export-Reports/refs/textreport.tjp +0 -1
  410. data/test/TestSuite/Export-Reports/refs/tutorial.tjp +0 -8
  411. data/test/TestSuite/Syntax/Correct/Booking.tjp +1 -1
  412. data/test/TestSuite/Syntax/Correct/Currencyformat.tjp +1 -1
  413. data/test/TestSuite/Syntax/Correct/tutorial.tjp +5 -0
  414. data/test/test_ProjectFileScanner.rb +8 -8
  415. metadata +43 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4626796ad19e4552b12b7a08991a6e1382a035bf
4
- data.tar.gz: 331d901aba229c875bba6b22af9f7f390d390fe9
2
+ SHA256:
3
+ metadata.gz: e5a0de8b9d1e062a746ba217051e7351d2481644f649f585528c7caabd6b69a9
4
+ data.tar.gz: 6223c62cafa2db90ae8d4cc8759f5b5cff458b884833a4b6355284df450459c5
5
5
  SHA512:
6
- metadata.gz: 51807219195d0c5fc94a5499d86223f2bb85ace75974b0aec3a7abda5d90d55a0c7234acfdf9e27ea00589e9343754bd54fa7d32d2cf566c9e061a9f7b10f692
7
- data.tar.gz: ce602aa3883b46e5903c2456a473f0881df1c3ee2c65eddebe0c531836973a1983ae11f9d25b4ebe4fce1e818979e3ea66d16dc3966bfd227e4c04cfc30081c0
6
+ metadata.gz: 70a76a0185eba07950375e0b44bcb32f74bada5b652d96f131fe4bf62cba6dabbd3d90b6f3216159e3d826836a74e228e1ef278b43f4bfbc6743c10aee41a48c
7
+ data.tar.gz: 76324478980524c4c7a6be0039388d6116db7891037d179e094723c7ca74d7b19325c9668a0dc626e78e7b2346614a32b24a48aa53d1430c70773aa18a35c462
data/CHANGELOG CHANGED
@@ -1,3 +1,54 @@
1
+ = Release 3.7.1 (2020-03-14)
2
+
3
+ * Bumping version to 3.7.1
4
+ * Storing the version in version.rb
5
+ * add novevents keyword to icalreport context
6
+ * Revert "Revert "Revert "
7
+ This reverts commit d3c9d87a4fd58c9af15a44eb6c2b6c131f939912.
8
+ * Revert "Revert "
9
+ This reverts commit 3ca91860374adefb5821ab70d1a3030883459231.
10
+ * Revert "
11
+ This reverts commit 163fabe4f21b92a9828f65ccd186526af6c3b401.
12
+ * Revert "Revert "
13
+ This reverts commit 3ca91860374adefb5821ab70d1a3030883459231.
14
+ * Revert "
15
+ This reverts commit 163fabe4f21b92a9828f65ccd186526af6c3b401.
16
+ * Corrected some words.
17
+ * fix: In Windows and Cygwin generate file path for the booking file is
18
+ wrong
19
+ Reported-by: Yury Rumega
20
+
21
+ When running the freeze command in Windows and Cygwin file path for the booking file is
22
+ generated wrongly.
23
+
24
+ = Release 3.7.0 (2020-03-14)
25
+
26
+ == New Features
27
+
28
+ * Adding a column that lists all annual leave days.
29
+ * Include man pages in gem
30
+ * man pages: Code modifications
31
+ * h2m files to enhance the generated man page
32
+ * rake task to build man pages using help2man
33
+ * Add reference line via 'markdate' parameter
34
+
35
+ == Bug Fixes
36
+
37
+ * Don't use 'milestone' keyword in export reports.
38
+ * Fix a few warnings in the Gemfile
39
+ * Eliminate warnings seen with Ruby 2.5
40
+ * Fix endless loop when using sorting criteria in some reports.
41
+ * Don't crash in account definition.
42
+ * Correcting Typos undo: plural for pixel in German (pixel) different from English (pixels)
43
+ * Correcting Typos in manual pages and source file comments
44
+ * Correct spelling mistake in lib/taskjuggler/apps/Tj3Man.rb
45
+ * Clean the source tree using rake
46
+ * Fix crash when taskjuggler.rc is not valid YAML.
47
+ * syntax of xml comments to not have -- in the body
48
+ * Spec tests failed on some Ubuntu/Debian versions.
49
+ * Prioritize resource leave time over free time in resource reports
50
+
51
+
1
52
  = Release 3.6.0 (2016-03-12)
2
53
 
3
54
  == New Features
@@ -433,6 +433,10 @@ p.tj_journal {
433
433
  background-color:#EE0000;
434
434
  position:absolute;
435
435
  }
436
+ .markdateline {
437
+ background-color:#000000;
438
+ position:absolute;
439
+ }
436
440
  .white {
437
441
  background-color:#FFFFFF;
438
442
  position:absolute;
@@ -1,7 +1,7 @@
1
1
  " Vim syntax file
2
2
  " Language: TaskJuggler
3
3
  " Maintainer: TaskJuggler Developers <taskjuggler-devel@googlegroups.com>
4
- " Last Change: 2016-03-12 21:14:02 +0100
4
+ " Last Change: 2020-03-14 17:32:05 +0100
5
5
  " This file was automatically generated by VimSyntax.rb
6
6
 
7
7
  if exists("b:current_syntax")
@@ -21,10 +21,6 @@ syn keyword tjp_macro macro contained
21
21
  syn keyword tjp_project project contained
22
22
  syn keyword tjp_supplement supplement contained
23
23
 
24
- syn keyword tjp_account account contained
25
- hi def link tjp_account Function
26
- syn keyword tjp_accountreport accountreport contained
27
- hi def link tjp_accountreport Function
28
24
  syn keyword tjp_export export contained
29
25
  hi def link tjp_export Function
30
26
  syn keyword tjp_nikureport nikureport contained
@@ -51,13 +47,11 @@ syn keyword tjp_timesheetreport timesheetreport contained
51
47
  hi def link tjp_timesheetreport Function
52
48
  syn keyword tjp_tracereport tracereport contained
53
49
  hi def link tjp_tracereport Function
50
+ syn keyword tjp_account account contained
51
+ hi def link tjp_account Function
52
+ syn keyword tjp_accountreport accountreport contained
53
+ hi def link tjp_accountreport Function
54
54
 
55
- syn keyword tjp_aggregate aggregate contained
56
- hi def link tjp_aggregate Type
57
- syn keyword tjp_credits credits contained
58
- hi def link tjp_credits Type
59
- syn keyword tjp_flags_account flags contained
60
- hi def link tjp_flags_account Type
61
55
  syn keyword tjp_allocate allocate contained
62
56
  hi def link tjp_allocate Type
63
57
  syn keyword tjp_alternative alternative contained
@@ -86,6 +80,8 @@ syn keyword tjp_columnid_annualleave annualleave
86
80
  hi def link tjp_columnid_annualleave Type
87
81
  syn keyword tjp_columnid_annualleavebalance annualleavebalance
88
82
  hi def link tjp_columnid_annualleavebalance Type
83
+ syn keyword tjp_columnid_annualleavelist annualleavelist
84
+ hi def link tjp_columnid_annualleavelist Type
89
85
  syn keyword tjp_columnid_alert alert
90
86
  hi def link tjp_columnid_alert Type
91
87
  syn keyword tjp_columnid_alertmessages alertmessages
@@ -346,6 +342,8 @@ syn keyword tjp_hidetask hidetask contained
346
342
  hi def link tjp_hidetask Type
347
343
  syn keyword tjp_icalreport icalreport contained
348
344
  hi def link tjp_icalreport Type
345
+ syn keyword tjp_novevents novevents contained
346
+ hi def link tjp_novevents Type
349
347
  syn keyword tjp_scenario_ical scenario contained
350
348
  hi def link tjp_scenario_ical Type
351
349
  syn keyword tjp_accountprefix accountprefix contained
@@ -414,6 +412,8 @@ syn keyword tjp_extend extend contained
414
412
  hi def link tjp_extend Type
415
413
  syn keyword tjp_now now contained
416
414
  hi def link tjp_now Type
415
+ syn keyword tjp_markdate markdate contained
416
+ hi def link tjp_markdate Type
417
417
  syn keyword tjp_outputdir outputdir contained
418
418
  hi def link tjp_outputdir Type
419
419
  syn keyword tjp_shorttimeformat shorttimeformat contained
@@ -646,6 +646,12 @@ syn keyword tjp_workinghours_resource workinghours contained
646
646
  hi def link tjp_workinghours_resource Type
647
647
  syn keyword tjp_workinghours_shift workinghours contained
648
648
  hi def link tjp_workinghours_shift Type
649
+ syn keyword tjp_aggregate aggregate contained
650
+ hi def link tjp_aggregate Type
651
+ syn keyword tjp_credits credits contained
652
+ hi def link tjp_credits Type
653
+ syn keyword tjp_flags_account flags contained
654
+ hi def link tjp_flags_account Type
649
655
 
650
656
  syn match tjparg contained /\${.*}/
651
657
  syn match tjpcomment /#.*$/
@@ -656,8 +662,6 @@ syn match tjpdate /\s\d\{4}-\d\{1,2}-\d\{1,2}\(-\d\{1,2}:\d\{1,2}\(:\d\{1,2}\)\?
656
662
  syn match tjptime /\s\d\{1,2}:\d\d\(:\d\d\)\?/
657
663
 
658
664
  syn cluster tjpcommon contains=tjpcomment,tjpdate,tjptime,tjpstring,tjpnumber
659
- syn region tjpblk_account start=/^\s*account\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_account,tjp_account,tjpblk_account,tjp_aggregate,tjp_credits,tjp_flags_account
660
- syn region tjpblk_accountreport start=/^\s*accountreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_accountreport,tjp_accountroot,tjp_auxdir_report,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
661
665
  syn region tjpblk_allocate start=/^\s*allocate\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_allocate,tjp_alternative,tjp_select,tjp_persistent,tjp_mandatory,tjp_shifts_allocate contained
662
666
  syn region tjpblk_export start=/^\s*export\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_export,tjp_definitions,tjp_formats_export,tjp_hideresource,tjp_hidetask,tjp_loadunit,tjp_purge,tjp_end_report,tjp_period_report,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_start_report,tjp_resourceattributes,tjp_rollupresource,tjp_rolluptask,tjp_scenarios_export,tjp_taskattributes,tjp_taskroot_export,tjp_timezone_export
663
667
  syn region tjpblk_date_extend start=/^\s*date\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_date_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained
@@ -665,7 +669,7 @@ syn region tjpblk_number_extend start=/^\s*number\s.*{\s*$/ end=/^\s*}\s*$/ tran
665
669
  syn region tjpblk_reference_extend start=/^\s*reference\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_reference_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained
666
670
  syn region tjpblk_richtext_extend start=/^\s*richtext\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_richtext_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained
667
671
  syn region tjpblk_text_extend start=/^\s*text\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_text_extend,tjp_inherit_extend,tjp_scenariospecific_extend contained
668
- syn region tjpblk_icalreport start=/^\s*icalreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_icalreport,tjp_hideresource,tjp_hidejournalentry,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_rollupresource,tjp_rolluptask,tjp_scenario_ical
672
+ syn region tjpblk_icalreport start=/^\s*icalreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_icalreport,tjp_hideresource,tjp_hidejournalentry,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_rollupresource,tjp_rolluptask,tjp_novevents,tjp_scenario_ical
669
673
  syn region tjpblk_journalentry start=/^\s*journalentry\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_journalentry,tjp_alert,tjp_author,tjp_flags_journalentry,tjp_summary,tjp_details contained
670
674
  syn region tjpblk_dailymax start=/^\s*dailymax\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_dailymax,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained
671
675
  syn region tjpblk_dailymin start=/^\s*dailymin\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_dailymin,tjp_end_limit,tjp_period_limit,tjp_resources_limit,tjp_start_limit contained
@@ -678,7 +682,7 @@ syn region tjpblk_weeklymin start=/^\s*weeklymin\s.*{\s*$/ end=/^\s*}\s*$/ trans
678
682
  syn region tjpblk_navigator start=/^\s*navigator\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_navigator,tjp_hidereport
679
683
  syn region tjpblk_nikureport start=/^\s*nikureport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_nikureport,tjp_formats,tjp_headline,tjp_hideresource,tjp_hidetask,tjp_numberformat,tjp_end_report,tjp_period_report,tjp_start_report,tjp_title,tjp_timeoff_nikureport
680
684
  syn region tjpblk_extend start=/^\s*extend\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_extend,tjp_date_extend,tjpblk_date_extend,tjp_number_extend,tjpblk_number_extend,tjp_reference_extend,tjpblk_reference_extend,tjp_richtext_extend,tjpblk_richtext_extend,tjp_text_extend,tjpblk_text_extend contained
681
- syn region tjpblk_project start=/^\s*project\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_project,tjp_alertlevels,tjp_currencyformat,tjp_currency,tjp_dailyworkinghours,tjp_extend,tjpblk_extend,tjp_include_project,tjp_journalentry,tjpblk_journalentry,tjp_now,tjp_numberformat,tjp_outputdir,tjp_scenario,tjpblk_scenario,tjp_shorttimeformat,tjp_timeformat,tjp_timezone,tjp_timingresolution,tjp_trackingscenario,tjp_weekstartsmonday,tjp_weekstartssunday,tjp_workinghours_project,tjp_yearlyworkingdays
685
+ syn region tjpblk_project start=/^\s*project\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_project,tjp_alertlevels,tjp_currencyformat,tjp_currency,tjp_dailyworkinghours,tjp_extend,tjpblk_extend,tjp_include_project,tjp_journalentry,tjpblk_journalentry,tjp_now,tjp_markdate,tjp_numberformat,tjp_outputdir,tjp_scenario,tjpblk_scenario,tjp_shorttimeformat,tjp_timeformat,tjp_timezone,tjp_timingresolution,tjp_trackingscenario,tjp_weekstartsmonday,tjp_weekstartssunday,tjp_workinghours_project,tjp_yearlyworkingdays
682
686
  syn region tjpblk_limits start=/^\s*limits\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_limits,tjp_dailymax,tjpblk_dailymax,tjp_dailymin,tjpblk_dailymin,tjp_maximum,tjpblk_maximum,tjp_minimum,tjpblk_minimum,tjp_monthlymax,tjpblk_monthlymax,tjp_monthlymin,tjpblk_monthlymin,tjp_weeklymax,tjpblk_weeklymax,tjp_weeklymin,tjpblk_weeklymin
683
687
  syn region tjpblk_include_properties start=/^\s*include\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_include_properties,tjp_accountprefix,tjp_reportprefix,tjp_resourceprefix,tjp_taskprefix
684
688
  syn region tjpblk_columns start=/^\s*columns\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_columns,tjp_celltext_column,tjp_cellcolor_column,tjp_end_column,tjp_fontcolor_column,tjp_halign_column,tjp_listitem_column,tjp_listtype_column,tjp_period_column,tjp_scale_column,tjp_start_column,tjp_timeformat1,tjp_timeformat2,tjp_title_column,tjp_tooltip_column,tjp_width_column contained
@@ -708,6 +712,8 @@ syn region tjpblk_task_timesheet start=/^\s*task\s.*{\s*$/ end=/^\s*}\s*$/ trans
708
712
  syn region tjpblk_timesheetreport start=/^\s*timesheetreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_timesheetreport,tjp_hideresource,tjp_hidetask,tjp_end_report,tjp_period_report,tjp_start_report,tjp_sortresources,tjp_sorttasks
709
713
  syn region tjpblk_tracereport start=/^\s*tracereport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_tracereport,tjp_accountroot,tjp_auxdir_report,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
710
714
  syn region tjpblk_status_timesheet start=/^\s*status\s.*{\s*$/ end=/^\s*}\s*$/ transparent contains=@tjpcommon,tjp_status_timesheet,tjp_details,tjp_flags_timesheet,tjp_summary contained
715
+ syn region tjpblk_account start=/^\s*account\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_account,tjp_account,tjpblk_account,tjp_aggregate,tjp_credits,tjp_flags_account
716
+ syn region tjpblk_accountreport start=/^\s*accountreport\s.*{\s*$/ end=/^\s*}\s*$/ transparent fold contains=@tjpcommon,tjp_accountreport,tjp_accountroot,tjp_auxdir_report,tjp_balance,tjp_caption,tjp_center,tjp_columns,tjpblk_columns,tjp_currencyformat,tjp_end_report,tjp_epilog,tjp_flags_report,tjp_footer,tjp_formats,tjp_header,tjp_headline,tjp_hidejournalentry,tjp_hideaccount,tjp_hideresource,tjp_hidetask,tjp_height,tjp_journalattributes,tjp_journalmode,tjp_left,tjp_loadunit,tjp_numberformat,tjp_opennodes,tjp_period_report,tjp_prolog,tjp_purge,tjp_rawhtmlhead,tjp_accountreport,tjpblk_accountreport,tjp_export,tjpblk_export,tjp_resourcereport,tjpblk_resourcereport,tjp_taskreport,tjpblk_taskreport,tjp_textreport,tjpblk_textreport,tjp_tracereport,tjpblk_tracereport,tjp_right,tjp_rollupaccount,tjp_rollupresource,tjp_rolluptask,tjp_scenarios,tjp_selfcontained,tjp_sortaccounts,tjp_sortjournalentries,tjp_sortresources,tjp_sorttasks,tjp_start_report,tjp_resourceroot,tjp_taskroot,tjp_timeformat,tjp_timezone_report,tjp_title,tjp_width
711
717
  syn region tjpblk_macro start=/macro\s\+\h\w*\s*\[/ end=/\]$/ transparent fold contains=ALL
712
718
  syn region tjpstring start=/"/ skip=/\\"/ end=/"/
713
719
  syn region tjpstring start=/'/ skip=/\\'/ end=/'/
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  * This file contains a project skeleton. It is part of the
3
3
  * TaskJuggler project management tool. You can use this as a basis to
4
- * start you own project file.
4
+ * start your own project file.
5
5
  */
6
6
  project your_project_id "Your Project Title" 2011-11-11-0:00--0500 +4m {
7
7
  # Set the default time zone for the project. If not specified, UTC
@@ -28,7 +28,7 @@ project your_project_id "Your Project Title" 2011-11-11-0:00--0500 +4m {
28
28
 
29
29
  # You can define your own attributes for tasks and resources. This
30
30
  # is handy to capture additional information about the project that
31
- # is not directly impacting the project schedule but you like to
31
+ # is not directly impacting the project schedule, but which you like to
32
32
  # keep in one place.
33
33
  #extend task {
34
34
  # reference spec "Link to Wiki page"
@@ -59,7 +59,7 @@ copyright "Claim your rights here"
59
59
  # used to filter out subsets of them during reporting.
60
60
  flags important, hidden
61
61
 
62
- # If you want to do budget planning for you project, you need to
62
+ # If you want to do budget planning for your project, you need to
63
63
  # define some accounts.
64
64
  account cost "Project Cost" {
65
65
  account dev "Development"
@@ -67,10 +67,10 @@ account cost "Project Cost" {
67
67
  }
68
68
  account rev "Customer Payments"
69
69
 
70
- # The Profit&Loss analysis should be rev - cost accounts.
70
+ # The Profit & Loss analysis should be rev - cost accounts.
71
71
  balance cost rev
72
72
 
73
- # Define you public holidays here.
73
+ # Define your public holidays here.
74
74
  vacation "New Year's Day" 2012-01-02
75
75
  vacation "Birthday of Martin Luther King, Jr." 2012-01-16
76
76
  vacation "Washington's Birthday" 2012-02-20
@@ -83,7 +83,7 @@ vacation "Thanksgiving Day" 2012-11-22
83
83
  vacation "Christmas Day" 2012-12-25
84
84
 
85
85
  # The daily default rate of all resources. This can be overridden for each
86
- # resource. We specify this, so that we can do a good calculation of
86
+ # resource. We specify this so we can do a good calculation of
87
87
  # the costs of the project.
88
88
  rate 400.0
89
89
 
@@ -123,7 +123,7 @@ task project "Project" {
123
123
 
124
124
  # Now the project has been specified completely. Stopping here would
125
125
  # result in a valid TaskJuggler file that could be processed and
126
- # scheduled. But no reports would be generated to visualize the
126
+ # scheduled. Here reports will be generated to visualize the
127
127
  # results.
128
128
 
129
129
  navigator navbar {
@@ -20,7 +20,7 @@ project acso "Accounting Software" 2002-01-16 +4m {
20
20
  # used, but this will likely be outside of the project range, so it
21
21
  # can't be seen in the reports.
22
22
  now 2002-03-05-13:00
23
- # The currency for all money values is the Euro.
23
+ # The currency for all money values is the US Dollar.
24
24
  currency "USD"
25
25
 
26
26
  # We want to compare the baseline scenario to one with a slightly
@@ -50,7 +50,7 @@ class TaskJuggler
50
50
  end
51
51
 
52
52
  # Set the selection mode identified by name specified in _str_. For
53
- # efficiency reasons, we turn the name into a Fixnum value.
53
+ # efficiency reasons, we turn the name into an Integer value.
54
54
  def setSelectionMode(str)
55
55
  modes = %w( order minallocated minloaded maxloaded random )
56
56
  @selectionMode = modes.index(str)
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = AttributeBase.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2019
7
7
  # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -136,7 +136,7 @@ class TaskJuggler
136
136
 
137
137
  def to_num
138
138
  v = get
139
- if v.is_a?(Fixnum) || v.is_a?(Bignum) || v.is_a?(Float)
139
+ if v.is_a?(Integer) || v.is_a?(Float)
140
140
  v
141
141
  else
142
142
  nil
@@ -145,10 +145,16 @@ class TaskJuggler
145
145
 
146
146
  def to_sort
147
147
  v = get
148
- if v.is_a?(Fixnum) || v.is_a?(Bignum) || v.is_a?(Float)
148
+ if v.is_a?(Integer) || v.is_a?(Float)
149
149
  v
150
150
  elsif v.respond_to?('to_s')
151
- v.to_s
151
+ if v.respond_to?('join')
152
+ # If the attribute is an Array we convert it to a comma separated
153
+ # list.
154
+ v.join(', ')
155
+ else
156
+ v.to_s
157
+ end
152
158
  else
153
159
  nil
154
160
  end
@@ -264,12 +264,12 @@ class TaskJuggler
264
264
 
265
265
  end
266
266
 
267
- class FixnumAttribute < AttributeBase
267
+ class IntegerAttribute < AttributeBase
268
268
  def initialize(property, type, container)
269
269
  super
270
270
  end
271
271
 
272
- def FixnumAttribute::tjpId
272
+ def IntegerAttribute::tjpId
273
273
  'integer'
274
274
  end
275
275
  end
@@ -16,7 +16,7 @@ require 'monitor'
16
16
 
17
17
  class TaskJuggler
18
18
 
19
- # The JobInfo class is just a storage container for some batch job realted
19
+ # The JobInfo class is just a storage container for some batch job related
20
20
  # pieces of information. It contains things like a job id, the process id,
21
21
  # the stdout data and the like.
22
22
  class JobInfo
@@ -166,7 +166,7 @@ class TaskJuggler
166
166
  #
167
167
  # sbStart must be a TjTime of the scoreboard start
168
168
  # slotDuration must be the duration of the scoreboard slots in seconds
169
- # a and b should be TjTime or Fixnum objects that describe the start and
169
+ # a and b should be TjTime or Integer objects that describe the start and
170
170
  # end time or index of the interval.
171
171
  #
172
172
  # TimeInterval.new(iv)
@@ -191,7 +191,7 @@ class TaskJuggler
191
191
  # If the third argument is a date we convert it to a scoreboard index.
192
192
  args[2] = dateToIndex(args[2]) if args[2].is_a?(TjTime)
193
193
 
194
- if args[2].is_a?(Fixnum) || args[2].is_a?(Bignum)
194
+ if args[2].is_a?(Integer)
195
195
  super(args[2], args[2])
196
196
  else
197
197
  raise ArgumentError, "Illegal argument 3: #{args[0].class}"
@@ -204,11 +204,11 @@ class TaskJuggler
204
204
  args[2] = dateToIndex(args[2]) if args[2].is_a?(TjTime)
205
205
  args[3] = dateToIndex(args[3]) if args[3].is_a?(TjTime)
206
206
 
207
- if !(args[2].is_a?(Fixnum) || args[2].is_a?(Bignum))
207
+ if !(args[2].is_a?(Integer))
208
208
  raise ArgumentError, "Interval start must be an index or TjTime, " +
209
209
  "not a #{args[2].class}"
210
210
  end
211
- if !(args[3].is_a?(Fixnum) || args[3].is_a?(Bignum))
211
+ if !(args[3].is_a?(Integer))
212
212
  raise ArgumentError, "Interval end must be an index or TjTime, " +
213
213
  "not a #{args[3].class}"
214
214
  end
@@ -221,19 +221,18 @@ class TaskJuggler
221
221
  raise ArgumentError, "sbStart must be a TjTime object, not a" +
222
222
  "#{@sbStart.class}"
223
223
  end
224
- unless @slotDuration.is_a?(Fixnum)
225
- raise ArgumentError, "slotDuration must be a Fixnum, not a " +
224
+ unless @slotDuration.is_a?(Integer)
225
+ raise ArgumentError, "slotDuration must be an Integer, not a " +
226
226
  "#{@slotDuration.class}"
227
227
  end
228
228
 
229
229
  end
230
230
 
231
- # Assign the start of the interval. +arg+ can be a Fixnum, Bignum or
231
+ # Assign the start of the interval. +arg+ can be an Integer or
232
232
  # TjTime object.
233
233
  def start=(arg)
234
234
  case arg
235
- when Fixnum
236
- when Bignum
235
+ when Integer
237
236
  @start = arg
238
237
  when TjTime
239
238
  @start = dateToIndex(arg)
@@ -242,12 +241,11 @@ class TaskJuggler
242
241
  end
243
242
  end
244
243
 
245
- # Assign the start of the interval. +arg+ can be a Fixnum, Bignum or
244
+ # Assign the start of the interval. +arg+ can be an Integer or
246
245
  # TjTime object.
247
246
  def end=(arg)
248
247
  case arg
249
- when Fixnum
250
- when Bignum
248
+ when Integer
251
249
  @end = arg
252
250
  when TjTime
253
251
  @end = dateToIndex(arg)
@@ -613,7 +613,7 @@ class TaskJuggler
613
613
  # This function returns a list of entries that have all the exact same
614
614
  # date and are the last entries before the deadline _date_. Only messages
615
615
  # with at least the required alert level _minLevel_ are returned. Messages
616
- # with alert level _minLevel_ must be newer than _minDate_.
616
+ # with alert level _minLevel_ or higher must be newer than _minDate_.
617
617
  def currentEntries(date, property, minLevel, minDate, logExp)
618
618
  pEntries = getEntries(property) ? getEntries(property).last(date) :
619
619
  JournalEntryList.new
@@ -621,7 +621,7 @@ class TaskJuggler
621
621
  # date.
622
622
  pEntries.delete_if do |e|
623
623
  e.headline.empty? || e.alertLevel < minLevel ||
624
- (e.alertLevel == minLevel && minDate && e.date < minDate)
624
+ (e.alertLevel >= minLevel && minDate && e.date < minDate)
625
625
  end
626
626
 
627
627
  unless pEntries.empty?
@@ -139,7 +139,7 @@ class TaskJuggler
139
139
  # 2nd arg must be a scenario index.
140
140
  return false if (scenarioIdx = project.scenarioIdx(args[1])).nil?
141
141
  # 3rd arg must be an integer number.
142
- return false unless args[2].is_a?(Fixnum)
142
+ return false unless args[2].is_a?(Integer)
143
143
 
144
144
  property.isDependencyOf(scenarioIdx, task, args[2])
145
145
  end
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # = LogicalOperation.rb -- The TaskJuggler III Project Management Software
5
5
  #
6
- # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
6
+ # Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2019
7
7
  # by Chris Schlaeger <cs@taskjuggler.org>
8
8
  #
9
9
  # This program is free software; you can redistribute it and/or modify
@@ -64,7 +64,7 @@ class TaskJuggler
64
64
  coerceTime(o, expr)
65
65
  end
66
66
  return res
67
- elsif opnd1.is_a?(Fixnum) || opnd1.is_a?(Float) || opnd1.is_a?(Bignum)
67
+ elsif opnd1.is_a?(Integer) || opnd1.is_a?(Float)
68
68
  return evalBinaryOperation(opnd1, operator, opnd2) do |o|
69
69
  coerceNumber(o, expr)
70
70
  end
@@ -145,14 +145,14 @@ class TaskJuggler
145
145
  # An empty String means false, else true.
146
146
  return !val.empty? if val.is_a?(String)
147
147
  # In TJP logic 'non 0' means false.
148
- return val != 0 if val.is_a?(Fixnum) || val.is_a?(Bignum)
148
+ return val != 0 if val.is_a?(Integer)
149
149
 
150
150
  expr.error("Operand #{val} can't be evaluated to true or false.")
151
151
  end
152
152
 
153
153
  # Force the _val_ into a number. In case this fails, an exception is raised.
154
154
  def coerceNumber(val, expr)
155
- unless val.is_a?(Fixnum) || val.is_a?(Float) || val.is_a?(Bignum)
155
+ unless val.is_a?(Integer) || val.is_a?(Float)
156
156
  expr.error("Operand #{val} of type #{val.class} must be a number.")
157
157
  end
158
158
  val
@@ -216,6 +216,9 @@ class TaskJuggler
216
216
  query.scenarioIdx = @scenario.sequenceNo - 1
217
217
  query.attributeId = @operand1
218
218
  query.process
219
+ unless query.ok
220
+ return "Error in conversion to String: #{query.errorMessage}"
221
+ end
219
222
  query.to_s
220
223
  else
221
224
  "#{@scenario.fullId}.#{@operand1}"