Antwrap 0.5.0 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/docs/index.html +8 -4
- data/lib/antwrap.rb +88 -88
- data/lib/antwrap_utilities.rb +29 -0
- data/lib/convert.rb +104 -0
- data/lib/jruby_modules.rb +0 -2
- data/lib/rjb_modules.rb +0 -4
- data/test/build.xml +15 -0
- data/test/tc_antwrap.rb +10 -4
- metadata +5 -2
data/docs/index.html
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
<html><head><title>Antwrap - Invoke Ant tasks from your JRuby
|
1
|
+
<html><head><title>Antwrap - Invoke Ant tasks from your Ruby/JRuby scripts!</title></head><body><ul>
|
2
2
|
<pre><li>Sample code of the Antwrap library looks like this;
|
3
3
|
|
4
4
|
<code lang="ruby">
|
5
5
|
#All options are optional. The defaults are as follows;
|
6
6
|
#{:name=>'', :basedir=>'.', :declarative=> true, :logger=> Logger.new(STDOUT), :loglevel=> Logger::DEBUG}
|
7
|
-
#so you can call AntProject.new() if you like.
|
7
|
+
#so you can call AntProject.new() if you like. If you specify an :ant_home property, Antwrap will load the jar files
|
8
|
+
for you dynamically. If not, it is assumed that they are in your Classpath.
|
8
9
|
|
9
|
-
@ant = AntProject.new({:
|
10
|
+
@ant = AntProject.new({:ant_home=>"/Users/fooman/tools/apache-ant-1.7.0",
|
11
|
+
:name=>"FooProject",
|
10
12
|
:basedir=> current_dir,
|
11
13
|
:declarative=> true,
|
12
14
|
:logger=> Logger.new(STDOUT),
|
@@ -88,7 +90,9 @@ underscore (see above).
|
|
88
90
|
|
89
91
|
</li>
|
90
92
|
<li>Antwrap is a Beta release. I'd love any feedback you can provide on your experence with it.
|
91
|
-
There are no 3rd party jars required other than the Ant jar files in your
|
93
|
+
There are no 3rd party jars required other than the Ant jar files in your Classpath. Antwrap will run
|
94
|
+
on both the Ruby and the JRuby platforms. The Ruby gem requires the Ruby Java Bridge (RJG) gem
|
95
|
+
in order to instantiate Java objects.
|
92
96
|
</li></pre>
|
93
97
|
|
94
98
|
</ul>
|
data/lib/antwrap.rb
CHANGED
@@ -1,48 +1,15 @@
|
|
1
|
-
# antwrap
|
1
|
+
# antwrap.rb
|
2
2
|
#
|
3
3
|
# Copyright Caleb Powell 2007
|
4
4
|
#
|
5
5
|
# Licensed under the LGPL, see the file COPYING in the distribution
|
6
6
|
#
|
7
|
-
|
8
|
-
if(RUBY_PLATFORM == 'java')
|
9
|
-
require 'jruby_modules.rb'
|
10
|
-
else
|
11
|
-
require 'rjb_modules.rb'
|
12
|
-
end
|
7
|
+
require 'antwrap_utilities'
|
13
8
|
|
14
9
|
class AntTask
|
15
|
-
private
|
16
10
|
@@task_stack = Array.new
|
17
11
|
attr_accessor(:unknown_element, :project, :taskname, :logger, :executed)
|
18
12
|
|
19
|
-
def create_unknown_element(project, taskname)
|
20
|
-
|
21
|
-
element = ApacheAnt::UnknownElement.new(taskname)
|
22
|
-
element.setProject(project)
|
23
|
-
element.setOwningTarget(ApacheAnt::Target.new())
|
24
|
-
element.setTaskName(taskname)
|
25
|
-
|
26
|
-
if(@project_wrapper.ant_version >= 1.6)
|
27
|
-
element.setTaskType(taskname)
|
28
|
-
element.setNamespace('')
|
29
|
-
element.setQName(taskname)
|
30
|
-
end
|
31
|
-
|
32
|
-
return element
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
def method_missing(sym, *args)
|
37
|
-
begin
|
38
|
-
@logger.debug("AntTask.method_missing sym[#{sym.to_s}]")
|
39
|
-
task = AntTask.new(sym.to_s, @project_wrapper, args[0], block_given? ? Proc.new : nil)
|
40
|
-
self.add(task)
|
41
|
-
rescue StandardError
|
42
|
-
@logger.error("AntTask.method_missing error:" + $!)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
13
|
public
|
47
14
|
def initialize(taskname, antProject, attributes, proc)
|
48
15
|
taskname = taskname[1, taskname.length-1] if taskname[0,1] == "_"
|
@@ -54,10 +21,10 @@ class AntTask
|
|
54
21
|
@unknown_element = create_unknown_element(@project, taskname)
|
55
22
|
@logger.debug(to_s)
|
56
23
|
|
57
|
-
|
24
|
+
add_attributes(attributes)
|
58
25
|
|
59
26
|
if proc
|
60
|
-
|
27
|
+
@logger.debug("task_stack.push #{taskname} >> #{@@task_stack}")
|
61
28
|
@@task_stack.push self
|
62
29
|
|
63
30
|
singleton_class = class << proc; self; end
|
@@ -72,10 +39,44 @@ class AntTask
|
|
72
39
|
|
73
40
|
end
|
74
41
|
|
42
|
+
def to_s
|
43
|
+
return self.class.name + "[#{@taskname}]"
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
def create_unknown_element(project, taskname)
|
48
|
+
|
49
|
+
element = ApacheAnt::UnknownElement.new(taskname)
|
50
|
+
element.setProject(project)
|
51
|
+
element.setOwningTarget(ApacheAnt::Target.new())
|
52
|
+
element.setTaskName(taskname)
|
53
|
+
|
54
|
+
#DNR. This initializes the Task's Wrapper object and prevents NullPointerExeption upon execution of the task
|
55
|
+
element.getRuntimeConfigurableWrapper()
|
56
|
+
|
57
|
+
if(@project_wrapper.ant_version >= 1.6)
|
58
|
+
element.setTaskType(taskname)
|
59
|
+
element.setNamespace('')
|
60
|
+
element.setQName(taskname)
|
61
|
+
end
|
62
|
+
|
63
|
+
return element
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
def method_missing(sym, *args)
|
68
|
+
begin
|
69
|
+
@logger.debug("AntTask.method_missing sym[#{sym.to_s}]")
|
70
|
+
task = AntTask.new(sym.to_s, @project_wrapper, args[0], block_given? ? Proc.new : nil)
|
71
|
+
self.add(task)
|
72
|
+
rescue StandardError
|
73
|
+
@logger.error("AntTask.method_missing error:" + $!)
|
74
|
+
end
|
75
|
+
end
|
75
76
|
|
76
77
|
# Sets each attribute on the AntTask instance.
|
77
78
|
# :attributes - is a Hash.
|
78
|
-
def
|
79
|
+
def add_attributes(attributes)
|
79
80
|
|
80
81
|
return if attributes == nil
|
81
82
|
|
@@ -99,14 +100,10 @@ class AntTask
|
|
99
100
|
|
100
101
|
#Add <em>child</em> as a child of this task.
|
101
102
|
def add(child)
|
102
|
-
|
103
|
-
@unknown_element.addChild(child.
|
104
|
-
@unknown_element.getRuntimeConfigurableWrapper().addChild(child.getUnknownElement().getRuntimeConfigurableWrapper())
|
105
|
-
end
|
106
|
-
|
107
|
-
def getUnknownElement
|
108
|
-
return @unknown_element
|
103
|
+
@unknown_element.addChild(child.unknown_element())
|
104
|
+
@unknown_element.getRuntimeConfigurableWrapper().addChild(child.unknown_element().getRuntimeConfigurableWrapper())
|
109
105
|
end
|
106
|
+
|
110
107
|
#Invokes the AntTask.
|
111
108
|
def execute
|
112
109
|
@unknown_element.maybeConfigure
|
@@ -114,24 +111,41 @@ class AntTask
|
|
114
111
|
@executed = true
|
115
112
|
end
|
116
113
|
|
117
|
-
def to_s
|
118
|
-
return self.class.name + "[#{@taskname}]"
|
119
|
-
end
|
120
|
-
|
121
114
|
end
|
122
115
|
|
123
116
|
class AntProject
|
124
117
|
require 'logger'
|
118
|
+
|
119
|
+
private
|
120
|
+
@@classes_loaded = false
|
121
|
+
|
122
|
+
def init_project(options)
|
123
|
+
@project= ApacheAnt::Project.new
|
124
|
+
@project.setName(options[:name] || '')
|
125
|
+
@project.setDefault('')
|
126
|
+
@project.setBasedir(options[:basedir] || '.')
|
127
|
+
@project.init
|
128
|
+
self.declarative= options[:declarative] || true
|
129
|
+
default_logger = ApacheAnt::DefaultLogger.new
|
130
|
+
default_logger.setMessageOutputLevel(2)
|
131
|
+
default_logger.setOutputPrintStream(options[:outputstr] || JavaLang::System.out)
|
132
|
+
default_logger.setErrorPrintStream(options[:errorstr] || JavaLang::System.err)
|
133
|
+
default_logger.setEmacsMode(false)
|
134
|
+
@project.addBuildListener(default_logger)
|
135
|
+
end
|
136
|
+
|
137
|
+
public
|
125
138
|
attr :project, false
|
126
|
-
attr :
|
127
|
-
|
128
|
-
attr :declarative, true
|
129
|
-
attr :logger, true
|
139
|
+
attr :ant_version, false
|
140
|
+
attr_accessor(:declarative, :logger)
|
130
141
|
|
131
142
|
# Create an AntProject. Parameters are specified via a hash:
|
143
|
+
# :ant_home=><em>Ant basedir</em>
|
144
|
+
# -A String indicating the location of the ANT_HOME directory. If provided, Antwrap will
|
145
|
+
# load the classes from the ANT_HOME/lib dir. If ant_home is not provided, the Ant jar files
|
146
|
+
# must be available in the CLASSPATH.
|
132
147
|
# :name=><em>project_name</em>
|
133
|
-
# -A String indicating the name of this project.
|
134
|
-
# 'name' attrbute on an Ant project.
|
148
|
+
# -A String indicating the name of this project.
|
135
149
|
# :basedir=><em>project_basedir</em>
|
136
150
|
# -A String indicating the basedir of this project. Corresponds to the 'basedir' attribute
|
137
151
|
# on an Ant project.
|
@@ -150,49 +164,41 @@ class AntProject
|
|
150
164
|
# :loglevel=><em>The level to set the logger to</em>
|
151
165
|
# -Defaults to Logger::ERROR
|
152
166
|
def initialize(options=Hash.new)
|
153
|
-
|
154
|
-
@project.setName(options[:name] || '')
|
155
|
-
@project.setDefault('')
|
156
|
-
@project.setBasedir(options[:basedir] || '.')
|
157
|
-
@project.init
|
158
|
-
self.declarative= options[:declarative] || true
|
159
|
-
default_logger = ApacheAnt::DefaultLogger.new
|
160
|
-
default_logger.setMessageOutputLevel(2)
|
161
|
-
default_logger.setOutputPrintStream(options[:outputstr] || JavaLang::System.out)
|
162
|
-
default_logger.setErrorPrintStream(options[:errorstr] || JavaLang::System.err)
|
163
|
-
default_logger.setEmacsMode(false)
|
164
|
-
@project.addBuildListener(default_logger)
|
165
|
-
@version = ApacheAnt::Main.getAntVersion
|
166
|
-
@ant_version = @version[/\d\.\d\.\d/].to_f
|
167
|
+
|
167
168
|
@logger = options[:logger] || Logger.new(STDOUT)
|
168
169
|
@logger.level = options[:loglevel] || Logger::ERROR
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
170
|
+
|
171
|
+
if(!@@classes_loaded && options[:ant_home])
|
172
|
+
@logger.debug("loading ant jar files. Ant_Home: #{options[:ant_home]}")
|
173
|
+
AntwrapClassLoader.load_ant_libs(options[:ant_home])
|
174
|
+
@@classes_loaded = true
|
175
|
+
end
|
176
|
+
|
177
|
+
@logger.debug(ApacheAnt::Main.getAntVersion())
|
178
|
+
@ant_version = ApacheAnt::Main.getAntVersion()[/\d\.\d\.\d/].to_f
|
179
|
+
|
180
|
+
init_project(options)
|
181
|
+
|
179
182
|
end
|
180
183
|
|
181
184
|
def method_missing(sym, *args)
|
182
185
|
begin
|
183
186
|
@logger.debug("AntProject.method_missing sym[#{sym.to_s}]")
|
184
|
-
|
187
|
+
task = AntTask.new(sym.to_s, self, args[0], block_given? ? Proc.new : nil)
|
188
|
+
task.execute if declarative
|
189
|
+
return task
|
185
190
|
rescue
|
186
191
|
@logger.error("Error instantiating task[#{sym.to_s}]" + $!)
|
192
|
+
throw $!
|
187
193
|
end
|
188
194
|
end
|
189
195
|
|
190
|
-
#The Ant Project's name. Default is ''
|
196
|
+
#The Ant Project's name. Default is ''
|
191
197
|
def name()
|
192
198
|
return @project.getName
|
193
199
|
end
|
194
200
|
|
195
|
-
#The Ant Project's basedir. Default is '.'
|
201
|
+
#The Ant Project's basedir. Default is '.'
|
196
202
|
def basedir()
|
197
203
|
return @project.getBaseDir().getAbsolutePath();
|
198
204
|
end
|
@@ -200,11 +206,5 @@ class AntProject
|
|
200
206
|
def to_s
|
201
207
|
return self.class.name + "[#{@project.getName()}]"
|
202
208
|
end
|
203
|
-
|
204
|
-
#This method invokes create_task. It is here to prevent conflicts wth the JRuby library
|
205
|
-
#over the 'java' symbol.
|
206
|
-
def java(attributes=Hash.new)
|
207
|
-
create_task('java', attributes, (block_given? ? Proc.new : nil))
|
208
|
-
end
|
209
209
|
|
210
210
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
if(RUBY_PLATFORM == 'java')
|
2
|
+
require 'java'
|
3
|
+
autoload :ApacheAnt, 'jruby_modules.rb'
|
4
|
+
autoload :JavaLang, 'jruby_modules.rb'
|
5
|
+
else
|
6
|
+
require 'rubygems'
|
7
|
+
require 'rjb'
|
8
|
+
autoload :ApacheAnt, 'rjb_modules.rb'
|
9
|
+
autoload :JavaLang, 'rjb_modules.rb'
|
10
|
+
end
|
11
|
+
|
12
|
+
module AntwrapClassLoader
|
13
|
+
require 'find'
|
14
|
+
def match(*paths)
|
15
|
+
matched=[]
|
16
|
+
Find.find(*paths){ |path| matched << path if yield path }
|
17
|
+
return matched
|
18
|
+
end
|
19
|
+
|
20
|
+
def load_ant_libs(ant_home)
|
21
|
+
jars = match(ant_home + '/lib') {|p| ext = p[-4...p.size]; ext && ext.downcase == '.jar'}
|
22
|
+
if(RUBY_PLATFORM == 'java')
|
23
|
+
jars.each {|jar| require jar }
|
24
|
+
else
|
25
|
+
Rjb::load(jars.join(":"), [])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
module_function :match, :load_ant_libs
|
29
|
+
end
|
data/lib/convert.rb
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
# antwrap
|
2
|
+
#
|
3
|
+
# Copyright Caleb Powell 2007
|
4
|
+
#
|
5
|
+
# Licensed under the LGPL, see the file COPYING in the distribution
|
6
|
+
#
|
7
|
+
require 'rexml/document'
|
8
|
+
|
9
|
+
if ARGV.empty?
|
10
|
+
puts "Usage: #{$0} [antfile] [rakefile]"
|
11
|
+
exit! 1
|
12
|
+
end
|
13
|
+
|
14
|
+
@antfile = File.open(ARGV[0])
|
15
|
+
@rakefile = File.new(ARGV[1], 'w+')
|
16
|
+
@@reserved_words = ['alias', 'and', 'BEGIN', 'begin', 'break', 'case', 'class',
|
17
|
+
'def', 'defined', 'do', 'else', 'elsif', 'END', 'end', 'ensure',
|
18
|
+
'false', 'for', 'if', 'in', 'module', 'next', 'nil', 'not', 'or',
|
19
|
+
'redo', 'rescue', 'retry', 'return', 'self', 'super', 'then', 'true',
|
20
|
+
'undef', 'unless', 'until', 'when', 'while', 'yield', 'java']
|
21
|
+
|
22
|
+
xml = REXML::Document.new(@antfile)
|
23
|
+
|
24
|
+
puts "Converting from Ant build script[#{@antfile.path}] == to ==> \n Rakefile[#{@rakefile.path}]"
|
25
|
+
|
26
|
+
def create_symbol(str)
|
27
|
+
str = rubyize(str)
|
28
|
+
return str.gsub(/(\w*[^,\s])/, ':\1')
|
29
|
+
end
|
30
|
+
|
31
|
+
def rubyize(str)
|
32
|
+
if (str == nil)
|
33
|
+
str = ''
|
34
|
+
elsif (@@reserved_words.index(str) != nil)
|
35
|
+
str = '_' + str
|
36
|
+
else
|
37
|
+
str = str.gsub(/(\w*)[\-|\.](\w*)/, '\1_\2')
|
38
|
+
end
|
39
|
+
return str
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
@rakefile.print "require_gem 'Antwrap'\n"
|
44
|
+
@rakefile.print "@ant = AntProject.new()\n"
|
45
|
+
@one_tab= ' '
|
46
|
+
def print_task(task, tab=@one_tab, prefix='')
|
47
|
+
task_name = rubyize(task.name)
|
48
|
+
@rakefile.print "#{tab}#{prefix}#{task_name}("
|
49
|
+
|
50
|
+
if(task_name == 'macrodef')
|
51
|
+
task.attributes['name'] = rubyize(task.attributes['name'])
|
52
|
+
elsif(task_name == 'java')
|
53
|
+
task_name = 'jvm'
|
54
|
+
end
|
55
|
+
|
56
|
+
isFirst = true;
|
57
|
+
task.attributes.each do |key, value|
|
58
|
+
if !isFirst
|
59
|
+
@rakefile.print(",\n#{tab+@one_tab}")
|
60
|
+
end
|
61
|
+
@rakefile.print ":#{key} => \"#{value}\""
|
62
|
+
isFirst = false;
|
63
|
+
end
|
64
|
+
|
65
|
+
if task.has_text?
|
66
|
+
pcdata = task.texts().join
|
67
|
+
if(pcdata.strip() != '')
|
68
|
+
@rakefile.print ":pcdata => \"#{pcdata}\""
|
69
|
+
end
|
70
|
+
end
|
71
|
+
@rakefile.print ")"
|
72
|
+
|
73
|
+
|
74
|
+
if task.elements.size > 0
|
75
|
+
@rakefile.print "{"
|
76
|
+
task.elements.each do |child|
|
77
|
+
@rakefile.print "\n"
|
78
|
+
print_task(child, (tab+@one_tab), '')
|
79
|
+
end
|
80
|
+
@rakefile.print "\n#{tab}}"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
xml.elements.each("/project/*") do |node|
|
85
|
+
if node.name != 'target'
|
86
|
+
print_task(node, '', '@ant.')
|
87
|
+
@rakefile.print "\n\n"
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
xml.elements.each("/project/target") do |node|
|
92
|
+
|
93
|
+
task = "\ntask " + create_symbol(node.attributes['name']) +
|
94
|
+
" => [" + create_symbol(node.attributes['depends']) + "] do\n"
|
95
|
+
|
96
|
+
@rakefile.print task
|
97
|
+
|
98
|
+
node.elements.each do |child|
|
99
|
+
print_task(child, @one_tab, '@ant.')
|
100
|
+
@rakefile.print "\n"
|
101
|
+
end
|
102
|
+
@rakefile.print "end\n"
|
103
|
+
end
|
104
|
+
|
data/lib/jruby_modules.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
module ApacheAnt
|
2
|
-
require 'java'
|
3
2
|
include_class "org.apache.tools.ant.DefaultLogger"
|
4
3
|
include_class "org.apache.tools.ant.Main"
|
5
4
|
include_class "org.apache.tools.ant.Project"
|
@@ -9,6 +8,5 @@ module ApacheAnt
|
|
9
8
|
end
|
10
9
|
|
11
10
|
module JavaLang
|
12
|
-
require 'java'
|
13
11
|
include_class "java.lang.System"
|
14
12
|
end
|
data/lib/rjb_modules.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
module ApacheAnt
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rjb'
|
4
2
|
DefaultLogger = Rjb::import("org.apache.tools.ant.DefaultLogger")
|
5
3
|
Main = Rjb::import("org.apache.tools.ant.Main")
|
6
4
|
Project = Rjb::import("org.apache.tools.ant.Project")
|
@@ -10,7 +8,5 @@ module ApacheAnt
|
|
10
8
|
end
|
11
9
|
|
12
10
|
module JavaLang
|
13
|
-
require 'rubygems'
|
14
|
-
require 'rjb'
|
15
11
|
System = Rjb::import("java.lang.System")
|
16
12
|
end
|
data/test/build.xml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
<project name="antwrap" default="run-java" basedir=".">
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
<target name="run-java" description="Antwrap: run a trivial Java class">
|
6
|
+
<java classpath="output/classes:test-resources/parent.jar" classname="foo.bar.FooBar" fork="true">
|
7
|
+
<jvmarg value="-Dantwrap=coolio"/>
|
8
|
+
<arg value="argOne"/>
|
9
|
+
<arg value="argTwo"/>
|
10
|
+
</java>
|
11
|
+
</target>
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
</project>
|
data/test/tc_antwrap.rb
CHANGED
@@ -32,16 +32,19 @@ class TestAntwrap < Test::Unit::TestCase
|
|
32
32
|
|
33
33
|
def setup
|
34
34
|
@current_dir = ENV['PWD']
|
35
|
+
@output_dir = @current_dir + '/test/output'
|
36
|
+
@resource_dir = @current_dir + '/test/test-resources'
|
37
|
+
@ant_home = @resource_dir + "/apache-ant-1.7.0"
|
38
|
+
# @ant_home = "/Users/caleb/tools/apache-ant-1.6.5"
|
39
|
+
# @ant_home = "/Users/caleb/tools/apache-ant-1.5.4"
|
35
40
|
@ant_proj_props = {:name=>"testProject", :basedir=>@current_dir, :declarative=>true,
|
36
|
-
:logger=>Logger.new(STDOUT), :loglevel=>Logger::DEBUG}
|
41
|
+
:logger=>Logger.new(STDOUT), :loglevel=>Logger::DEBUG, :ant_home => @ant_home}
|
37
42
|
@ant = AntProject.new(@ant_proj_props)
|
38
43
|
assert(@ant_proj_props[:name] == @ant.name())
|
39
44
|
|
40
45
|
assert(@ant_proj_props[:basedir] == @ant.basedir())
|
41
46
|
assert(@ant_proj_props[:declarative] == @ant.declarative())
|
42
47
|
|
43
|
-
@output_dir = @current_dir + '/test/output'
|
44
|
-
@resource_dir = @current_dir + '/test/test-resources'
|
45
48
|
|
46
49
|
if File.exists?(@output_dir)
|
47
50
|
FileUtils.remove_dir(@output_dir)
|
@@ -221,7 +224,7 @@ class TestAntwrap < Test::Unit::TestCase
|
|
221
224
|
|
222
225
|
def test_ant_contrib
|
223
226
|
|
224
|
-
return if @ant.ant_version < 1.6
|
227
|
+
return if @ant.ant_version() < 1.6
|
225
228
|
|
226
229
|
@ant.taskdef(:resource => "net/sf/antcontrib/antlib.xml")
|
227
230
|
|
@@ -249,6 +252,9 @@ class TestAntwrap < Test::Unit::TestCase
|
|
249
252
|
|
250
253
|
end
|
251
254
|
|
255
|
+
def test_tstamp
|
256
|
+
@ant.tstamp
|
257
|
+
end
|
252
258
|
private
|
253
259
|
def assert_exists(file_path)
|
254
260
|
assert(File.exists?(file_path), "Does not exist[#{file_path}]")
|
metadata
CHANGED
@@ -3,8 +3,8 @@ 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.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.5.2
|
7
|
+
date: 2007-04-17
|
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."
|
10
10
|
require_paths:
|
@@ -29,8 +29,11 @@ authors:
|
|
29
29
|
- Caleb Powell
|
30
30
|
files:
|
31
31
|
- lib/antwrap.rb
|
32
|
+
- lib/antwrap_utilities.rb
|
33
|
+
- lib/convert.rb
|
32
34
|
- lib/jruby_modules.rb
|
33
35
|
- lib/rjb_modules.rb
|
36
|
+
- test/build.xml
|
34
37
|
- test/output
|
35
38
|
- test/tc_antwrap.rb
|
36
39
|
- test/tc_convert.rb
|