class FeduxOrgStdlib::Project::Generators::Taskjuggler

Taskjuggler

Public Instance Methods

generate_report(directory, plan) click to toggle source

Generate report

@param [String] directory

The directory where the report should be generated

@param [Plan] plan

The project plan to use
# File lib/fedux_org_stdlib/project/generators/taskjuggler.rb, line 18
def generate_report(directory, plan)
  FeduxOrgStdlib::Project.logger.debug 'Start generating report.'

  begin
    command = CommandExec::Command.new(:tj3,
                                       parameter: "-o #{directory} #{plan}",
                                       error_detection_on: [:return_code],
                                       error_indicators: {
                                         allowed_return_code: [0]
                                       },
                                       on_error_do: :raise_error
                                      )
    command.run
  rescue CommandExec::Exceptions::CommandExecutionFailed
    FeduxOrgStdlib::Project.logger.fatal "Failed to generate report:\n\n#{ command.result.stderr.join("\n") }"
    exit 1
  end

  FeduxOrgStdlib::Project.logger.info 'Generating report succeeded.'
end