ivy4r 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/lib/buildr/ivy_extension.rb +29 -26
- data/lib/ivy4r.rb +1 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
=== 0.9.0 / 2009-11-16
|
2
|
+
|
3
|
+
* Add a new configuration option for compile, test and package with name 'type'. The type can
|
4
|
+
be used as defined in ivy to only get artifacts of given type(s). One or more types can be
|
5
|
+
set as an array to this option. If no type is given all artifacts are retrieved.
|
6
|
+
|
1
7
|
=== 0.8.1 / 2009-11-12
|
2
8
|
|
3
9
|
* the project version is NOT set anymore by the the 'before_define' of the extension. The reason
|
data/lib/buildr/ivy_extension.rb
CHANGED
@@ -3,32 +3,17 @@ require 'ivy4r'
|
|
3
3
|
module Buildr
|
4
4
|
module Ivy
|
5
5
|
|
6
|
-
# TODO extend extension to download ivy stuff with dependencies automatically
|
7
|
-
# VERSION = '2.1.0-rc1'
|
8
|
-
|
9
6
|
class << self
|
10
|
-
|
11
7
|
def setting(*keys)
|
12
8
|
setting = Buildr.settings.build['ivy']
|
13
9
|
keys.each { |key| setting = setting[key] unless setting.nil? }
|
14
10
|
setting
|
15
11
|
end
|
16
|
-
|
17
|
-
# def version
|
18
|
-
# setting['version'] || VERSION
|
19
|
-
# end
|
20
|
-
# def dependencies
|
21
|
-
# @dependencies ||= [
|
22
|
-
# "org.apache.ivy:ivy:jar:#{version}",
|
23
|
-
# 'com.jcraft:jsch:jar:1.41',
|
24
|
-
# 'oro:oro:jar:2.08'
|
25
|
-
# ]
|
26
|
-
# end
|
27
12
|
end
|
28
13
|
|
29
14
|
class IvyConfig
|
30
15
|
TARGETS = [:compile, :test, :package]
|
31
|
-
TYPES = [:conf, :include, :exclude]
|
16
|
+
TYPES = [:conf, :type, :include, :exclude]
|
32
17
|
|
33
18
|
attr_accessor :extension_dir, :resolved
|
34
19
|
|
@@ -83,11 +68,26 @@ module Buildr
|
|
83
68
|
|
84
69
|
# Returns the artifacts for given configurations as array
|
85
70
|
# this is a post resolve task.
|
86
|
-
|
87
|
-
|
71
|
+
# the arguments are checked for the following:
|
72
|
+
# 1. if exactly two arrays are given args[0] is used for confs and args[1] is used for types
|
73
|
+
# 2. if not exactly two arrays all args are used as confs
|
74
|
+
def deps(*args)
|
75
|
+
if args.size == 2 && args[0].kind_of?(Array) && args[1].kind_of?(Array)
|
76
|
+
confs, types = args[0], args[1]
|
77
|
+
else
|
78
|
+
confs, types = args.flatten, []
|
79
|
+
end
|
80
|
+
|
81
|
+
[confs, types].each do |t|
|
82
|
+
t.reject! {|c| c.nil? || c.blank? }
|
83
|
+
end
|
84
|
+
|
88
85
|
unless confs.empty?
|
89
|
-
pathid = "ivy.deps." + confs.join('.')
|
90
|
-
|
86
|
+
pathid = "ivy.deps." + confs.join('.') + '.' + types.join('.')
|
87
|
+
params = {:conf => confs.join(','), :pathid => pathid}
|
88
|
+
params[:type] = types.join(',') unless types.nil? || types.size == 0
|
89
|
+
|
90
|
+
ivy4r.cachepath params
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -346,12 +346,12 @@ module Buildr
|
|
346
346
|
# <tt>project.ivy.filter('server', 'client', :include => /b.*.jar/, :exclude => [/a\.jar/, /other.*\.jar/])</tt>
|
347
347
|
def filter(*confs)
|
348
348
|
filter = confs.last.kind_of?(Hash) ? confs.pop : {}
|
349
|
-
unless (filter.keys - [:
|
349
|
+
unless (filter.keys - (TYPES - [:conf])).empty?
|
350
350
|
raise ArgumentError, "Invalid filter use :include and/or :exclude only: given #{filter.keys.inspect}"
|
351
351
|
end
|
352
|
-
includes, excludes = filter[:include] || [], filter[:exclude] || []
|
352
|
+
includes, excludes, types = filter[:include] || [], filter[:exclude] || [], filter[:type] || []
|
353
353
|
|
354
|
-
artifacts = deps(
|
354
|
+
artifacts = deps(confs.flatten, types.flatten)
|
355
355
|
if artifacts
|
356
356
|
artifacts = artifacts.find_all do |lib|
|
357
357
|
lib = File.basename(lib)
|
@@ -471,8 +471,9 @@ For more configuration options see IvyConfig.
|
|
471
471
|
project.task :compiledeps => resolve_target do
|
472
472
|
includes = project.ivy.compile_include
|
473
473
|
excludes = project.ivy.compile_exclude
|
474
|
+
types = project.ivy.compile_type
|
474
475
|
confs = [project.ivy.compile_conf].flatten
|
475
|
-
if deps = project.ivy.filter(confs, :include => includes, :exclude => excludes)
|
476
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
476
477
|
project.compile.with [deps, project.compile.dependencies].flatten
|
477
478
|
info "Ivy adding compile dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
478
479
|
end
|
@@ -483,8 +484,9 @@ For more configuration options see IvyConfig.
|
|
483
484
|
project.task :testdeps => resolve_target do
|
484
485
|
includes = project.ivy.test_include
|
485
486
|
excludes = project.ivy.test_exclude
|
487
|
+
types = project.ivy.test_type
|
486
488
|
confs = [project.ivy.test_conf, project.ivy.compile_conf].flatten.uniq
|
487
|
-
if deps = project.ivy.filter(confs, :include => includes, :exclude => excludes)
|
489
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
488
490
|
project.test.with [deps, project.test.dependencies].flatten
|
489
491
|
info "Ivy adding test dependencies '#{confs.join(', ')}' to project '#{project.name}'"
|
490
492
|
end
|
@@ -523,8 +525,9 @@ For more configuration options see IvyConfig.
|
|
523
525
|
task = project.task "#{pkg.name}deps" => project.ivy.file_project.task('ivy:resolve') do
|
524
526
|
includes = project.ivy.package_include
|
525
527
|
excludes = project.ivy.package_exclude
|
528
|
+
types = project.ivy.package_type
|
526
529
|
confs = project.ivy.package_conf
|
527
|
-
if deps = project.ivy.filter(confs, :include => includes, :exclude => excludes)
|
530
|
+
if deps = project.ivy.filter(confs, :type => types, :include => includes, :exclude => excludes)
|
528
531
|
pkg.with :libs => [deps, pkg.libs].flatten
|
529
532
|
info "Adding production libs from conf '#{confs.join(', ')}' to WAR '#{pkg.name}' in project '#{project.name}'"
|
530
533
|
end
|
data/lib/ivy4r.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ivy4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Klaas Prause
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-16 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|