taskjuggler 3.8.1 → 3.8.2
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.
- checksums.yaml +4 -4
- data/data/tjp.vim +1 -1
- data/lib/taskjuggler/Account.rb +1 -0
- data/lib/taskjuggler/AccountCredit.rb +1 -0
- data/lib/taskjuggler/AccountScenario.rb +1 -0
- data/lib/taskjuggler/AlertLevelDefinitions.rb +1 -0
- data/lib/taskjuggler/AlgorithmDiff.rb +3 -2
- data/lib/taskjuggler/Allocation.rb +1 -0
- data/lib/taskjuggler/AppConfig.rb +1 -0
- data/lib/taskjuggler/AttributeBase.rb +1 -0
- data/lib/taskjuggler/AttributeDefinition.rb +1 -0
- data/lib/taskjuggler/Attributes.rb +3 -2
- data/lib/taskjuggler/BatchProcessor.rb +3 -2
- data/lib/taskjuggler/Booking.rb +1 -0
- data/lib/taskjuggler/Charge.rb +1 -0
- data/lib/taskjuggler/ChargeSet.rb +1 -0
- data/lib/taskjuggler/DataCache.rb +1 -0
- data/lib/taskjuggler/FileList.rb +1 -0
- data/lib/taskjuggler/HTMLDocument.rb +1 -0
- data/lib/taskjuggler/HTMLElements.rb +1 -0
- data/lib/taskjuggler/ICalendar.rb +3 -2
- data/lib/taskjuggler/Interval.rb +1 -0
- data/lib/taskjuggler/IntervalList.rb +1 -0
- data/lib/taskjuggler/Journal.rb +5 -4
- data/lib/taskjuggler/KateSyntax.rb +1 -0
- data/lib/taskjuggler/KeywordArray.rb +1 -0
- data/lib/taskjuggler/KeywordDocumentation.rb +6 -5
- data/lib/taskjuggler/LeaveList.rb +1 -0
- data/lib/taskjuggler/Limits.rb +1 -0
- data/lib/taskjuggler/Log.rb +2 -1
- data/lib/taskjuggler/LogicalExpression.rb +1 -0
- data/lib/taskjuggler/LogicalFunction.rb +1 -0
- data/lib/taskjuggler/LogicalOperation.rb +1 -0
- data/lib/taskjuggler/MessageHandler.rb +2 -1
- data/lib/taskjuggler/PTNProxy.rb +1 -0
- data/lib/taskjuggler/Painter/BasicShapes.rb +1 -0
- data/lib/taskjuggler/Painter/Color.rb +1 -0
- data/lib/taskjuggler/Painter/Element.rb +1 -0
- data/lib/taskjuggler/Painter/FontData.rb +1 -0
- data/lib/taskjuggler/Painter/FontMetrics.rb +1 -0
- data/lib/taskjuggler/Painter/FontMetricsData.rb +1 -0
- data/lib/taskjuggler/Painter/Group.rb +1 -0
- data/lib/taskjuggler/Painter/Points.rb +2 -1
- data/lib/taskjuggler/Painter/Primitives.rb +1 -0
- data/lib/taskjuggler/Painter/SVGSupport.rb +1 -0
- data/lib/taskjuggler/Painter/Text.rb +1 -0
- data/lib/taskjuggler/Painter.rb +1 -0
- data/lib/taskjuggler/Project.rb +3 -2
- data/lib/taskjuggler/ProjectFileParser.rb +2 -1
- data/lib/taskjuggler/ProjectFileScanner.rb +4 -3
- data/lib/taskjuggler/PropertyList.rb +2 -1
- data/lib/taskjuggler/PropertySet.rb +1 -0
- data/lib/taskjuggler/PropertyTreeNode.rb +2 -1
- data/lib/taskjuggler/Query.rb +2 -1
- data/lib/taskjuggler/RealFormat.rb +2 -1
- data/lib/taskjuggler/Resource.rb +2 -1
- data/lib/taskjuggler/ResourceScenario.rb +9 -1
- data/lib/taskjuggler/RichText/Document.rb +1 -0
- data/lib/taskjuggler/RichText/Element.rb +6 -5
- data/lib/taskjuggler/RichText/FunctionExample.rb +1 -0
- data/lib/taskjuggler/RichText/FunctionHandler.rb +1 -0
- data/lib/taskjuggler/RichText/Parser.rb +1 -0
- data/lib/taskjuggler/RichText/RTFHandlers.rb +1 -0
- data/lib/taskjuggler/RichText/RTFNavigator.rb +1 -0
- data/lib/taskjuggler/RichText/RTFQuery.rb +1 -0
- data/lib/taskjuggler/RichText/RTFReport.rb +1 -0
- data/lib/taskjuggler/RichText/RTFReportLink.rb +1 -0
- data/lib/taskjuggler/RichText/RTFWithQuerySupport.rb +1 -0
- data/lib/taskjuggler/RichText/Scanner.rb +1 -0
- data/lib/taskjuggler/RichText/Snip.rb +2 -1
- data/lib/taskjuggler/RichText/SyntaxRules.rb +1 -0
- data/lib/taskjuggler/RichText/TOCEntry.rb +1 -0
- data/lib/taskjuggler/RichText/TableOfContents.rb +1 -0
- data/lib/taskjuggler/RichText.rb +1 -0
- data/lib/taskjuggler/RuntimeConfig.rb +1 -0
- data/lib/taskjuggler/Scenario.rb +1 -0
- data/lib/taskjuggler/ScenarioData.rb +1 -0
- data/lib/taskjuggler/Scoreboard.rb +2 -1
- data/lib/taskjuggler/SheetHandlerBase.rb +2 -1
- data/lib/taskjuggler/SheetReceiver.rb +1 -0
- data/lib/taskjuggler/SheetSender.rb +3 -2
- data/lib/taskjuggler/Shift.rb +1 -0
- data/lib/taskjuggler/ShiftAssignments.rb +1 -0
- data/lib/taskjuggler/ShiftScenario.rb +1 -0
- data/lib/taskjuggler/SimpleQueryExpander.rb +1 -0
- data/lib/taskjuggler/StatusSheetReceiver.rb +1 -0
- data/lib/taskjuggler/StatusSheetSender.rb +1 -0
- data/lib/taskjuggler/StdIoWrapper.rb +1 -0
- data/lib/taskjuggler/SyntaxReference.rb +2 -1
- data/lib/taskjuggler/TableColumnDefinition.rb +1 -0
- data/lib/taskjuggler/TableColumnSorter.rb +1 -0
- data/lib/taskjuggler/Task.rb +2 -1
- data/lib/taskjuggler/TaskDependency.rb +1 -0
- data/lib/taskjuggler/TaskJuggler.rb +1 -0
- data/lib/taskjuggler/TaskScenario.rb +3 -2
- data/lib/taskjuggler/TernarySearchTree.rb +5 -4
- data/lib/taskjuggler/TextFormatter.rb +5 -4
- data/lib/taskjuggler/TextParser/MacroTable.rb +1 -0
- data/lib/taskjuggler/TextParser/Pattern.rb +2 -1
- data/lib/taskjuggler/TextParser/Rule.rb +3 -2
- data/lib/taskjuggler/TextParser/Scanner.rb +1 -0
- data/lib/taskjuggler/TextParser/SourceFileInfo.rb +1 -0
- data/lib/taskjuggler/TextParser/StackElement.rb +1 -0
- data/lib/taskjuggler/TextParser/State.rb +1 -0
- data/lib/taskjuggler/TextParser/TokenDoc.rb +1 -0
- data/lib/taskjuggler/TextParser.rb +1 -0
- data/lib/taskjuggler/TimeSheetReceiver.rb +1 -0
- data/lib/taskjuggler/TimeSheetSender.rb +1 -0
- data/lib/taskjuggler/TimeSheetSummary.rb +3 -2
- data/lib/taskjuggler/TimeSheets.rb +1 -0
- data/lib/taskjuggler/Tj3AppBase.rb +2 -1
- data/lib/taskjuggler/Tj3Config.rb +1 -0
- data/lib/taskjuggler/Tj3SheetAppBase.rb +1 -0
- data/lib/taskjuggler/TjException.rb +1 -0
- data/lib/taskjuggler/TjTime.rb +1 -0
- data/lib/taskjuggler/TjpExample.rb +2 -1
- data/lib/taskjuggler/TjpSyntaxRules.rb +1 -0
- data/lib/taskjuggler/URLParameter.rb +1 -0
- data/lib/taskjuggler/UTF8String.rb +4 -3
- data/lib/taskjuggler/UserManual.rb +1 -0
- data/lib/taskjuggler/VimSyntax.rb +1 -0
- data/lib/taskjuggler/WorkingHours.rb +2 -1
- data/lib/taskjuggler/XMLDocument.rb +2 -1
- data/lib/taskjuggler/XMLElement.rb +6 -5
- data/lib/taskjuggler/apps/Tj3.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Client.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Daemon.rb +1 -0
- data/lib/taskjuggler/apps/Tj3Man.rb +1 -0
- data/lib/taskjuggler/apps/Tj3SsReceiver.rb +1 -0
- data/lib/taskjuggler/apps/Tj3SsSender.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsReceiver.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsSender.rb +1 -0
- data/lib/taskjuggler/apps/Tj3TsSummary.rb +1 -0
- data/lib/taskjuggler/apps/Tj3WebD.rb +1 -0
- data/lib/taskjuggler/daemon/Daemon.rb +2 -1
- data/lib/taskjuggler/daemon/DaemonConnector.rb +1 -0
- data/lib/taskjuggler/daemon/ProcessIntercom.rb +1 -0
- data/lib/taskjuggler/daemon/ProjectBroker.rb +1 -0
- data/lib/taskjuggler/daemon/ProjectServer.rb +1 -0
- data/lib/taskjuggler/daemon/ReportServer.rb +1 -0
- data/lib/taskjuggler/daemon/ReportServlet.rb +1 -0
- data/lib/taskjuggler/daemon/WebServer.rb +1 -0
- data/lib/taskjuggler/daemon/WelcomePage.rb +1 -0
- data/lib/taskjuggler/deep_copy.rb +1 -0
- data/lib/taskjuggler/reports/AccountListRE.rb +1 -0
- data/lib/taskjuggler/reports/CSVFile.rb +3 -2
- data/lib/taskjuggler/reports/ChartPlotter.rb +1 -0
- data/lib/taskjuggler/reports/CollisionDetector.rb +1 -0
- data/lib/taskjuggler/reports/ColumnTable.rb +1 -0
- data/lib/taskjuggler/reports/ExportRE.rb +1 -0
- data/lib/taskjuggler/reports/GanttChart.rb +1 -0
- data/lib/taskjuggler/reports/GanttContainer.rb +1 -0
- data/lib/taskjuggler/reports/GanttHeader.rb +1 -0
- data/lib/taskjuggler/reports/GanttHeaderScaleItem.rb +1 -0
- data/lib/taskjuggler/reports/GanttLine.rb +2 -1
- data/lib/taskjuggler/reports/GanttLoadStack.rb +1 -0
- data/lib/taskjuggler/reports/GanttMilestone.rb +1 -0
- data/lib/taskjuggler/reports/GanttRouter.rb +1 -0
- data/lib/taskjuggler/reports/GanttTaskBar.rb +1 -0
- data/lib/taskjuggler/reports/HTMLGraphics.rb +1 -0
- data/lib/taskjuggler/reports/ICalReport.rb +1 -0
- data/lib/taskjuggler/reports/MspXmlRE.rb +1 -0
- data/lib/taskjuggler/reports/Navigator.rb +1 -0
- data/lib/taskjuggler/reports/NikuReport.rb +2 -1
- data/lib/taskjuggler/reports/Report.rb +1 -0
- data/lib/taskjuggler/reports/ReportBase.rb +1 -0
- data/lib/taskjuggler/reports/ReportContext.rb +1 -0
- data/lib/taskjuggler/reports/ReportTable.rb +2 -1
- data/lib/taskjuggler/reports/ReportTableCell.rb +7 -6
- data/lib/taskjuggler/reports/ReportTableColumn.rb +1 -0
- data/lib/taskjuggler/reports/ReportTableLegend.rb +1 -0
- data/lib/taskjuggler/reports/ReportTableLine.rb +1 -0
- data/lib/taskjuggler/reports/ResourceListRE.rb +1 -0
- data/lib/taskjuggler/reports/StatusSheetReport.rb +4 -3
- data/lib/taskjuggler/reports/TableReport.rb +2 -1
- data/lib/taskjuggler/reports/TableReportColumn.rb +1 -0
- data/lib/taskjuggler/reports/TagFile.rb +1 -0
- data/lib/taskjuggler/reports/TaskListRE.rb +1 -0
- data/lib/taskjuggler/reports/TextReport.rb +2 -1
- data/lib/taskjuggler/reports/TimeSheetReport.rb +3 -2
- data/lib/taskjuggler/reports/TjpExportRE.rb +4 -3
- data/lib/taskjuggler/reports/TraceReport.rb +2 -1
- data/lib/taskjuggler/version.rb +1 -1
- data/lib/tj3.rb +1 -0
- data/man/tj3.1 +130 -0
- data/man/tj3client.1 +145 -0
- data/man/tj3d.1 +93 -0
- data/man/tj3man.1 +76 -0
- data/man/tj3ss_receiver.1 +86 -0
- data/man/tj3ss_sender.1 +100 -0
- data/man/tj3ts_receiver.1 +86 -0
- data/man/tj3ts_sender.1 +92 -0
- data/man/tj3ts_summary.1 +104 -0
- data/manual/html/Day_To_Day_Juggling.html +1 -1
- data/manual/html/Getting_Started.html +1 -1
- data/manual/html/How_To_Contribute.html +1 -1
- data/manual/html/Installation.html +1 -1
- data/manual/html/Intro.html +1 -1
- data/manual/html/List_Attributes.html +1 -1
- data/manual/html/Reporting_Bugs.html +1 -1
- data/manual/html/Rich_Text_Attributes.html +1 -1
- data/manual/html/Software.html +1 -1
- data/manual/html/TaskJuggler_2x_Migration.html +1 -1
- data/manual/html/TaskJuggler_Internals.html +1 -1
- data/manual/html/The_TaskJuggler_Syntax.html +1 -1
- data/manual/html/Tutorial.html +1 -1
- data/manual/html/account.html +1 -1
- data/manual/html/account.task.html +1 -1
- data/manual/html/accountprefix.html +1 -1
- data/manual/html/accountreport.html +1 -1
- data/manual/html/accountroot.html +1 -1
- data/manual/html/active.html +1 -1
- data/manual/html/adopt.task.html +1 -1
- data/manual/html/aggregate.html +1 -1
- data/manual/html/alert.html +1 -1
- data/manual/html/alertlevels.html +1 -1
- data/manual/html/allocate.html +1 -1
- data/manual/html/alphabet.html +1 -1
- data/manual/html/alternative.html +1 -1
- data/manual/html/author.html +1 -1
- data/manual/html/auxdir.html +1 -1
- data/manual/html/auxdir.report.html +1 -1
- data/manual/html/balance.html +1 -1
- data/manual/html/booking.resource.html +1 -1
- data/manual/html/booking.task.html +1 -1
- data/manual/html/caption.html +1 -1
- data/manual/html/cellcolor.column.html +1 -1
- data/manual/html/celltext.column.html +1 -1
- data/manual/html/center.html +1 -1
- data/manual/html/charge.html +1 -1
- data/manual/html/chargeset.html +1 -1
- data/manual/html/columnid.html +1 -1
- data/manual/html/columns.html +1 -1
- data/manual/html/complete.html +1 -1
- data/manual/html/copyright.html +1 -1
- data/manual/html/credits.html +1 -1
- data/manual/html/currency.html +1 -1
- data/manual/html/currencyformat.html +1 -1
- data/manual/html/dailymax.html +1 -1
- data/manual/html/dailymin.html +1 -1
- data/manual/html/dailyworkinghours.html +1 -1
- data/manual/html/date.extend.html +1 -1
- data/manual/html/date.html +1 -1
- data/manual/html/definitions.html +1 -1
- data/manual/html/depends.html +1 -1
- data/manual/html/details.html +1 -1
- data/manual/html/disabled.html +1 -1
- data/manual/html/duration.html +1 -1
- data/manual/html/efficiency.html +1 -1
- data/manual/html/effort.html +1 -1
- data/manual/html/effortdone.html +1 -1
- data/manual/html/effortleft.html +1 -1
- data/manual/html/email.html +1 -1
- data/manual/html/enabled.html +1 -1
- data/manual/html/end.column.html +1 -1
- data/manual/html/end.html +1 -1
- data/manual/html/end.limit.html +1 -1
- data/manual/html/end.report.html +1 -1
- data/manual/html/end.timesheet.html +1 -1
- data/manual/html/endcredit.html +1 -1
- data/manual/html/epilog.html +1 -1
- data/manual/html/export.html +1 -1
- data/manual/html/extend.html +1 -1
- data/manual/html/fail.html +1 -1
- data/manual/html/fdl.html +1 -1
- data/manual/html/flags.account.html +1 -1
- data/manual/html/flags.html +1 -1
- data/manual/html/flags.journalentry.html +1 -1
- data/manual/html/flags.report.html +1 -1
- data/manual/html/flags.resource.html +1 -1
- data/manual/html/flags.statussheet.html +1 -1
- data/manual/html/flags.task.html +1 -1
- data/manual/html/flags.timesheet.html +1 -1
- data/manual/html/fontcolor.column.html +1 -1
- data/manual/html/footer.html +1 -1
- data/manual/html/formats.export.html +1 -1
- data/manual/html/formats.html +1 -1
- data/manual/html/functions.html +1 -1
- data/manual/html/gapduration.html +1 -1
- data/manual/html/gaplength.html +1 -1
- data/manual/html/halign.center.html +1 -1
- data/manual/html/halign.column.html +1 -1
- data/manual/html/halign.left.html +1 -1
- data/manual/html/halign.right.html +1 -1
- data/manual/html/hasalert.html +1 -1
- data/manual/html/header.html +1 -1
- data/manual/html/headline.html +1 -1
- data/manual/html/height.html +1 -1
- data/manual/html/hideaccount.html +1 -1
- data/manual/html/hidejournalentry.html +1 -1
- data/manual/html/hidereport.html +1 -1
- data/manual/html/hideresource.html +1 -1
- data/manual/html/hidetask.html +1 -1
- data/manual/html/icalreport.html +1 -1
- data/manual/html/include.macro.html +1 -1
- data/manual/html/include.project.html +1 -1
- data/manual/html/include.properties.html +1 -1
- data/manual/html/index.html +1 -1
- data/manual/html/inherit.extend.html +1 -1
- data/manual/html/interval1.html +1 -1
- data/manual/html/interval2.html +1 -1
- data/manual/html/interval3.html +1 -1
- data/manual/html/interval4.html +1 -1
- data/manual/html/isactive.html +1 -1
- data/manual/html/ischildof.html +1 -1
- data/manual/html/isdependencyof.html +1 -1
- data/manual/html/isdutyof.html +1 -1
- data/manual/html/isfeatureof.html +1 -1
- data/manual/html/isleaf.html +1 -1
- data/manual/html/ismilestone.html +1 -1
- data/manual/html/isongoing.html +1 -1
- data/manual/html/isresource.html +1 -1
- data/manual/html/isresponsibilityof.html +1 -1
- data/manual/html/istask.html +1 -1
- data/manual/html/isvalid.html +1 -1
- data/manual/html/journalattributes.html +1 -1
- data/manual/html/journalentry.html +1 -1
- data/manual/html/journalmode.html +1 -1
- data/manual/html/leaveallowance.html +1 -1
- data/manual/html/leaves.html +1 -1
- data/manual/html/left.html +1 -1
- data/manual/html/length.html +1 -1
- data/manual/html/limits.allocate.html +1 -1
- data/manual/html/limits.html +1 -1
- data/manual/html/limits.resource.html +1 -1
- data/manual/html/limits.task.html +1 -1
- data/manual/html/listitem.column.html +1 -1
- data/manual/html/listtype.column.html +1 -1
- data/manual/html/loadunit.html +1 -1
- data/manual/html/logicalexpression.html +1 -1
- data/manual/html/logicalflagexpression.html +1 -1
- data/manual/html/macro.html +1 -1
- data/manual/html/managers.html +1 -1
- data/manual/html/mandatory.html +1 -1
- data/manual/html/markdate.html +1 -1
- data/manual/html/maxend.html +1 -1
- data/manual/html/maximum.html +1 -1
- data/manual/html/maxstart.html +1 -1
- data/manual/html/milestone.html +1 -1
- data/manual/html/minend.html +1 -1
- data/manual/html/minimum.html +1 -1
- data/manual/html/minstart.html +1 -1
- data/manual/html/monthlymax.html +1 -1
- data/manual/html/monthlymin.html +1 -1
- data/manual/html/navbar.html +1 -1
- data/manual/html/navigator.html +1 -1
- data/manual/html/newtask.html +1 -1
- data/manual/html/nikureport.html +1 -1
- data/manual/html/note.task.html +1 -1
- data/manual/html/novevents.html +1 -1
- data/manual/html/now.html +1 -1
- data/manual/html/number.extend.html +1 -1
- data/manual/html/numberformat.html +1 -1
- data/manual/html/onend.html +1 -1
- data/manual/html/onstart.html +1 -1
- data/manual/html/opennodes.html +1 -1
- data/manual/html/outputdir.html +1 -1
- data/manual/html/overtime.booking.html +1 -1
- data/manual/html/period.column.html +1 -1
- data/manual/html/period.limit.html +1 -1
- data/manual/html/period.report.html +1 -1
- data/manual/html/period.task.html +1 -1
- data/manual/html/persistent.html +1 -1
- data/manual/html/precedes.html +1 -1
- data/manual/html/priority.html +1 -1
- data/manual/html/priority.timesheet.html +1 -1
- data/manual/html/project.html +1 -1
- data/manual/html/projectid.html +1 -1
- data/manual/html/projectid.task.html +1 -1
- data/manual/html/projectids.html +1 -1
- data/manual/html/projection.html +1 -1
- data/manual/html/prolog.html +1 -1
- data/manual/html/properties.html +1 -1
- data/manual/html/purge.html +1 -1
- data/manual/html/rate.html +1 -1
- data/manual/html/rate.resource.html +1 -1
- data/manual/html/rawhtmlhead.html +1 -1
- data/manual/html/reference.extend.html +1 -1
- data/manual/html/remaining.html +1 -1
- data/manual/html/replace.html +1 -1
- data/manual/html/reportprefix.html +1 -1
- data/manual/html/resource.html +1 -1
- data/manual/html/resourceattributes.html +1 -1
- data/manual/html/resourceprefix.html +1 -1
- data/manual/html/resourcereport.html +1 -1
- data/manual/html/resourceroot.html +1 -1
- data/manual/html/resources.limit.html +1 -1
- data/manual/html/responsible.html +1 -1
- data/manual/html/richtext.extend.html +1 -1
- data/manual/html/right.html +1 -1
- data/manual/html/rollupaccount.html +1 -1
- data/manual/html/rollupresource.html +1 -1
- data/manual/html/rolluptask.html +1 -1
- data/manual/html/scale.column.html +1 -1
- data/manual/html/scenario.html +1 -1
- data/manual/html/scenario.ical.html +1 -1
- data/manual/html/scenarios.export.html +1 -1
- data/manual/html/scenarios.html +1 -1
- data/manual/html/scenariospecific.extend.html +1 -1
- data/manual/html/scheduled.html +1 -1
- data/manual/html/scheduling.html +1 -1
- data/manual/html/schedulingmode.html +1 -1
- data/manual/html/select.html +1 -1
- data/manual/html/selfcontained.html +1 -1
- data/manual/html/shift.allocate.html +1 -1
- data/manual/html/shift.html +1 -1
- data/manual/html/shift.resource.html +1 -1
- data/manual/html/shift.task.html +1 -1
- data/manual/html/shift.timesheet.html +1 -1
- data/manual/html/shifts.allocate.html +1 -1
- data/manual/html/shifts.resource.html +1 -1
- data/manual/html/shifts.task.html +1 -1
- data/manual/html/shorttimeformat.html +1 -1
- data/manual/html/sloppy.booking.html +1 -1
- data/manual/html/sloppy.projection.html +1 -1
- data/manual/html/sortaccounts.html +1 -1
- data/manual/html/sortjournalentries.html +1 -1
- data/manual/html/sortresources.html +1 -1
- data/manual/html/sorttasks.html +1 -1
- data/manual/html/start.column.html +1 -1
- data/manual/html/start.html +1 -1
- data/manual/html/start.limit.html +1 -1
- data/manual/html/start.report.html +1 -1
- data/manual/html/startcredit.html +1 -1
- data/manual/html/status.statussheet.html +1 -1
- data/manual/html/status.timesheet.html +1 -1
- data/manual/html/statussheet.html +1 -1
- data/manual/html/statussheetreport.html +1 -1
- data/manual/html/strict.projection.html +1 -1
- data/manual/html/summary.html +1 -1
- data/manual/html/supplement.html +1 -1
- data/manual/html/supplement.resource.html +1 -1
- data/manual/html/supplement.task.html +1 -1
- data/manual/html/tagfile.html +1 -1
- data/manual/html/task.html +1 -1
- data/manual/html/task.statussheet.html +1 -1
- data/manual/html/task.timesheet.html +1 -1
- data/manual/html/taskattributes.html +1 -1
- data/manual/html/taskprefix.html +1 -1
- data/manual/html/taskreport.html +1 -1
- data/manual/html/taskroot.export.html +1 -1
- data/manual/html/taskroot.html +1 -1
- data/manual/html/text.extend.html +1 -1
- data/manual/html/textreport.html +1 -1
- data/manual/html/timeformat.html +1 -1
- data/manual/html/timeformat1.html +1 -1
- data/manual/html/timeformat2.html +1 -1
- data/manual/html/timeoff.nikureport.html +1 -1
- data/manual/html/timesheet.html +1 -1
- data/manual/html/timesheetreport.html +1 -1
- data/manual/html/timezone.export.html +1 -1
- data/manual/html/timezone.html +1 -1
- data/manual/html/timezone.report.html +1 -1
- data/manual/html/timezone.shift.html +1 -1
- data/manual/html/timingresolution.html +1 -1
- data/manual/html/title.column.html +1 -1
- data/manual/html/title.html +1 -1
- data/manual/html/toc.html +2 -2
- data/manual/html/tooltip.column.html +1 -1
- data/manual/html/tracereport.html +1 -1
- data/manual/html/trackingscenario.html +1 -1
- data/manual/html/treelevel.html +1 -1
- data/manual/html/vacation.html +1 -1
- data/manual/html/vacation.resource.html +1 -1
- data/manual/html/vacation.shift.html +1 -1
- data/manual/html/warn.html +1 -1
- data/manual/html/weeklymax.html +1 -1
- data/manual/html/weeklymin.html +1 -1
- data/manual/html/weekstartsmonday.html +1 -1
- data/manual/html/weekstartssunday.html +1 -1
- data/manual/html/width.column.html +1 -1
- data/manual/html/width.html +1 -1
- data/manual/html/work.html +1 -1
- data/manual/html/workinghours.project.html +1 -1
- data/manual/html/workinghours.resource.html +1 -1
- data/manual/html/workinghours.shift.html +1 -1
- data/manual/html/yearlyworkingdays.html +1 -1
- data/spec/Color_spec.rb +1 -0
- data/spec/ICalendar_spec.rb +1 -0
- data/spec/IntervalList_spec.rb +1 -0
- data/spec/ProjectBroker_spec.rb +1 -0
- data/spec/StatusSheets_spec.rb +1 -0
- data/spec/TableColumnSorter_spec.rb +1 -0
- data/spec/TernarySearchTree_spec.rb +1 -0
- data/spec/TimeSheets_spec.rb +1 -0
- data/spec/Tj3Daemon_spec.rb +1 -0
- data/spec/Tj3_spec.rb +1 -0
- data/spec/TraceReport_spec.rb +1 -0
- data/taskjuggler.gemspec +1 -1
- data/test/MessageChecker.rb +1 -0
- data/test/ReferenceGenerator.rb +1 -0
- data/test/TjpGen.rb +1 -0
- data/test/all.rb +1 -0
- data/test/test_AlgorithmDiff.rb +3 -2
- data/test/test_BatchProcessor.rb +1 -0
- data/test/test_CSV-Reports.rb +1 -0
- data/test/test_CSVFile.rb +1 -0
- data/test/test_CollisionDetector.rb +1 -0
- data/test/test_Export-Reports.rb +1 -0
- data/test/test_Journal.rb +1 -0
- data/test/test_Limits.rb +1 -0
- data/test/test_LogicalExpression.rb +1 -0
- data/test/test_MacroTable.rb +1 -0
- data/test/test_Project.rb +1 -0
- data/test/test_ProjectFileScanner.rb +1 -0
- data/test/test_PropertySet.rb +1 -0
- data/test/test_Query.rb +1 -0
- data/test/test_RealFormat.rb +1 -0
- data/test/test_ReportGenerator.rb +1 -0
- data/test/test_RichText.rb +1 -0
- data/test/test_Scheduler.rb +1 -0
- data/test/test_ShiftAssignments.rb +1 -0
- data/test/test_SimpleQueryExpander.rb +1 -0
- data/test/test_Syntax.rb +1 -0
- data/test/test_TextFormatter.rb +1 -0
- data/test/test_TjTime.rb +1 -0
- data/test/test_TjpExample.rb +1 -0
- data/test/test_URLParameter.rb +1 -0
- data/test/test_UTF8String.rb +5 -4
- data/test/test_WorkingHours.rb +1 -0
- data/test/test_deep_copy.rb +2 -1
- metadata +12 -3
data/lib/taskjuggler/Resource.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Resource.rb -- The TaskJuggler III Project Management Software
|
@@ -72,7 +73,7 @@ class TaskJuggler
|
|
72
73
|
# The components of the message are either UTF-8 text or RichText. For
|
73
74
|
# the RichText components, we use the originally provided markup since
|
74
75
|
# we compose the result as RichText markup first.
|
75
|
-
rText = ''
|
76
|
+
rText = +''
|
76
77
|
|
77
78
|
taskList.each do |task|
|
78
79
|
rText += "=== <nowiki>[</nowiki>" +
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = ResourceScenario.rb -- The TaskJuggler III Project Management Software
|
@@ -496,7 +497,14 @@ class TaskJuggler
|
|
496
497
|
# A generic tree iterator that recursively accumulates the result of the
|
497
498
|
# block for each leaf object.
|
498
499
|
def treeSum(startIdx, endIdx, *args, &block)
|
499
|
-
|
500
|
+
# Starting with ruby 3.4.0, the out of caller was changed.
|
501
|
+
# https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/
|
502
|
+
# This ugly bit of code ensure that older versions still work.
|
503
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.4.0')
|
504
|
+
cacheTag = caller[0][/'.*'/][1..-2]
|
505
|
+
else
|
506
|
+
cacheTag = "#{self.class}##{caller[0][/`.*'/][1..-2]}"
|
507
|
+
end
|
500
508
|
treeSumR(cacheTag, startIdx, endIdx, *args, &block)
|
501
509
|
end
|
502
510
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Element.rb -- The TaskJuggler III Project Management Software
|
@@ -360,7 +361,7 @@ class TaskJuggler
|
|
360
361
|
raise "Unknown RichTextElement category #{@category}"
|
361
362
|
end
|
362
363
|
|
363
|
-
out = ''
|
364
|
+
out = +''
|
364
365
|
@children.each do |el|
|
365
366
|
if el.is_a?(RichTextElement)
|
366
367
|
out << el.to_tagged + (el.appendSpace ? ' ' : '')
|
@@ -488,7 +489,7 @@ class TaskJuggler
|
|
488
489
|
|
489
490
|
# Convert all childern into a single plain text String.
|
490
491
|
def children_to_s
|
491
|
-
text = ''
|
492
|
+
text = +''
|
492
493
|
@children.each do |c|
|
493
494
|
text << c.to_s + (c.is_a?(RichTextElement) && c.appendSpace ? ' ' : '')
|
494
495
|
end
|
@@ -507,7 +508,7 @@ class TaskJuggler
|
|
507
508
|
# This function converts a String into a new String that only contains
|
508
509
|
# characters that are acceptable for HTML tag IDs.
|
509
510
|
def convertToID(text)
|
510
|
-
out = ''
|
511
|
+
out = +''
|
511
512
|
text.each_utf8_char do |c|
|
512
513
|
out << c if (c >= 'A' && c <= 'Z') ||
|
513
514
|
(c >= 'a' && c <= 'z') ||
|
@@ -520,7 +521,7 @@ class TaskJuggler
|
|
520
521
|
private
|
521
522
|
|
522
523
|
def sTitle(level)
|
523
|
-
s = ''
|
524
|
+
s = +''
|
524
525
|
if @richText.sectionNumbers
|
525
526
|
1.upto(level) do |i|
|
526
527
|
s += '.' unless s.empty?
|
@@ -536,7 +537,7 @@ class TaskJuggler
|
|
536
537
|
attrs['class'] = @richText.cssClass if @richText.cssClass
|
537
538
|
el = XMLElement.new("h#{level}", attrs)
|
538
539
|
if @richText.sectionNumbers
|
539
|
-
s = ''
|
540
|
+
s = +''
|
540
541
|
1.upto(level) do |i|
|
541
542
|
s += '.' unless s.empty?
|
542
543
|
s += "#{@data[i - 1]}"
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Snip.rb -- The TaskJuggler III Project Management Software
|
@@ -36,7 +37,7 @@ class TaskJuggler
|
|
36
37
|
@name = fileName.index('/') ? fileName[fileName.rindex('/') + 1 .. -1] :
|
37
38
|
fileName
|
38
39
|
|
39
|
-
text = ''
|
40
|
+
text = +''
|
40
41
|
File.open(fileName) do |file|
|
41
42
|
file.each_line { |line| text += line }
|
42
43
|
end
|
data/lib/taskjuggler/RichText.rb
CHANGED
data/lib/taskjuggler/Scenario.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Scoreboard.rb -- The TaskJuggler III Project Management Software
|
@@ -175,7 +176,7 @@ class TaskJuggler
|
|
175
176
|
end
|
176
177
|
|
177
178
|
def inspect
|
178
|
-
s = ''
|
179
|
+
s = +''
|
179
180
|
0.upto(@sb.length - 1) do |i|
|
180
181
|
s << "#{idxToDate(i)}: #{@sb[i]}"
|
181
182
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = SheetHandlerBase.rb -- The TaskJuggler III Project Management Software
|
@@ -60,7 +61,7 @@ class TaskJuggler
|
|
60
61
|
# The cutOut section
|
61
62
|
cutOutText = nil
|
62
63
|
quoteLen = 0
|
63
|
-
quoteMarks = emptyLine = ''
|
64
|
+
quoteMarks = emptyLine = +''
|
64
65
|
text.each_line do |line|
|
65
66
|
if cutOutText.nil?
|
66
67
|
# We are looking for the line with the start marker (mark1)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = SheetSender.rb -- The TaskJuggler III Project Management Software
|
@@ -248,8 +249,8 @@ EOT
|
|
248
249
|
end
|
249
250
|
|
250
251
|
def generateReport(id, reportDef)
|
251
|
-
out = ''
|
252
|
-
err = ''
|
252
|
+
out = +''
|
253
|
+
err = +''
|
253
254
|
res = nil
|
254
255
|
begin
|
255
256
|
command = [ '--unsafe', '--silent', 'report', @projectId, id, '=', '.' ]
|
data/lib/taskjuggler/Shift.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = SyntaxReference.rb -- The TaskJuggler III Project Management Software
|
@@ -276,7 +277,7 @@ class TaskJuggler
|
|
276
277
|
$stderr.puts "ERROR: #{keyword} is not a known keyword.\n\n"
|
277
278
|
end
|
278
279
|
# Create list of top-level keywords.
|
279
|
-
kwdStr = ''
|
280
|
+
kwdStr = +''
|
280
281
|
@keywords.each_value do |kwd|
|
281
282
|
if kwd.contexts.empty? ||
|
282
283
|
(kwd.contexts.length == 1 && kwd.contexts[0] == kwd)
|
data/lib/taskjuggler/Task.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Task.rb -- The TaskJuggler III Project Management Software
|
@@ -39,7 +40,7 @@ class TaskJuggler
|
|
39
40
|
# The components of the message are either UTF-8 text or RichText. For
|
40
41
|
# the RichText components, we use the originally provided markup since
|
41
42
|
# we compose the result as RichText markup first.
|
42
|
-
rText = ''
|
43
|
+
rText = +''
|
43
44
|
if recursive
|
44
45
|
list = @project['journal'].entriesByTaskR(self, query.start, query.end,
|
45
46
|
query.hideJournalEntry)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = TaskScenario.rb -- The TaskJuggler III Project Management Software
|
@@ -645,7 +646,7 @@ class TaskJuggler
|
|
645
646
|
end
|
646
647
|
# Used for debugging only
|
647
648
|
if false
|
648
|
-
pathText = ''
|
649
|
+
pathText = +''
|
649
650
|
path.each do |t, e|
|
650
651
|
pathText += "#{t.fullId}(#{e ? 'end' : 'start'}) -> "
|
651
652
|
end
|
@@ -2764,7 +2765,7 @@ class TaskJuggler
|
|
2764
2765
|
query.string = date.to_s(query.timeFormat)
|
2765
2766
|
else
|
2766
2767
|
query.sortable = query.numerical = -1
|
2767
|
-
query.string = ''
|
2768
|
+
query.string = +''
|
2768
2769
|
end
|
2769
2770
|
end
|
2770
2771
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = TernarySearchTree.rb -- The TaskJuggler III Project Management Software
|
@@ -85,8 +86,8 @@ class TaskJuggler
|
|
85
86
|
if index == maxIdx
|
86
87
|
# We've reached the end of the search pattern.
|
87
88
|
if partialMatch
|
88
|
-
# The strange looking ('' << val) is for Ruby 1.8 compatibility.
|
89
|
-
return collect { |v| str[0..-2] + ('' << v) }
|
89
|
+
# The strange looking (+'' << val) is for Ruby 1.8 compatibility.
|
90
|
+
return collect { |v| str[0..-2] + (+'' << v) }
|
90
91
|
else
|
91
92
|
return str if @last
|
92
93
|
end
|
@@ -128,8 +129,8 @@ class TaskJuggler
|
|
128
129
|
result = []
|
129
130
|
|
130
131
|
result += @smaller.collect(str, &block) if @smaller
|
131
|
-
# The strange looking ('' << val) is for Ruby 1.8 compatibility.
|
132
|
-
newStr = str.nil? ? ('' << @value) : str + ('' << @value)
|
132
|
+
# The strange looking (+'' << val) is for Ruby 1.8 compatibility.
|
133
|
+
newStr = str.nil? ? (+'' << @value) : str + (+'' << @value)
|
133
134
|
result << yield(newStr) if @last
|
134
135
|
result += @equal.collect(newStr, &block) if @equal
|
135
136
|
result += @larger.collect(str, &block) if @larger
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = TextFormatter.rb -- The TaskJuggler III Project Management Software
|
@@ -34,7 +35,7 @@ class TaskJuggler
|
|
34
35
|
# first line will be indented by @firstLineIndent. Lines that are longer
|
35
36
|
# than @width will be clipped.
|
36
37
|
def indent(str)
|
37
|
-
out = ''
|
38
|
+
out = +''
|
38
39
|
# Indentation to be used for the currently processed line. It will be
|
39
40
|
# set to nil if it was inserted already.
|
40
41
|
indentBuf = ' ' * @firstLineIndent
|
@@ -73,11 +74,11 @@ class TaskJuggler
|
|
73
74
|
# Format the String _str_ according to the class settings.
|
74
75
|
def format(str)
|
75
76
|
# The resulting String.
|
76
|
-
@out = ''
|
77
|
+
@out = +''
|
77
78
|
# The column of the last character of the current line.
|
78
79
|
@linePos = 0
|
79
80
|
# A buffer for the currently processed word.
|
80
|
-
@wordBuf = ''
|
81
|
+
@wordBuf = +''
|
81
82
|
# True of we are at the beginning of a line.
|
82
83
|
@beginOfLine = true
|
83
84
|
# A buffer for the indentation to be used for the next line.
|
@@ -175,7 +176,7 @@ class TaskJuggler
|
|
175
176
|
|
176
177
|
# Append the word and reset the @wordBuf.
|
177
178
|
@out += @wordBuf
|
178
|
-
@wordBuf = ''
|
179
|
+
@wordBuf = +''
|
179
180
|
@linePos += wordLength
|
180
181
|
@beginOfLine = false if @beginOfLine
|
181
182
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Pattern.rb -- The TaskJuggler III Project Management Software
|
@@ -323,7 +324,7 @@ class TaskJuggler::TextParser
|
|
323
324
|
# "Push" us on the stack.
|
324
325
|
stack[self] = true
|
325
326
|
|
326
|
-
str = ''
|
327
|
+
str = +''
|
327
328
|
first = true
|
328
329
|
# Analyze the tokens of the pattern skipping the first 'skip' tokens.
|
329
330
|
skip.upto(@lastSyntaxToken) do |i|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Rule.rb -- The TaskJuggler III Project Management Software
|
@@ -158,11 +159,11 @@ class TaskJuggler::TextParser
|
|
158
159
|
end
|
159
160
|
|
160
161
|
def to_syntax(stack, docs, rules, skip)
|
161
|
-
str = ''
|
162
|
+
str = +''
|
162
163
|
str << '[' if @optional || @repeatable
|
163
164
|
str << '(' if @patterns.length > 1
|
164
165
|
first = true
|
165
|
-
pStr = ''
|
166
|
+
pStr = +''
|
166
167
|
@patterns.each do |pat|
|
167
168
|
if first
|
168
169
|
first = false
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = TimeSheetSummary.rb -- The TaskJuggler III Project Management Software
|
@@ -67,7 +68,7 @@ EOT
|
|
67
68
|
def sendSummary(resourceIds)
|
68
69
|
setWorkingDir
|
69
70
|
|
70
|
-
summary = ''
|
71
|
+
summary = +''
|
71
72
|
defaulterList = []
|
72
73
|
getResourceList.each do |resource|
|
73
74
|
resourceId = resource[0]
|
@@ -152,7 +153,7 @@ EOT
|
|
152
153
|
end
|
153
154
|
|
154
155
|
def getResourceJournal(sheetFile)
|
155
|
-
err = ''
|
156
|
+
err = +''
|
156
157
|
status = nil
|
157
158
|
report = nil
|
158
159
|
warnings = nil
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby -w
|
2
|
+
# frozen_string_literal: true
|
2
3
|
# encoding: UTF-8
|
3
4
|
#
|
4
5
|
# = Tj3AppBase.rb -- The TaskJuggler III Project Management Software
|
@@ -34,7 +35,7 @@ class TaskJuggler
|
|
34
35
|
# Show some progress information by default
|
35
36
|
@silent = false
|
36
37
|
@configFile = nil
|
37
|
-
@mandatoryArgs = ''
|
38
|
+
@mandatoryArgs = +''
|
38
39
|
@mininumRubyVersion = '1.9.2'
|
39
40
|
|
40
41
|
# If stdout is not a tty, we don't use ANSI escape sequences to color
|