ivy4r 0.10.5 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/README.txt +22 -0
- data/lib/buildr/ivy_extension.rb +19 -14
- data/lib/ivy/target.rb +17 -2
- data/lib/ivy4r.rb +1 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
=== 0.11.0 / 2010-05-31
|
2
|
+
* Fixed a few bugs and issues reported by Rhett Sutphin. See issues on github 3-6.
|
3
|
+
* Ivy4r should work with MRI and JRuby, previously only JRuby was supported.
|
4
|
+
* The multi ivy.xml file support should work now.
|
5
|
+
|
1
6
|
=== 0.10.5 / 2010-04-26
|
2
7
|
* Fix a bug where artifacts for sub-projects have not been copied correctly to the publish directory
|
3
8
|
defined for ivy.
|
data/README.txt
CHANGED
@@ -57,19 +57,41 @@ the variable "ivy: caching.enabled: true".
|
|
57
57
|
For Rake the targets ivy:enable_result_cache, ivy:disable_result_cache and ivy:clean_result_cache have been added as
|
58
58
|
well. For Rake there is no other way to enable the caching beside this targets.
|
59
59
|
|
60
|
+
== Notes about usage and testing:
|
61
|
+
A few information how this project is used and what parts are well tested and what parts are nearly never used.
|
62
|
+
|
63
|
+
=== Buildr extension:
|
64
|
+
The buildr extension is tested only on projects with a single ivy.xml, the multi ivy.xml file support was added
|
65
|
+
but was never tested extensively!
|
66
|
+
|
67
|
+
=== Rake extension:
|
68
|
+
Note that the rake extension is only test in JRuby Rails projects to publish a java WAR file into the repository.
|
69
|
+
It does not offer as many features as the buildr extension.
|
70
|
+
|
60
71
|
== SYNOPSIS:
|
61
72
|
|
73
|
+
ivy4r plain:
|
62
74
|
To init a new Ivy4r instance set the ANT_HOME and the Ivy lib dir
|
63
75
|
ivy4r = Ivy4r.new
|
64
76
|
ivy4r.ant_home = 'PATH TO YOUR ANTHOME'
|
65
77
|
ivy4r.lib_dir = 'PATH TO IVY LIB DIR'
|
66
78
|
as an alternative to setting the ANT_HOME you can set an +Antwrap+ instance directly:
|
67
79
|
ivy4r.ant = Buildr.ant('ivy')
|
80
|
+
|
81
|
+
buildr:
|
82
|
+
TODO add buildr example
|
83
|
+
|
84
|
+
rake:
|
85
|
+
TODO add rake example
|
68
86
|
|
69
87
|
== REQUIREMENTS:
|
70
88
|
|
89
|
+
Plain ivy4r:
|
71
90
|
* Installed Apache Ant, to call Ivy via Antwrap
|
72
91
|
* Ivy and dependencies in a single directory. Dependencies depends on used features, see the ivy homepage for more information.
|
92
|
+
* JRuby is well tested, MRI support has been added with version 0.11.0 so use it at your own risk.
|
93
|
+
* Rake to use the rake extension
|
94
|
+
* Buildr to use the buildr extension
|
73
95
|
|
74
96
|
== INSTALL:
|
75
97
|
|
data/lib/buildr/ivy_extension.rb
CHANGED
@@ -35,24 +35,22 @@ module Buildr
|
|
35
35
|
# Store the current project and initialize ivy ant wrapper
|
36
36
|
def initialize(project)
|
37
37
|
@project = project
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
else
|
42
|
-
@extension_dir = @project.parent.ivy.extension_dir
|
43
|
-
@base_ivy = @project.parent.ivy unless own_file?
|
44
|
-
end
|
38
|
+
@post_resolve_task_list = []
|
39
|
+
@extension_dir = project.parent.nil? ? @project.base_dir : @project.parent.ivy.extension_dir
|
40
|
+
@base_ivy = @project.parent.ivy unless own_file?
|
45
41
|
@target_config = Hash.new do
|
46
42
|
|hash, key| hash[key] = {}
|
47
43
|
end
|
44
|
+
|
48
45
|
end
|
49
46
|
|
50
47
|
def enabled?
|
51
|
-
|
48
|
+
setting = Ivy.setting('enabled')
|
49
|
+
@enabled ||= setting.nil? ? true : setting
|
52
50
|
end
|
53
51
|
|
54
52
|
def own_file?
|
55
|
-
@own_file ||= File.exists?(
|
53
|
+
@own_file ||= File.exists?(file)
|
56
54
|
end
|
57
55
|
|
58
56
|
# Returns the correct ivy4r instance to use, if project has its own ivy file uses the ivy file
|
@@ -160,7 +158,7 @@ module Buildr
|
|
160
158
|
@base_ivy.__resolve__
|
161
159
|
else
|
162
160
|
unless @resolved
|
163
|
-
@resolved = ivy4r.resolve :file => file
|
161
|
+
@resolved = ivy4r.resolve :file => file
|
164
162
|
@project.send(:info, "Calling '#{post_resolve_tasks.size}' post_resolve tasks for '#{@project.name}'")
|
165
163
|
post_resolve_tasks.each { |p| p.call(self) }
|
166
164
|
end
|
@@ -197,8 +195,8 @@ module Buildr
|
|
197
195
|
@base_ivy.__publish__
|
198
196
|
else
|
199
197
|
unless @published
|
200
|
-
|
201
|
-
options = publish_options *
|
198
|
+
base_options = {:status => status, :pubrevision => revision, :artifactspattern => "#{publish_from}/[artifact].[ext]"}
|
199
|
+
options = publish_options * base_options
|
202
200
|
ivy4r.publish options
|
203
201
|
@published = true
|
204
202
|
end
|
@@ -217,10 +215,17 @@ module Buildr
|
|
217
215
|
@settings ||= Ivy.setting('settings.file') || "#{@extension_dir}/ant-scripts/ivysettings.xml"
|
218
216
|
end
|
219
217
|
|
220
|
-
|
218
|
+
# The basic file name to use in project dir as ivy.xml file. Normally this should be __ivy.xml__
|
219
|
+
# If the file resides in a sub directory the relative path from project can be set with this method
|
220
|
+
def ivy_xml_filename
|
221
221
|
@ivy_file ||= Ivy.setting('ivy.file') || 'ivy.xml'
|
222
222
|
end
|
223
223
|
|
224
|
+
# Returns the absolute ivy file path to use
|
225
|
+
def file
|
226
|
+
@project.path_to(ivy_xml_filename)
|
227
|
+
end
|
228
|
+
|
224
229
|
# Sets the revision to use for the project, this is useful for development revisions that
|
225
230
|
# have an appended timestamp or any other dynamic revisioning.
|
226
231
|
#
|
@@ -284,7 +289,7 @@ module Buildr
|
|
284
289
|
if @publish_options_calc
|
285
290
|
@publish_options ||= @publish_options_calc.call(self)
|
286
291
|
else
|
287
|
-
@publish_options ||= Ivy.setting('publish.options')
|
292
|
+
@publish_options ||= Ivy.setting('publish.options') || {}
|
288
293
|
end
|
289
294
|
else
|
290
295
|
raise "Could not set 'publish_options' for '#{@project.name}' without own ivy file!" unless own_file?
|
data/lib/ivy/target.rb
CHANGED
@@ -137,14 +137,29 @@ module Ivy
|
|
137
137
|
end
|
138
138
|
|
139
139
|
def ant_properties
|
140
|
-
@ant.project.properties
|
140
|
+
p = @ant.project.properties
|
141
|
+
p.respond_to?(:map) ? p : java_map_to_ruby_hash(p)
|
141
142
|
end
|
142
143
|
|
143
144
|
def ant_references
|
144
|
-
@ant.project.references
|
145
|
+
r = @ant.project.references
|
146
|
+
r.respond_to?(:map) ? r : java_map_to_ruby_hash(r)
|
147
|
+
end
|
148
|
+
|
149
|
+
private
|
150
|
+
def java_map_to_ruby_hash(java_map)
|
151
|
+
iterator = java_map.entry_set.iterator
|
152
|
+
result = {}
|
153
|
+
while iterator.has_next
|
154
|
+
entry = iterator.next
|
155
|
+
result[entry.key.to_string] = entry.value.to_string
|
156
|
+
end
|
157
|
+
result
|
145
158
|
end
|
146
159
|
end
|
147
160
|
|
161
|
+
|
162
|
+
|
148
163
|
COMMA_SPLITTER = Proc.new {|value| value.to_s.split(',').map(&:strip)}
|
149
164
|
|
150
165
|
Parameter = Struct.new(:symbol, :mandatory) do
|
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.11.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: 2010-
|
12
|
+
date: 2010-05-31 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|