Module: RubyMaven
- Defined in:
- lib/ruby_maven.rb
Constant Summary collapse
- POLYGLOT_VERSION =
begin xml = File.read( File.join( dir, '.mvn/extensions.xml' ) ) xml.sub( /.*<version>/m, '' ).sub(/<\/version>.*/m, '' ) rescue Errno::ENOENT => e '0.1.11' end
Class Method Summary collapse
Class Method Details
.dir ⇒ Object
41 42 43 |
# File 'lib/ruby_maven.rb', line 41 def self.dir @dir ||= File.( '../../', __FILE__ ) end |
.exec(*args) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ruby_maven.rb', line 26 def self.exec( *args ) if args.member?('-version') or args.member?('--version') or args.member?('-v') puts "Polyglot Maven Extension #{POLYGLOT_VERSION}\n" launch( '--version' ) elsif defined? Bundler # it can be switching from ruby to jruby with invoking maven # just keep it clean Bundler.with_clean_env do launch( *args ) end else launch( *args ) end end |
.launch(*args) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/ruby_maven.rb', line 45 def self.launch( *args ) old_maven_home = ENV['M2_HOME'] ENV['M2_HOME'] = Maven.home extensions = File.join( '.mvn/extensions.xml' ) unless has_extensions = File.exists?( extensions ) FileUtils.mkdir_p( '.mvn' ) FileUtils.cp( File.join( dir, extensions), extensions ) end Maven.exec( *args ) ensure ENV['M2_HOME'] = old_maven_home unless has_extensions FileUtils.rm_f( extensions ) dir = File.dirname( extensions ) # delete empty .mvn directory FileUtils.rm_rf( dir ) if Dir[File.join(dir, '*')].size == 0 end end |