Antwrap 0.5.3 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/antwrap.rb +10 -6
- data/test/tc_antwrap.rb +7 -0
- metadata +1 -1
data/lib/antwrap.rb
CHANGED
@@ -35,6 +35,7 @@ class AntTask
|
|
35
35
|
end
|
36
36
|
}
|
37
37
|
proc.instance_eval &proc
|
38
|
+
|
38
39
|
@@task_stack.pop
|
39
40
|
end
|
40
41
|
|
@@ -65,7 +66,7 @@ class AntTask
|
|
65
66
|
|
66
67
|
end
|
67
68
|
|
68
|
-
def
|
69
|
+
def send(sym, *args)
|
69
70
|
begin
|
70
71
|
@logger.debug("AntTask.method_missing sym[#{sym.to_s}]")
|
71
72
|
task = AntTask.new(sym.to_s, @project_wrapper, args[0], block_given? ? Proc.new : nil)
|
@@ -85,27 +86,30 @@ class AntTask
|
|
85
86
|
|
86
87
|
if(@project_wrapper.ant_version >= 1.6)
|
87
88
|
attributes.each do |key, val|
|
88
|
-
apply_to_wrapper(wrapper, key.to_s, val
|
89
|
+
apply_to_wrapper(wrapper, key.to_s, val){ |k,v| wrapper.setAttribute(k, v)}
|
89
90
|
end
|
90
91
|
else
|
91
92
|
@unknown_element.setRuntimeConfigurableWrapper(wrapper)
|
92
93
|
attribute_list = XmlSax::AttributeListImpl.new()
|
93
94
|
attributes.each do |key, val|
|
94
|
-
apply_to_wrapper(wrapper, key.to_s, val
|
95
|
+
apply_to_wrapper(wrapper, key.to_s, val){ |k,v| attribute_list.addAttribute(k, 'CDATA', v)}
|
95
96
|
end
|
96
97
|
wrapper.setAttributes(attribute_list)
|
97
98
|
end
|
98
99
|
end
|
99
100
|
|
100
101
|
def apply_to_wrapper(wrapper, key, value)
|
102
|
+
|
103
|
+
raise ArgumentError, "ArgumentError: You cannot use an Array as an argument. Use the :join method instead; i.e ['file1', 'file2'].join(File::PATH_SEPARATOR)." if value.is_a?(Array)
|
104
|
+
|
101
105
|
begin
|
102
106
|
if(key == 'pcdata')
|
103
|
-
wrapper.addText(value)
|
107
|
+
wrapper.addText(value.to_s)
|
104
108
|
else
|
105
|
-
yield key, value
|
109
|
+
yield key, value.to_s
|
106
110
|
end
|
107
111
|
rescue StandardError
|
108
|
-
raise ArgumentError, "Unable to set :#{key} attribute with value => '#{value}'"
|
112
|
+
raise ArgumentError, "ArgumentError: Unable to set :#{key} attribute with value => '#{value}'"
|
109
113
|
end
|
110
114
|
end
|
111
115
|
|
data/test/tc_antwrap.rb
CHANGED
@@ -227,6 +227,13 @@ class TestAntwrap < Test::Unit::TestCase
|
|
227
227
|
@ant.tstamp
|
228
228
|
end
|
229
229
|
|
230
|
+
def test_array_argument
|
231
|
+
begin
|
232
|
+
@ant.echo(:message => ['This', 'should', 'fail', 'because', 'Arrays', 'are', 'not', 'supported'])
|
233
|
+
add_failure "Arrays not permitted"
|
234
|
+
rescue ArgumentError
|
235
|
+
end
|
236
|
+
end
|
230
237
|
# def test_open_pja
|
231
238
|
# @ant.taskdef(:name=>"mappingtool", :classname=>"org.apache.openjpa.jdbc.ant.MappingToolTask")
|
232
239
|
#
|
metadata
CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.8.10
|
|
3
3
|
specification_version: 1
|
4
4
|
name: Antwrap
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.
|
6
|
+
version: 0.5.4
|
7
7
|
date: 2007-06-13
|
8
8
|
summary: "A Ruby module that wraps the Apache Ant build tool, enabling Ant Tasks to be
|
9
9
|
invoked from a Ruby/JRuby scripts."
|