Class: Maven::Tools::Jarfile
- Inherits:
-
Object
- Object
- Maven::Tools::Jarfile
show all
- Includes:
- Coordinate
- Defined in:
- lib/maven/tools/jarfile.rb
Defined Under Namespace
Classes: DSL
Instance Method Summary
collapse
Methods included from Coordinate
#gav, #group_artifact, #to_coordinate, #to_split_coordinate, #to_version
Constructor Details
#initialize(file = 'Jarfile') ⇒ Jarfile
Returns a new instance of Jarfile.
30
31
32
33
|
# File 'lib/maven/tools/jarfile.rb', line 30
def initialize(file = 'Jarfile')
@file = file
@lockfile = file + ".lock"
end
|
Instance Method Details
#exists? ⇒ Boolean
39
40
41
|
# File 'lib/maven/tools/jarfile.rb', line 39
def exists?
File.exists?(@file)
end
|
#exists_lock? ⇒ Boolean
47
48
49
|
# File 'lib/maven/tools/jarfile.rb', line 47
def exists_lock?
File.exists?(@lockfile)
end
|
#generate_lockfile(dependency_coordinates) ⇒ Object
167
168
169
170
171
172
173
174
175
176
177
|
# File 'lib/maven/tools/jarfile.rb', line 167
def generate_lockfile(dependency_coordinates)
if dependency_coordinates.empty?
FileUtils.rm_f(@lockfile) if exists_lock?
else
File.open(@lockfile, 'w') do |f|
dependency_coordinates.each do |d|
f.puts d.to_s unless d.to_s =~ /^ruby.bundler:/
end
end
end
end
|
#load_lockfile ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/maven/tools/jarfile.rb', line 51
def load_lockfile
_locked = []
if exists_lock?
File.read(@lockfile).each_line do |line|
line.strip!
if line.size > 0 && !(line =~ /^\s*#/)
_locked << line
end
end
end
_locked
end
|
#locked ⇒ Object
64
65
66
|
# File 'lib/maven/tools/jarfile.rb', line 64
def locked
@locked ||= load_lockfile
end
|
#locked?(coordinate) ⇒ Boolean
68
69
70
71
|
# File 'lib/maven/tools/jarfile.rb', line 68
def locked?(coordinate)
coord = coordinate.sub(/^([^:]+:[^:]+):.+/) { $1 }
locked.detect { |l| l.sub(/^([^:]+:[^:]+):.+/) { $1 } == coord } != nil
end
|
#mtime ⇒ Object
35
36
37
|
# File 'lib/maven/tools/jarfile.rb', line 35
def mtime
File.mtime(@file)
end
|
#mtime_lock ⇒ Object
43
44
45
|
# File 'lib/maven/tools/jarfile.rb', line 43
def mtime_lock
File.mtime(@lockfile)
end
|
#populate_locked(container) ⇒ Object
163
164
165
|
# File 'lib/maven/tools/jarfile.rb', line 163
def populate_locked(container)
locked.each { |l| container.add_artifact(l) }
end
|
#populate_unlocked(container = nil, &block) ⇒ Object
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# File 'lib/maven/tools/jarfile.rb', line 135
def populate_unlocked( container = nil, &block )
if File.exists?(@file)
dsl = DSL.new
dsl.eval_file( @file )
if block
block.call( dsl )
end
if container
dsl.artifacts.each do |a|
if path = a[ :system_path ]
container.add_local_jar( path )
elsif not locked?( a.to_s )
container.add_artifact( a.to_s )
end
end
dsl.repositories.each do |repo|
container.add_repository( repo[ :name ] || repo[ 'name' ],
repo[ :url ] || repo[ 'url' ] )
end
dsl.snapshot_repositories.each do |repo|
container.add_snapshot_repository( repo[ :name ] || repo[ 'name' ],
repo[ :url ] || repo[ 'url' ] )
end
end
end
end
|