Sha256: 4bed10d6fdcd151c3f5c11bf98a9d1ba0e76a8e12255dfe0fad316125d8b09f1

Contents?: true

Size: 775 Bytes

Versions: 12

Compression:

Stored size: 775 Bytes

Contents

module PkgForge
  ##
  # Add run methods to Forge
  class Forge
    Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
    def run(cmd, env = {})
      Dir.chdir(tmpdir(:build)) do
        run_local(cmd, env)
      end
      nil
    end

    Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
    def test_run(cmd, env = {})
      Dir.chdir(tmpdir(:release)) do
        run_local(cmd, env)
      end
    end

    private

    Contract Or[String, Array], Or[HashOf[String => String], {}, nil] => nil
    def run_local(cmd, env = {})
      puts "Running command in #{Dir.pwd}: #{cmd}"
      puts "Using env: #{env}" unless env.empty?
      res = system env, *cmd
      raise('Command failed!') unless res
      nil
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pkgforge-0.4.10 lib/pkgforge/components/run.rb
pkgforge-0.4.9 lib/pkgforge/components/run.rb
pkgforge-0.4.8 lib/pkgforge/components/run.rb
pkgforge-0.4.7 lib/pkgforge/components/run.rb
pkgforge-0.4.6 lib/pkgforge/components/run.rb
pkgforge-0.4.5 lib/pkgforge/components/run.rb
pkgforge-0.4.4 lib/pkgforge/components/run.rb
pkgforge-0.4.3 lib/pkgforge/components/run.rb
pkgforge-0.4.2 lib/pkgforge/components/run.rb
pkgforge-0.4.1 lib/pkgforge/components/run.rb
pkgforge-0.4.0 lib/pkgforge/components/run.rb
pkgforge-0.3.0 lib/pkgforge/components/run.rb