File: maven.rb

package info (click to toggle)
ruby-maven-libs 3.3.9%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 112 kB
  • ctags: 25
  • sloc: ruby: 40; makefile: 3
file content (56 lines) | stat: -rw-r--r-- 1,390 bytes parent folder | download
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