Class: Jars::MavenSettings

Inherits:
Object
  • Object
show all
Defined in:
lib/jars/maven_settings.rb

Constant Summary collapse

LINE_SEPARATOR =
ENV_JAVA['line.separator']

Class Method Summary collapse

Class Method Details

.cleanupObject



65
66
67
68
69
70
71
# File 'lib/jars/maven_settings.rb', line 65

def cleanup
  if effective_settings != settings
    File.unlink(effective_settings)
  end
ensure
  reset
end

.effective_settingsObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/jars/maven_settings.rb', line 44

def effective_settings
  unless instance_variable_defined?(:@_jars_effective_maven_settings_)
    @_jars_effective_maven_settings_ = nil
  end
  if @_jars_effective_maven_settings_.nil?
    begin
      http = Gem::Request.proxy_uri(Gem.configuration[:http_proxy] || Gem::Request.get_proxy_from_env('http'))
      https = Gem::Request.proxy_uri(Gem.configuration[:https_proxy] || Gem::Request.get_proxy_from_env('https'))
    rescue NoMethodError
      Jars.debug('ignore rubygems proxy configuration as rubygems is too old')
    end
    if http.nil? && https.nil?
      @_jars_effective_maven_settings_ = settings
    else
      @_jars_effective_maven_settings_ =
        setup_interpolated_settings(http, https) || settings
    end
  end
  @_jars_effective_maven_settings_
end

.global_settingsObject



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/jars/maven_settings.rb', line 86

def global_settings
  unless instance_variable_defined?(:@_jars_maven_global_settings_)
    @_jars_maven_global_settings_ = nil
  end
  if @_jars_maven_global_settings_.nil?
    if mvn_home = ENV[ 'M2_HOME' ] || ENV[ 'MAVEN_HOME' ]
      settings = File.join( mvn_home, 'conf/settings.xml' )
      settings = false unless File.exists?(settings)
    else
      settings = false
    end
    @_jars_maven_global_settings_ = settings
  end
  @_jars_maven_global_settings_ || nil
end

.local_settingsObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/jars/maven_settings.rb', line 11

def local_settings
  unless instance_variable_defined?(:@_jars_maven_local_settings_)
    @_jars_maven_local_settings_ = nil
  end
  if @_jars_maven_local_settings_.nil?
    if settings = Jars.absolute( 'settings.xml' )
      if File.exists?(settings)
        @_jars_maven_local_settings_ = settings
      end
    end
  end
  @_jars_maven_local_settings_ || nil
end

.resetObject



73
74
75
# File 'lib/jars/maven_settings.rb', line 73

def reset
  instance_variables.each { |var| instance_variable_set(var, nil) }
end

.settingsObject



77
78
79
80
81
82
83
84
# File 'lib/jars/maven_settings.rb', line 77

def settings
  unless instance_variable_defined?(:@_jars_maven_settings_)
    @_jars_maven_settings_ = nil
  end
  if @_jars_maven_settings_.nil?
    local_settings || 
  end
end

.user_settingsObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/jars/maven_settings.rb', line 25

def 
  unless instance_variable_defined?(:@_jars_maven_user_settings_)
    @_jars_maven_user_settings_ = nil
  end
  if @_jars_maven_user_settings_.nil?
    if settings = Jars.absolute( Jars.to_prop( MAVEN_SETTINGS ) )
      unless File.exists?(settings)
        Jars.warn { "configured ENV['#{MAVEN_SETTINGS}'] = '#{settings}' not found" }
        settings = false
      end
    else # use maven default (user) settings
      settings = File.join( Jars.user_home, '.m2', 'settings.xml' )
      settings = false unless File.exists?(settings)
    end
    @_jars_maven_user_settings_ = settings
  end
  @_jars_maven_user_settings_ || nil
end