Sha256: 1fdf0e749b2cffb5bc6b76649e4f64a0b82f44b69339e7c675863713f1f813f5

Contents?: true

Size: 1.29 KB

Versions: 19

Compression:

Stored size: 1.29 KB

Contents

require 'maven/ruby/maven'
module JBundler
  
  class PomRunner

    def initialize( config )
      @config = config
    end

    def method_missing( m, *args )
      result = @config[ m ] || @config[ m.to_s ] 
      result.nil? ? super : result
    end

    def maven_new
      m = Maven::Ruby::Maven.new
      m.property( 'base.dir', File.expand_path( basedir ) )
      m.property( 'work.dir', File.expand_path( workdir ) ) if workdir
      m.property( 'verbose', debug || verbose )
      if debug
        m.options[ '-X' ] = nil
      elsif verbose
        m.options[ '-e' ] = nil
      else
        m.options[ '-q' ] = nil
      end
      m.verbose = debug
      m
    end
    private :maven_new

    def maven
      @m ||= maven_new
    end

    def basedir
      File.expand_path( '.' )
    end

    def workdir
       @config[ 'workdir' ]
    end

    def work_dir
      # needs default here
      workdir || 'pkg'
    end

    def debug
       @config[ 'debug' ] || false
    end

    def verbose
       @config[ 'verbose' ] || false
    end

    def clean?
       @config[ 'clean' ] || false      
    end

    def pom_file
      raise 'overwrite this method'
    end

    def exec( *args )
      maven.options[ '-f' ] ||= pom_file
      args.unshift :clean if clean?
      maven.exec( *args )
    end
  end
end

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
jruby-bundler-0.9.7 lib/jbundler/pom_runner.rb
jruby-bundler-0.9.6 lib/jbundler/pom_runner.rb
jruby-bundler-0.9.5 lib/jbundler/pom_runner.rb
jbundler-0.9.4 lib/jbundler/pom_runner.rb
jbundler-0.9.3 lib/jbundler/pom_runner.rb
jbundler-0.9.2 lib/jbundler/pom_runner.rb
jbundler-0.9.1 lib/jbundler/pom_runner.rb
jbundler-0.9.0 lib/jbundler/pom_runner.rb
jbundler-0.8.0 lib/jbundler/pom_runner.rb
jbundler-0.7.4 lib/jbundler/pom_runner.rb
jbundler-0.7.3 lib/jbundler/pom_runner.rb
jbundler-0.7.2 lib/jbundler/pom_runner.rb
jbundler-0.7.1 lib/jbundler/pom_runner.rb
jbundler-0.7.0 lib/jbundler/pom_runner.rb
jbundler-0.6.4 lib/jbundler/pom_runner.rb
jbundler-0.6.3 lib/jbundler/pom_runner.rb
jbundler-0.6.2 lib/jbundler/pom_runner.rb
jbundler-0.6.1 lib/jbundler/pom_runner.rb
jbundler-0.6.0 lib/jbundler/pom_runner.rb