maven-tools 0.34.5 → 1.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/maven/tools/artifact.rb +18 -12
- data/lib/maven/tools/dsl.rb +282 -121
- data/lib/maven/tools/gemfile_lock.rb +0 -6
- data/lib/maven/tools/model.rb +78 -69
- data/lib/maven/tools/pom.rb +8 -8
- data/lib/maven/tools/version.rb +1 -1
- data/lib/maven/tools/versions.rb +4 -4
- data/lib/maven/tools/visitor.rb +2 -2
- data/spec/gemfile_with_lock/bouncy-castle-version.rb +4 -0
- data/spec/pom_maven_alternative_style/pom.rb +116 -169
- data/spec/pom_maven_hash_style/pom.rb +134 -100
- data/spec/pom_maven_style/pom.rb +160 -163
- data/spec/pom_spec.rb +3 -1
- metadata +12 -90
- data/lib/maven/model/dependencies.rb +0 -249
- data/lib/maven/model/model.rb +0 -618
- data/lib/maven/model/utils.rb +0 -393
- data/lib/maven/tools/execute_in_phase.rb +0 -28
- data/lib/maven/tools/gem_project.rb +0 -513
- data/lib/maven/tools/maven_project.rb +0 -72
- data/lib/maven/tools/minimal_project.rb +0 -84
- data/lib/maven/tools/pom_generator.rb +0 -83
- data/lib/maven/tools/rails_project.rb +0 -133
- data/rspec/maven/model/dependencies_spec.rb +0 -260
- data/rspec/maven/model/model_spec.rb +0 -714
- data/rspec/maven/tools/Gemfile.gems +0 -11
- data/rspec/maven/tools/Gemfile.groups +0 -15
- data/rspec/maven/tools/Gemfile.ignored +0 -30
- data/rspec/maven/tools/Gemfile.lockfile +0 -8
- data/rspec/maven/tools/Gemfile.lockfile.lock +0 -53
- data/rspec/maven/tools/Gemfile.minimal +0 -1
- data/rspec/maven/tools/Gemfile.nolock +0 -1
- data/rspec/maven/tools/Gemfile.rails +0 -16
- data/rspec/maven/tools/Gemfile.simple +0 -7
- data/rspec/maven/tools/Gemfile.withlock +0 -1
- data/rspec/maven/tools/Gemfile.withlock.lock +0 -28
- data/rspec/maven/tools/Jarfile.with +0 -2
- data/rspec/maven/tools/Jarfile.with.lock +0 -1
- data/rspec/maven/tools/Jarfile.without +0 -2
- data/rspec/maven/tools/deps.gemspec +0 -8
- data/rspec/maven/tools/gem_project_spec.rb +0 -1126
- data/rspec/maven/tools/maven-tools.gemspec +0 -17
- data/rspec/maven/tools/minimal.gemspec +0 -5
- data/rspec/maven/tools/no-deps.gemspec +0 -27
- data/rspec/maven/tools/rails_project_spec.rb +0 -284
- data/rspec/maven/tools/spec_helper.rb +0 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0043d501457131717a2e0d1b85efddcabe5723c0
|
4
|
+
data.tar.gz: 631f64b5a850b277e3ffca5bff4ec0f2ffba265a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 455460b23c182cf47ca87631a33176befbdf815cefede9492e8a7e6b5b1c7507bd8d11fd1dc700a826315c5770414bb9e2e450485a0cc6815cf745d2ab444028
|
7
|
+
data.tar.gz: 11024c1588037abc38e39cc11da922c5b391c3e4c98d62456ccdd71b4cc3b7f8e32e0da7723e23d716e6e2f740e3c4d3816ad854bffcf33a6425fa6ee047804d
|
data/lib/maven/tools/artifact.rb
CHANGED
@@ -32,7 +32,7 @@ module Maven
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.new_local( path, type, options = {} )
|
35
|
-
name = File.basename( path ).sub( /.#{type}$/, '' )
|
35
|
+
name = ::File.basename( path ).sub( /.#{type}$/, '' )
|
36
36
|
if ind = name.rindex( '-' )
|
37
37
|
version = name[ind + 1..-1]
|
38
38
|
name = name[0..ind - 1]
|
@@ -77,18 +77,24 @@ module Maven
|
|
77
77
|
# jar "asd:Asd:[dsa:rew,fe:fer]",'>123', '<345'
|
78
78
|
# jar "asd:Asd:test:[dsa:rew,fe:fer]",'>123', '<345'
|
79
79
|
# jar "asd:Asd:test:[dsa:rew,fe:fer]", '123', 'source'
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
80
|
+
if args[ 0 ].match /:/
|
81
|
+
v = helper.to_version( *args[1..-1] )
|
82
|
+
case v
|
83
|
+
when String
|
84
|
+
group_id, artifact_id, classifier, exclusions = args[0].split( /:/ )
|
85
|
+
self.new( group_id, artifact_id, type,
|
86
|
+
v, classifier, exclusions,
|
87
|
+
options )
|
88
|
+
else
|
89
|
+
group_id, artifact_id = args[0].split( /:/ )
|
90
|
+
self.new( group_id, artifact_id, type,
|
91
|
+
args[1], args[2], nil,
|
92
|
+
options )
|
93
|
+
end
|
87
94
|
else
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
options )
|
95
|
+
self.new( args[ 0 ], args[ 1 ], type,
|
96
|
+
args[ 2 ], nil, nil,
|
97
|
+
options )
|
92
98
|
end
|
93
99
|
else
|
94
100
|
nil
|
data/lib/maven/tools/dsl.rb
CHANGED
@@ -3,6 +3,7 @@ require 'maven/tools/gemspec_dependencies'
|
|
3
3
|
require 'maven/tools/artifact'
|
4
4
|
require 'maven/tools/jarfile'
|
5
5
|
require 'maven/tools/versions'
|
6
|
+
require 'maven/tools/gemfile_lock'
|
6
7
|
|
7
8
|
module Maven
|
8
9
|
module Tools
|
@@ -11,7 +12,7 @@ module Maven
|
|
11
12
|
def tesla( &block )
|
12
13
|
@model = Model.new
|
13
14
|
@model.model_version = '4.0.0'
|
14
|
-
@model.name = File.basename( basedir )
|
15
|
+
@model.name = ::File.basename( basedir )
|
15
16
|
@model.group_id = 'dummy'
|
16
17
|
@model.artifact_id = model.name
|
17
18
|
@model.version = '0.0.0'
|
@@ -21,8 +22,8 @@ module Maven
|
|
21
22
|
if ! @model.repositories.detect { |r| r.id == 'rubygems-prereleases' } && @model.dependencies.detect { |d| d.group_id == 'rubygems' && d.version.match( /[a-zA-Z]/ ) }
|
22
23
|
|
23
24
|
@current = @model
|
24
|
-
snapshot_repository(
|
25
|
-
|
25
|
+
snapshot_repository( 'rubygems-prereleases',
|
26
|
+
'http://rubygems-proxy.torquebox.org/prereleases' )
|
26
27
|
@current = nil
|
27
28
|
end
|
28
29
|
@needs_torquebox = nil
|
@@ -47,19 +48,19 @@ module Maven
|
|
47
48
|
|
48
49
|
def eval_pom( src, reference_file = '.' )
|
49
50
|
@source = reference_file
|
50
|
-
eval( src )
|
51
|
+
eval( src, nil, ::File.expand_path( @source ) )
|
51
52
|
ensure
|
52
53
|
@source = nil
|
53
54
|
@basedir = nil
|
54
55
|
end
|
55
56
|
|
56
57
|
def basedir( basedir = nil )
|
57
|
-
@basedir
|
58
|
+
@basedir = basedir if basedir
|
58
59
|
if @source
|
59
|
-
@basedir ||= File.directory?( @source ) ? @source :
|
60
|
-
File.dirname( File.expand_path( @source ) )
|
60
|
+
@basedir ||= ::File.directory?( @source ) ? @source :
|
61
|
+
::File.dirname( ::File.expand_path( @source ) )
|
61
62
|
end
|
62
|
-
@basedir ||= File.expand_path( '.' )
|
63
|
+
@basedir ||= ::File.expand_path( '.' )
|
63
64
|
end
|
64
65
|
|
65
66
|
def artifact( a )
|
@@ -108,19 +109,54 @@ module Maven
|
|
108
109
|
options = name
|
109
110
|
name = 'Gemfile'
|
110
111
|
end
|
111
|
-
name = File.join( basedir, name ) unless File.exists?( name )
|
112
|
-
basedir = File.dirname( name ) unless basedir
|
112
|
+
name = ::File.join( basedir, name ) unless ::File.exists?( name )
|
113
|
+
basedir = ::File.dirname( name ) unless basedir
|
113
114
|
|
114
|
-
@
|
115
|
-
|
116
|
-
|
115
|
+
@inside_gemfile = true
|
116
|
+
# the eval might need those options for gemspec declaration
|
117
|
+
pr = profile :gemfile do
|
118
|
+
activation do
|
119
|
+
file( :missing => name + '.lock' )
|
120
|
+
end
|
121
|
+
|
122
|
+
FileUtils.cd( basedir ) do
|
123
|
+
f = ::File.expand_path( name )
|
124
|
+
eval( ::File.read( f ), nil, f )
|
125
|
+
end
|
117
126
|
end
|
118
127
|
|
119
|
-
if @
|
120
|
-
@
|
128
|
+
if @gemspec_args
|
129
|
+
@inside_gemfile = :gemfile
|
130
|
+
case @gemspec_args[ 0 ]
|
131
|
+
when Hash
|
132
|
+
gemspec( @gemspec_args[ 0 ].merge( options ) )
|
133
|
+
when NilClass
|
134
|
+
gemspec( @gemspec_args[ 0 ], options )
|
135
|
+
else
|
136
|
+
@gemspec_args[ 1 ].merge!( options )
|
137
|
+
gemspec( *@gemspec_args )
|
138
|
+
end
|
139
|
+
else
|
121
140
|
setup_gem_support( options )
|
122
141
|
end
|
123
142
|
|
143
|
+
if pr.dependencies.empty?
|
144
|
+
@current.profiles.delete( pr )
|
145
|
+
end
|
146
|
+
|
147
|
+
lockfile = ::File.expand_path( name + '.lock' )
|
148
|
+
if File.exists? lockfile
|
149
|
+
profile :gemfile_lock do
|
150
|
+
activation do
|
151
|
+
file( :exists => name + '.lock' )
|
152
|
+
end
|
153
|
+
locked = GemfileLock.new( lockfile )
|
154
|
+
locked.hull.each do |name, version|
|
155
|
+
gem name, version unless model.artifact_id == name && model.group_id == 'rubygems'
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
124
160
|
if @has_path or @has_git
|
125
161
|
gem 'bundler', :scope => :provided unless gem? 'bundler'
|
126
162
|
jruby_plugin :gem do
|
@@ -128,17 +164,16 @@ module Maven
|
|
128
164
|
end
|
129
165
|
end
|
130
166
|
ensure
|
167
|
+
@inside_gemfile = nil
|
168
|
+
@gemspec_args = nil
|
131
169
|
@has_path = nil
|
132
170
|
@has_git = nil
|
133
171
|
end
|
134
172
|
|
135
173
|
def setup_gem_support( options, spec = nil, config = {} )
|
136
|
-
unless model.properties.member?( 'project.build.sourceEncoding' )
|
137
|
-
properties( 'project.build.sourceEncoding' => 'utf-8' )
|
138
|
-
end
|
139
174
|
if spec.nil?
|
140
175
|
require_path = '.'
|
141
|
-
name = File.basename( File.expand_path( '.' ) )
|
176
|
+
name = ::File.basename( ::File.expand_path( '.' ) )
|
142
177
|
else
|
143
178
|
require_path = spec.require_path
|
144
179
|
name = spec.name
|
@@ -147,8 +182,8 @@ module Maven
|
|
147
182
|
unless options[ :only_metadata ]
|
148
183
|
|
149
184
|
unless model.repositories.detect { |r| r.id == 'rubygems-releases' }
|
150
|
-
repository( '
|
151
|
-
|
185
|
+
repository( 'rubygems-releases',
|
186
|
+
'http://rubygems-proxy.torquebox.org/releases' )
|
152
187
|
end
|
153
188
|
@needs_torquebox = true
|
154
189
|
|
@@ -158,8 +193,8 @@ module Maven
|
|
158
193
|
if options.key?( :jar ) || options.key?( 'jar' )
|
159
194
|
jarpath = options[ :jar ] || options[ 'jar' ]
|
160
195
|
if jarpath
|
161
|
-
jar = File.basename( jarpath ).sub( /.jar$/, '' )
|
162
|
-
output = File.dirname( "#{require_path}/#{jarpath}" )
|
196
|
+
jar = ::File.basename( jarpath ).sub( /.jar$/, '' )
|
197
|
+
output = ::File.dirname( "#{require_path}/#{jarpath}" )
|
163
198
|
output.sub!( /\/$/, '' )
|
164
199
|
end
|
165
200
|
else
|
@@ -173,7 +208,7 @@ module Maven
|
|
173
208
|
end
|
174
209
|
end
|
175
210
|
if jar && ( source ||
|
176
|
-
File.exists?( File.join( basedir, 'src', 'main', 'java' ) ) )
|
211
|
+
::File.exists?( ::File.join( basedir, 'src', 'main', 'java' ) ) )
|
177
212
|
plugin( :jar, VERSIONS[ :jar_plugin ],
|
178
213
|
:outputDirectory => output,
|
179
214
|
:finalName => jar ) do
|
@@ -194,19 +229,21 @@ module Maven
|
|
194
229
|
:id => 'jruby-snapshots' )
|
195
230
|
end
|
196
231
|
scope( jruby_scope ) do
|
197
|
-
if jruby < '1.
|
232
|
+
if ( jruby < '1.6' )
|
233
|
+
raise 'jruby before 1.6 are not supported'
|
234
|
+
elsif ( jruby < '1.7' )
|
198
235
|
warn 'jruby version below 1.7 uses jruby-complete'
|
199
236
|
jar 'org.jruby:jruby-core', jruby
|
200
|
-
elsif jruby.sub( /1\.7\./, '').to_i < 5
|
237
|
+
elsif ( jruby.sub( /1\.7\./, '').to_i < 5 )
|
201
238
|
jar 'org.jruby:jruby-core', jruby
|
202
239
|
elsif jruby =~ /-no_asm$/
|
203
240
|
pom 'org.jruby:jruby-noasm', jruby.sub( /-no_asm$/, '' )
|
204
|
-
|
241
|
+
else
|
205
242
|
pom 'org.jruby:jruby', jruby
|
206
243
|
end
|
207
244
|
end
|
208
245
|
end
|
209
|
-
|
246
|
+
private :setup_jruby
|
210
247
|
|
211
248
|
def jarfile( file = 'Jarfile', options = {} )
|
212
249
|
if file.is_a? Hash
|
@@ -214,7 +251,7 @@ module Maven
|
|
214
251
|
file = 'Jarfile'
|
215
252
|
end
|
216
253
|
unless file.is_a?( Maven::Tools::Jarfile )
|
217
|
-
file = Maven::Tools::Jarfile.new( File.expand_path( file ) )
|
254
|
+
file = Maven::Tools::Jarfile.new( ::File.expand_path( file ) )
|
218
255
|
end
|
219
256
|
|
220
257
|
if options[ :skip_locked ] or not file.exists_lock?
|
@@ -239,28 +276,33 @@ module Maven
|
|
239
276
|
end
|
240
277
|
end
|
241
278
|
|
242
|
-
def gemspec( name = nil, options =
|
279
|
+
def gemspec( name = nil, options = {} )
|
280
|
+
if @inside_gemfile == true
|
281
|
+
@gemspec_args = [ name, options ]
|
282
|
+
return
|
283
|
+
end
|
243
284
|
if name.is_a? Hash
|
244
285
|
options = name
|
245
286
|
name = nil
|
246
287
|
end
|
247
288
|
if name
|
248
|
-
name = File.join( basedir, name )
|
289
|
+
name = ::File.join( basedir, name )
|
249
290
|
else name
|
250
|
-
gemspecs = Dir[ File.join( basedir, "*.gemspec" ) ]
|
291
|
+
gemspecs = Dir[ ::File.join( basedir, "*.gemspec" ) ]
|
251
292
|
raise "more then one gemspec file found" if gemspecs.size > 1
|
252
293
|
raise "no gemspec file found" if gemspecs.size == 0
|
253
294
|
name = gemspecs.first
|
254
295
|
end
|
255
296
|
spec = nil
|
256
|
-
|
297
|
+
f = ::File.expand_path( name )
|
298
|
+
spec_file = ::File.read( f )
|
257
299
|
begin
|
300
|
+
spec = Gem::Specification.from_yaml( spec_file )
|
301
|
+
rescue Gem::Exception
|
258
302
|
FileUtils.cd( basedir ) do
|
259
303
|
# TODO jruby java user.dir
|
260
|
-
spec = eval( spec_file )
|
304
|
+
spec = eval( spec_file, nil, f )
|
261
305
|
end
|
262
|
-
rescue
|
263
|
-
spec = Gem::Specification.from_yaml( spec_file )
|
264
306
|
end
|
265
307
|
|
266
308
|
self.spec( spec, name, options )
|
@@ -268,6 +310,9 @@ module Maven
|
|
268
310
|
|
269
311
|
def spec( spec, name = nil, options = {} )
|
270
312
|
name ||= "#{spec.name}-#{spec.version}.gemspec"
|
313
|
+
unless model.properties.member?( 'project.build.sourceEncoding' )
|
314
|
+
properties( 'project.build.sourceEncoding' => 'utf-8' )
|
315
|
+
end
|
271
316
|
|
272
317
|
@gemfile_options = nil
|
273
318
|
|
@@ -295,7 +340,24 @@ module Maven
|
|
295
340
|
end
|
296
341
|
plugin( 'de.saumya.mojo:gem-maven-plugin:${jruby.plugins.version}',
|
297
342
|
config )
|
343
|
+
|
344
|
+
deps = nil
|
345
|
+
if @inside_gemfile
|
346
|
+
profile! @inside_gemfile do
|
347
|
+
deps = all_deps( spec )
|
348
|
+
end
|
349
|
+
else
|
350
|
+
deps = all_deps( spec )
|
351
|
+
end
|
298
352
|
|
353
|
+
unless deps.java_runtime.empty?
|
354
|
+
deps.java_runtime.each do |d|
|
355
|
+
dependency Maven::Tools::Artifact.new( *d )
|
356
|
+
end
|
357
|
+
end
|
358
|
+
end
|
359
|
+
|
360
|
+
def all_deps( spec )
|
299
361
|
deps = Maven::Tools::GemspecDependencies.new( spec )
|
300
362
|
deps.runtime.each do |d|
|
301
363
|
gem d
|
@@ -307,12 +369,9 @@ module Maven
|
|
307
369
|
end
|
308
370
|
end
|
309
371
|
end
|
310
|
-
|
311
|
-
deps.java_runtime.each do |d|
|
312
|
-
dependency Maven::Tools::Artifact.new( *d )
|
313
|
-
end
|
314
|
-
end
|
372
|
+
deps
|
315
373
|
end
|
374
|
+
private :all_deps
|
316
375
|
|
317
376
|
def build( &block )
|
318
377
|
build = @current.build ||= Build.new
|
@@ -368,29 +427,81 @@ module Maven
|
|
368
427
|
end
|
369
428
|
end
|
370
429
|
|
371
|
-
def site(
|
430
|
+
def site( *args, &block )
|
372
431
|
site = Site.new
|
373
|
-
options
|
432
|
+
args, options = args_and_options( *args )
|
433
|
+
site.id = args[ 0 ]
|
434
|
+
site.url = args[ 1 ]
|
435
|
+
site.name = args[ 2 ]
|
374
436
|
fill_options( site, options )
|
437
|
+
nested_block( :site, site, block) if block
|
375
438
|
@current.site = site
|
376
439
|
end
|
377
440
|
|
378
|
-
def source_control(
|
441
|
+
def source_control( *args, &block )
|
379
442
|
scm = Scm.new
|
380
|
-
options
|
443
|
+
args, options = args_and_options( *args )
|
444
|
+
scm.connection = args[ 0 ]
|
445
|
+
scm.developer_connection = args[ 1 ]
|
446
|
+
scm.url = args[ 2 ]
|
381
447
|
fill_options( scm, options )
|
448
|
+
nested_block( :scm, scm, block ) if block
|
382
449
|
@current.scm = scm
|
383
450
|
end
|
384
451
|
alias :scm :source_control
|
385
452
|
|
386
|
-
def issue_management(
|
453
|
+
def issue_management( *args, &block )
|
387
454
|
issues = IssueManagement.new
|
388
|
-
|
389
|
-
issues.
|
455
|
+
args, options = args_and_options( *args )
|
456
|
+
issues.url = args[ 0 ]
|
457
|
+
fill_options( issues, options )
|
458
|
+
nested_block( :issue_management, issues, block ) if block
|
390
459
|
@current.issue_management = issues
|
391
|
-
|
460
|
+
end
|
461
|
+
alias :issues :issue_management
|
462
|
+
|
463
|
+
def ci_management( *args, &block )
|
464
|
+
ci = CiManagement.new
|
465
|
+
args, options = args_and_options( *args )
|
466
|
+
ci.url = args[ 0 ]
|
467
|
+
fill_options( ci, options )
|
468
|
+
nested_block( :ci_management, ci, block ) if block
|
469
|
+
@current.ci_management = ci
|
470
|
+
end
|
471
|
+
alias :ci :ci_management
|
472
|
+
|
473
|
+
def distribution_management( *args, &block )
|
474
|
+
di = DistributionManagement.new
|
475
|
+
args, options = args_and_options( *args )
|
476
|
+
di.status = args[ 0 ]
|
477
|
+
di.download_url = args[ 1 ]
|
478
|
+
fill_options( di, options )
|
479
|
+
nested_block( :distribution_management, di, block ) if block
|
480
|
+
@current.distribution_management = di
|
392
481
|
end
|
393
482
|
|
483
|
+
def relocation( *args, &block )
|
484
|
+
args, options = args_and_options( *args )
|
485
|
+
relocation = fill_gav( Relocation, args.join( ':' ) )
|
486
|
+
fill_options( relocation, options )
|
487
|
+
nested_block( :relocation, relocation, block ) if block
|
488
|
+
@current.relocation = relocation
|
489
|
+
end
|
490
|
+
|
491
|
+
def system( arg )
|
492
|
+
@current.system = arg
|
493
|
+
end
|
494
|
+
|
495
|
+
def notifier( *args, &block )
|
496
|
+
n = Notifier.new
|
497
|
+
args, options = args_and_options( *args )
|
498
|
+
n.type = args[ 0 ]
|
499
|
+
n.address = args[ 1 ]
|
500
|
+
fill_options( n, options )
|
501
|
+
nested_block( :notifier, n, block ) if block
|
502
|
+
@current.notifiers << n
|
503
|
+
n
|
504
|
+
end
|
394
505
|
def mailing_list( *args, &block )
|
395
506
|
list = MailingList.new
|
396
507
|
args, options = args_and_options( *args )
|
@@ -468,16 +579,15 @@ module Maven
|
|
468
579
|
@current.activation = activation
|
469
580
|
end
|
470
581
|
|
471
|
-
def distribution(
|
582
|
+
def distribution( *args, &block )
|
472
583
|
if @context == :license
|
473
|
-
|
584
|
+
args, options = args_and_options( *args )
|
585
|
+
@current.distribution = args[ 0 ]
|
586
|
+
fill_options( @current, options )
|
474
587
|
else
|
475
|
-
|
476
|
-
nested_block( :distribution, dist, block ) if block
|
477
|
-
@current.distribution_management = dist
|
588
|
+
distribution_management( *args, &block )
|
478
589
|
end
|
479
590
|
end
|
480
|
-
alias :distribution_management :distribution
|
481
591
|
|
482
592
|
def includes( *items )
|
483
593
|
@current.includes = items.flatten
|
@@ -487,11 +597,12 @@ module Maven
|
|
487
597
|
@current.excludes = items.flatten
|
488
598
|
end
|
489
599
|
|
490
|
-
def test_resource( &block )
|
600
|
+
def test_resource( options = {}, &block )
|
491
601
|
# strange behaviour when calling specs from Rakefile
|
492
602
|
return if @current.nil?
|
493
|
-
resource =
|
494
|
-
|
603
|
+
resource = TestResource.new
|
604
|
+
fill_options( resource, options )
|
605
|
+
nested_block( :test_resource, resource, block ) if block
|
495
606
|
if @context == :project
|
496
607
|
( @current.build ||= Build.new ).test_resources << resource
|
497
608
|
else
|
@@ -499,8 +610,9 @@ module Maven
|
|
499
610
|
end
|
500
611
|
end
|
501
612
|
|
502
|
-
def resource( &block )
|
613
|
+
def resource( options = {}, &block )
|
503
614
|
resource = Resource.new
|
615
|
+
fill_options( resource, options )
|
504
616
|
nested_block( :resource, resource, block ) if block
|
505
617
|
if @context == :project
|
506
618
|
( @current.build ||= Build.new ).resources << resource
|
@@ -509,44 +621,59 @@ module Maven
|
|
509
621
|
end
|
510
622
|
end
|
511
623
|
|
512
|
-
def repository(
|
513
|
-
do_repository( :repository=,
|
624
|
+
def repository( *args, &block )
|
625
|
+
do_repository( :repository=, *args, &block )
|
626
|
+
end
|
627
|
+
|
628
|
+
def plugin_repository( *args, &block )
|
629
|
+
do_repository( :plugin, *args, &block )
|
514
630
|
end
|
515
631
|
|
516
|
-
def
|
517
|
-
|
632
|
+
def set_policy( key, enable, options )
|
633
|
+
return unless options
|
634
|
+
if map = options[ key ] || options[ key.to_s ]
|
635
|
+
map[ :enabled ] = enable
|
636
|
+
else
|
637
|
+
options[ key ] = enable
|
638
|
+
end
|
518
639
|
end
|
640
|
+
private :set_policy
|
519
641
|
|
520
|
-
def snapshot_repository(
|
521
|
-
unless @current.respond_to? :snapshot_repository=
|
522
|
-
|
523
|
-
|
642
|
+
def snapshot_repository( *args, &block )
|
643
|
+
unless @current.respond_to?( :snapshot_repository= )
|
644
|
+
args, options = args_and_options( *args )
|
645
|
+
set_policy( :releases, false, options )
|
646
|
+
set_policy( :snapshots, true, options )
|
647
|
+
args << options
|
524
648
|
end
|
525
|
-
do_repository( :snapshot_repository=,
|
649
|
+
do_repository( :snapshot_repository=, *args, &block )
|
526
650
|
end
|
527
651
|
|
528
|
-
def releases( config )
|
529
|
-
@current.releases = repository_policy(
|
652
|
+
def releases( config = nil, &block )
|
653
|
+
@current.releases = repository_policy( @current.releases,
|
654
|
+
config, &block )
|
530
655
|
end
|
531
656
|
|
532
|
-
def snapshots( config )
|
533
|
-
@current.snapshots = repository_policy(
|
657
|
+
def snapshots( config = nil, &block)
|
658
|
+
@current.snapshots = repository_policy( @current.snapshots,
|
659
|
+
config, &block )
|
534
660
|
end
|
535
661
|
|
536
|
-
def repository_policy( config )
|
537
|
-
rp
|
662
|
+
def repository_policy( rp, config, &block )
|
663
|
+
rp ||= RepositoryPolicy.new
|
538
664
|
case config
|
539
665
|
when Hash
|
540
|
-
rp.enabled = config[ :enabled ]
|
541
|
-
rp.update_policy = config[ :update ]
|
542
|
-
rp.checksum_policy = config[ :checksum ]
|
666
|
+
rp.enabled = config[ :enabled ] unless config[ :enabled ].nil?
|
667
|
+
rp.update_policy = config[ :update ] || config[ :update_policy ]
|
668
|
+
rp.checksum_policy = config[ :checksum ] || config[ :checksum_policy ]
|
543
669
|
when TrueClass
|
544
670
|
rp.enabled = true
|
545
671
|
when FalseClass
|
546
672
|
rp.enabled = false
|
547
673
|
else
|
548
|
-
rp.enabled = 'true' == config
|
674
|
+
rp.enabled = 'true' == config unless config.nil?
|
549
675
|
end
|
676
|
+
nested_block( :repository_policy, rp, block ) if block
|
550
677
|
rp
|
551
678
|
end
|
552
679
|
|
@@ -594,14 +721,26 @@ module Maven
|
|
594
721
|
@current.properties
|
595
722
|
end
|
596
723
|
|
597
|
-
def extension( *
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
724
|
+
def extension( *args )
|
725
|
+
build = if @context == :build
|
726
|
+
@current
|
727
|
+
else
|
728
|
+
@current.build ||= Build.new
|
729
|
+
end
|
730
|
+
args, options = args_and_options( *args )
|
731
|
+
ext = fill_gav( Extension, args.join( ':' ) )
|
732
|
+
fill_options( ext, options )
|
733
|
+
build.extensions << ext
|
602
734
|
ext
|
603
735
|
end
|
604
736
|
|
737
|
+
def exclusion( *gav )
|
738
|
+
gav = gav.join( ':' )
|
739
|
+
ex = fill_gav( Extension, gav)
|
740
|
+
@current.exclusions << ex
|
741
|
+
ex
|
742
|
+
end
|
743
|
+
|
605
744
|
def setup_jruby_plugins_version
|
606
745
|
unless @current.properties.key?( 'jruby.plugins.version' )
|
607
746
|
properties( 'jruby.plugins.version' => VERSIONS[ :jruby_plugins ] )
|
@@ -706,7 +845,7 @@ module Maven
|
|
706
845
|
end
|
707
846
|
options[ :taskId ] = options[ :id ] || options[ 'id' ]
|
708
847
|
if @source
|
709
|
-
options[ :nativePom ] = File.expand_path( @source ).sub( /#{basedir}./, '' )
|
848
|
+
options[ :nativePom ] = ::File.expand_path( @source ).sub( /#{basedir}./, '' )
|
710
849
|
end
|
711
850
|
|
712
851
|
add_execute_task( options, &block )
|
@@ -766,12 +905,12 @@ module Maven
|
|
766
905
|
exec
|
767
906
|
end
|
768
907
|
|
769
|
-
def dependency( type, *args )
|
770
|
-
do_dependency( false, type, *args )
|
908
|
+
def dependency( type, *args, &block )
|
909
|
+
do_dependency( false, type, *args, &block )
|
771
910
|
end
|
772
911
|
|
773
|
-
def dependency!( type, *args )
|
774
|
-
do_dependency( true, type, *args )
|
912
|
+
def dependency!( type, *args, &block )
|
913
|
+
do_dependency( true, type, *args, &block )
|
775
914
|
end
|
776
915
|
|
777
916
|
def dependency?( type, *args )
|
@@ -808,6 +947,7 @@ module Maven
|
|
808
947
|
type = a[ :type ]
|
809
948
|
options = a
|
810
949
|
else
|
950
|
+
args, options = args_and_options( *args )
|
811
951
|
a = ::Maven::Tools::Artifact.from( type, *args )
|
812
952
|
end
|
813
953
|
options ||= {}
|
@@ -817,6 +957,7 @@ module Maven
|
|
817
957
|
# TODO maybe copy everything from options ?
|
818
958
|
d.scope = options[ :scope ] if options[ :scope ]
|
819
959
|
d.system_path = options[ :system_path ] if options[ :system_path ]
|
960
|
+
|
820
961
|
d
|
821
962
|
end
|
822
963
|
|
@@ -824,12 +965,14 @@ module Maven
|
|
824
965
|
if @context == :overrides
|
825
966
|
@current.dependency_management ||= DependencyManagement.new
|
826
967
|
@current.dependency_management.dependencies
|
968
|
+
#elsif @context == :build
|
969
|
+
# @current.
|
827
970
|
else
|
828
971
|
@current.dependencies
|
829
972
|
end
|
830
973
|
end
|
831
974
|
|
832
|
-
def do_dependency( bang, type, *args )
|
975
|
+
def do_dependency( bang, type, *args, &block )
|
833
976
|
d = retrieve_dependency( type, *args )
|
834
977
|
container = dependency_container
|
835
978
|
|
@@ -843,10 +986,9 @@ module Maven
|
|
843
986
|
else
|
844
987
|
container << d
|
845
988
|
end
|
989
|
+
|
990
|
+
args, options = args_and_options( *args )
|
846
991
|
|
847
|
-
if args.last.is_a?( Hash )
|
848
|
-
options = args.last
|
849
|
-
end
|
850
992
|
if options || @scope
|
851
993
|
options ||= {}
|
852
994
|
if @scope
|
@@ -860,7 +1002,10 @@ module Maven
|
|
860
1002
|
case exclusions
|
861
1003
|
when Array
|
862
1004
|
exclusions.each do |v|
|
863
|
-
|
1005
|
+
v, opts = args_and_options( v )
|
1006
|
+
ex = fill_gav( Exclusion, *v )
|
1007
|
+
fill_options( ex, opts )
|
1008
|
+
d.exclusions << ex
|
864
1009
|
end
|
865
1010
|
when String
|
866
1011
|
d.exclusions << fill_gav( Exclusion, exclusions )
|
@@ -870,13 +1015,18 @@ module Maven
|
|
870
1015
|
d.send( "#{k}=".to_sym, v ) unless d.send( k.to_sym )
|
871
1016
|
end
|
872
1017
|
end
|
1018
|
+
nested_block( :dependency, d, block ) if block
|
873
1019
|
d
|
874
1020
|
end
|
875
1021
|
|
876
1022
|
def scope( name )
|
877
|
-
@
|
878
|
-
|
879
|
-
|
1023
|
+
if @context == :dependency
|
1024
|
+
@current.scope = name
|
1025
|
+
else
|
1026
|
+
@scope = name
|
1027
|
+
yield
|
1028
|
+
@scope = nil
|
1029
|
+
end
|
880
1030
|
end
|
881
1031
|
|
882
1032
|
def phase( name )
|
@@ -885,11 +1035,22 @@ module Maven
|
|
885
1035
|
@phase = nil
|
886
1036
|
end
|
887
1037
|
|
1038
|
+
def profile!( id, &block )
|
1039
|
+
profile = @current.profiles.detect { |p| p.id.to_s == id.to_s }
|
1040
|
+
if profile
|
1041
|
+
nested_block( :profile, profile, block ) if block
|
1042
|
+
profile
|
1043
|
+
else
|
1044
|
+
profile( id, &block )
|
1045
|
+
end
|
1046
|
+
end
|
1047
|
+
|
888
1048
|
def profile( id, &block )
|
889
1049
|
profile = Profile.new
|
890
1050
|
profile.id = id if id
|
891
1051
|
@current.profiles << profile
|
892
1052
|
nested_block( :profile, profile, block ) if block
|
1053
|
+
profile
|
893
1054
|
end
|
894
1055
|
|
895
1056
|
def report_set( *reports, &block )
|
@@ -942,12 +1103,7 @@ module Maven
|
|
942
1103
|
end
|
943
1104
|
if args.last.is_a?(Hash)
|
944
1105
|
options = args.last
|
945
|
-
|
946
|
-
options = {}
|
947
|
-
args << options
|
948
|
-
end
|
949
|
-
if options
|
950
|
-
|
1106
|
+
|
951
1107
|
# on ruby-maven side we ignore the require option
|
952
1108
|
options.delete( :require )
|
953
1109
|
options.delete( 'require' )
|
@@ -958,15 +1114,15 @@ module Maven
|
|
958
1114
|
@has_path = true
|
959
1115
|
else
|
960
1116
|
platform = options.delete( :platform ) || options.delete( 'platform' )
|
961
|
-
group = options.delete( :group ) || options.delete( 'group' ) || @group
|
962
|
-
|
1117
|
+
group = options.delete( :group ) || options.delete( 'group' ) || @group || nil
|
1118
|
+
if group
|
963
1119
|
case group.to_sym
|
964
1120
|
when :test
|
965
1121
|
options[ :scope ] = :test
|
966
1122
|
when :development
|
967
1123
|
options[ :scope ] = :provided
|
968
1124
|
end
|
969
|
-
|
1125
|
+
end
|
970
1126
|
if platform.nil? || is_jruby_platform( platform )
|
971
1127
|
options[ :version ] = '[0,)' if args.size == 2 && options[ :version ].nil? && options[ 'version' ].nil?
|
972
1128
|
do_dependency( bang, :gem, *args )
|
@@ -979,7 +1135,7 @@ module Maven
|
|
979
1135
|
end
|
980
1136
|
|
981
1137
|
def local( path, options = {} )
|
982
|
-
path = File.expand_path( path )
|
1138
|
+
path = ::File.expand_path( path )
|
983
1139
|
dependency( :jar,
|
984
1140
|
Maven::Tools::Artifact.new_local( path, :jar, options ) )
|
985
1141
|
end
|
@@ -1016,26 +1172,28 @@ module Maven
|
|
1016
1172
|
end
|
1017
1173
|
@current
|
1018
1174
|
else
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
case
|
1175
|
+
begin
|
1176
|
+
# if ( args.size > 0 &&
|
1177
|
+
# args[0].is_a?( String ) &&
|
1178
|
+
# args[0] =~ /^[${}0-9a-zA-Z._-]+(:[${}0-9a-zA-Z._-]+)+$/ ) ||
|
1179
|
+
# ( args.size == 1 && args[0].is_a?( Hash ) )
|
1180
|
+
case method.to_s[ -1 ]
|
1025
1181
|
when '?'
|
1026
|
-
dependency?( method.to_s[0..-2].to_sym, *args )
|
1182
|
+
dependency?( method.to_s[0..-2].to_sym, *args, &block )
|
1027
1183
|
when '!'
|
1028
|
-
dependency!( method.to_s[0..-2].to_sym, *args )
|
1184
|
+
dependency!( method.to_s[0..-2].to_sym, *args, &block )
|
1029
1185
|
else
|
1030
|
-
dependency( method, *args )
|
1186
|
+
dependency( method, *args, &block )
|
1031
1187
|
end
|
1032
1188
|
# elsif @current.respond_to? method
|
1033
1189
|
# @current.send( method, *args )
|
1034
1190
|
# @current
|
1035
|
-
else
|
1191
|
+
# else
|
1192
|
+
rescue => e
|
1036
1193
|
p @context
|
1037
1194
|
p m
|
1038
1195
|
p args
|
1196
|
+
raise e
|
1039
1197
|
end
|
1040
1198
|
end
|
1041
1199
|
else
|
@@ -1053,7 +1211,8 @@ module Maven
|
|
1053
1211
|
|
1054
1212
|
private
|
1055
1213
|
|
1056
|
-
def do_repository( method,
|
1214
|
+
def do_repository( method, *args, &block )
|
1215
|
+
args, options = args_and_options( *args )
|
1057
1216
|
if @current.respond_to?( method )
|
1058
1217
|
r = DeploymentRepository.new
|
1059
1218
|
else
|
@@ -1061,17 +1220,19 @@ module Maven
|
|
1061
1220
|
c = options.delete( :snapshots )
|
1062
1221
|
c = options.delete( 'snapshots' ) if c.nil?
|
1063
1222
|
unless c.nil?
|
1064
|
-
r.snapshots = repository_policy( c )
|
1223
|
+
r.snapshots = repository_policy( r.snapshots, c )
|
1065
1224
|
end
|
1066
1225
|
c = options.delete( :releases )
|
1067
1226
|
c = options.delete( 'releases' ) if c.nil?
|
1068
1227
|
unless c.nil?
|
1069
|
-
r.releases = repository_policy( c )
|
1228
|
+
r.releases = repository_policy( r.releases, c )
|
1070
1229
|
end
|
1071
1230
|
end
|
1072
|
-
|
1073
|
-
|
1231
|
+
r.id = args[ 0 ]
|
1232
|
+
r.url = args[ 1 ]
|
1233
|
+
r.name = args[ 2 ]
|
1074
1234
|
fill_options( r, options )
|
1235
|
+
nested_block( :repository, r, block ) if block
|
1075
1236
|
case method
|
1076
1237
|
when :plugin
|
1077
1238
|
@current.plugin_repositories << r
|