1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 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
|
module Maven
# $ mvn --version
# Apache Maven 3.3.9
# Maven home: /usr/share/maven
# Java version: 1.8.0_121, vendor: Oracle Corporation
# Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
# Default locale: en_US, platform encoding: UTF-8
# OS name: "linux", version: "4.9.0-1-amd64", arch: "amd64", family: "unix"
mvn_cmd_path = File.join(File.expand_path(File.dirname(__FILE__)), '..', '..', '..', 'bin', 'mvn')
VERSION = `#{mvn_cmd_path} --version`.split("\n").grep(/^Apache\ Maven/).shift.split[2].freeze # => "3.3.9"
def self.exec( *args )
if args.member?( '-Dverbose=true' ) || args.member?( '-Dverbose' ) || args.member?( '-X' )
puts "mvn #{args.join(' ')}"
end
old_maven_home = ENV['M2_HOME']
ENV['M2_HOME'] = home
system "#{Maven.bin( 'mvn' )} #{args.join( ' ' )}"
ensure
ENV['M2_HOME'] = old_maven_home
end
def self.home
@home ||= begin
dir = File.dirname( File.expand_path( __FILE__ ) )
File.expand_path( "#{dir}/../../../share/maven" )
end
end
def self.bin( file = nil )
if file
File.join( path( 'bin' ), file )
else
path( 'bin' )
end
end
def self.lib
path( 'lib' )
end
def self.conf
path( 'conf' )
end
def self.boot
path( 'boot' )
end
private
def self.path( name )
File.join( home, name )
end
end
|