Sha256: c8db92ce5bba956a4c2ce604328497c2d71b04ce3fcc2f0ca976fc453352db45
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
require 'simple_shell' class Heidi class Hook attr_reader :build def initialize(build, script) @build = build @script = script end def perform(where=build.build_root) # before / failure hooks might like this if !File.exists?(where) where = build.root end start = Time.now env = { 'HEIDI_DIR' => build.project.root, 'HEIDI_LOG_DIR' => build.log_root, 'HEIDI_BUILD_DIR' => where, 'HEIDI_BUILD_COMMIT' => build.commit, 'HEIDI_BRANCH' => build.project.branch, 'RUBYOPT' => nil, 'BUNDLE_BIN_PATH' => nil, 'BUNDLE_GEMFILE' => nil, 'GEM_HOME' => nil, 'GEM_PATH' => nil, } shell = SimpleShell.new(where, env) @res = shell.do @script return @res end def message @res.err.empty? ? @res.out.empty? ? "No error message given" : @res.out : @res.err end def output @res.out.empty? ? @res.err.empty? ? "No output" : @res.err : @res.out end def failed? @res.S?.to_i != 0 rescue false end def name File.join(File.basename(File.dirname(@script)), File.basename(@script)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
heidi-0.4.0 | lib/heidi/hook.rb |