taskjuggler 3.6.0 → 3.7.1

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