Class: Jars::MavenExec
- Inherits:
-
Object
- Object
- Jars::MavenExec
- Defined in:
- lib/jars/maven_exec.rb
Instance Attribute Summary collapse
-
#basedir ⇒ Object
readonly
Returns the value of attribute basedir.
-
#spec ⇒ Object
readonly
Returns the value of attribute spec.
-
#specfile ⇒ Object
readonly
Returns the value of attribute specfile.
Instance Method Summary collapse
-
#initialize(spec = nil) ⇒ MavenExec
constructor
A new instance of MavenExec.
- #resolve_dependencies_list(file) ⇒ Object
- #ruby_maven_install_options=(options) ⇒ Object
- #setup(spec = nil, allow_no_file = false) ⇒ Object
Constructor Details
#initialize(spec = nil) ⇒ MavenExec
Returns a new instance of MavenExec.
21 22 23 24 25 26 27 28 |
# File 'lib/jars/maven_exec.rb', line 21 def initialize(spec = nil) @options = {} setup(spec) rescue StandardError, LoadError => e # If spec load fails, skip looking for jar-dependencies warn 'jar-dependencies: ' + e.to_s warn e.backtrace.join("\n") if Jars.verbose? end |
Instance Attribute Details
#basedir ⇒ Object (readonly)
Returns the value of attribute basedir.
19 20 21 |
# File 'lib/jars/maven_exec.rb', line 19 def basedir @basedir end |
#spec ⇒ Object (readonly)
Returns the value of attribute spec.
19 20 21 |
# File 'lib/jars/maven_exec.rb', line 19 def spec @spec end |
#specfile ⇒ Object (readonly)
Returns the value of attribute specfile.
19 20 21 |
# File 'lib/jars/maven_exec.rb', line 19 def specfile @specfile end |
Instance Method Details
#resolve_dependencies_list(file) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/jars/maven_exec.rb', line 64 def resolve_dependencies_list(file) factory = MavenFactory.new(@options) maven = factory.maven_new(File.('../gemspec_pom.rb', __FILE__)) is_local_file = File.(File.dirname(@specfile)) == File.(Dir.pwd) maven.attach_jars(@spec, is_local_file) maven['jars.specfile'] = @specfile.to_s maven['outputAbsoluteArtifactFilename'] = 'true' maven['includeTypes'] = 'jar' maven['outputScope'] = 'true' maven['useRepositoryLayout'] = 'true' maven['outputDirectory'] = Jars.home.to_s maven['outputFile'] = file.to_s maven.exec('dependency:copy-dependencies', 'dependency:list') end |
#ruby_maven_install_options=(options) ⇒ Object
60 61 62 |
# File 'lib/jars/maven_exec.rb', line 60 def () @options = end |
#setup(spec = nil, allow_no_file = false) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/jars/maven_exec.rb', line 30 def setup(spec = nil, allow_no_file = false) spec ||= find_spec(allow_no_file) case spec when String @specfile = File.(spec) @basedir = File.dirname(@specfile) Dir.chdir(@basedir) do spec = eval(File.read(@specfile), TOPLEVEL_BINDING, @specfile) end when Gem::Specification if File.exist?(spec.spec_file) @basedir = spec.gem_dir @specfile = spec.spec_file else # this happens with bundle and local gems # there the spec_file is "not installed" but inside # the gem_dir directory Dir.chdir(spec.gem_dir) do setup(nil, true) end end when NilClass else Jars.debug('spec must be either String or Gem::Specification. ' + 'File an issue on github if you need it.') end @spec = spec end |