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



59
60
61
62
63
# File 'lib/jars/maven_settings.rb', line 59

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

.effective_settingsObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/jars/maven_settings.rb', line 39

def effective_settings
  @_jars_effective_maven_settings_ = nil unless instance_variable_defined?(:@_jars_effective_maven_settings_)
  if @_jars_effective_maven_settings_.nil?
    begin
      require 'rubygems/request'

      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
      Jars.debug('ignore rubygems proxy configuration as rubygems is too old')
    end
    @_jars_effective_maven_settings_ = if http.nil? && https.nil?
                                         settings
                                       else
                                         setup_interpolated_settings(http, https) || settings
                                       end
  end
  @_jars_effective_maven_settings_
end

.global_settingsObject



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/jars/maven_settings.rb', line 74

def global_settings
  @_jars_maven_global_settings_ = nil unless instance_variable_defined?(:@_jars_maven_global_settings_)
  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.exist?(settings)
    else
      settings = false
    end
    @_jars_maven_global_settings_ = settings
  end
  @_jars_maven_global_settings_ || nil
end

.local_settingsObject



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/jars/maven_settings.rb', line 8

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

.resetObject



65
66
67
# File 'lib/jars/maven_settings.rb', line 65

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

.settingsObject



69
70
71
72
# File 'lib/jars/maven_settings.rb', line 69

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

.user_settingsObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/jars/maven_settings.rb', line 22

def 
   = nil unless instance_variable_defined?(:@_jars_maven_user_settings_)
  if .nil?
    if (settings = Jars.absolute(Jars.to_prop(MAVEN_SETTINGS)))
      unless File.exist?(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.exist?(settings)
    end
     = settings
  end
   || nil
end