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

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

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



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/fedux_org_stdlib/project/generators/taskjuggler.rb', line 17

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