Class: FeduxOrgStdlib::Project::Generators::Taskjuggler

Inherits:
Object
  • Object
show all
Defined in:
lib/fedux_org_stdlib/project/generators/taskjuggler.rb

Overview

Taskjuggler

Instance Method Summary collapse

Instance Method Details

#generate_report(directory, plan) ⇒ Object

Generate report

Parameters:

  • directory (String)

    The directory where the report should be generated

  • plan (Plan)

    The project plan to use



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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