jruby-win32ole 0.8.0
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/.gitignore +7 -0
- data/Gemfile +4 -0
- data/README +0 -0
- data/Rakefile +8 -0
- data/VERSION +1 -0
- data/bin/make_data.rb +12 -0
- data/bin/sample +11 -0
- data/build.xml +74 -0
- data/jruby-win32ole.gemspec +21 -0
- data/lib/jruby-win32ole.rb +39 -0
- data/lib/jruby-win32ole/version.rb +5 -0
- data/lib/racob-x64.dll +0 -0
- data/lib/racob-x86.dll +0 -0
- data/lib/racob.jar +0 -0
- data/lib/win32ole/utils.rb +230 -0
- data/lib/win32ole/win32ole.jar +0 -0
- data/lib/win32ole/win32ole_error.rb +13 -0
- data/lib/win32ole/win32ole_event.rb +38 -0
- data/lib/win32ole/win32ole_method.rb +135 -0
- data/lib/win32ole/win32ole_param.rb +45 -0
- data/lib/win32ole/win32ole_ruby.rb +115 -0
- data/lib/win32ole/win32ole_type.rb +148 -0
- data/lib/win32ole/win32ole_typelib.rb +76 -0
- data/lib/win32ole/win32ole_variable.rb +41 -0
- data/lib/win32ole/win32ole_variant.rb +52 -0
- data/nbproject/build-impl.xml +800 -0
- data/nbproject/genfiles.properties +8 -0
- data/nbproject/private/config.properties +0 -0
- data/nbproject/private/private.properties +8 -0
- data/nbproject/private/private.xml +4 -0
- data/nbproject/project.properties +71 -0
- data/nbproject/project.xml +14 -0
- data/samples/browser_connect.rb +10 -0
- data/samples/const_load.rb +10 -0
- data/samples/dir_enum_bench.rb +24 -0
- data/samples/dispatch_bench.rb +44 -0
- data/samples/file_system_object.rb +7 -0
- data/samples/fs.rb +50 -0
- data/samples/ie_plus_events.rb +45 -0
- data/samples/ie_simple.rb +20 -0
- data/samples/ie_simple_clsid.rb +13 -0
- data/samples/sbem.rb +11 -0
- data/samples/small_enum_bench.rb +126 -0
- data/src/org/jruby/ext/win32ole/RubyInvocationProxy.java +34 -0
- data/src/org/jruby/ext/win32ole/RubyWIN32OLE.java +278 -0
- data/src/win32ole/Win32oleService.java +29 -0
- metadata +113 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'win32/registry'
|
2
|
+
|
3
|
+
class WIN32OLE_TYPELIB
|
4
|
+
attr_reader :typelib
|
5
|
+
attr_reader :name
|
6
|
+
alias :to_s :name
|
7
|
+
|
8
|
+
def initialize(*args)
|
9
|
+
# TODO: Make this work internally and externally API w/ regards to inargs
|
10
|
+
if args.length == 2
|
11
|
+
@typelib, @name = *args
|
12
|
+
puts "NO TYPELIB! for #{@name} #{@version}" unless @typelib
|
13
|
+
elsif args.length == 1
|
14
|
+
@name = args[0]
|
15
|
+
@typelib = search_registry(@name) # TODO: Missing search_registry2
|
16
|
+
# puts "NAME IS #{@name}///#{@typelib}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def guid
|
21
|
+
@typelib.guid
|
22
|
+
end
|
23
|
+
|
24
|
+
def minor_version
|
25
|
+
@typelib.minor_version
|
26
|
+
end
|
27
|
+
|
28
|
+
def major_version
|
29
|
+
@typelib.major_version
|
30
|
+
end
|
31
|
+
|
32
|
+
def ole_classes # MRI: ole_types_from_typelib
|
33
|
+
ole_classes = []
|
34
|
+
find_all_typeinfo(@typelib) do |info, docs|
|
35
|
+
ole_classes << WIN32OLE_TYPE.new(self, info, docs)
|
36
|
+
end
|
37
|
+
ole_classes
|
38
|
+
end
|
39
|
+
|
40
|
+
def version
|
41
|
+
[minor_version, major_version].join('.')
|
42
|
+
end
|
43
|
+
|
44
|
+
def visible?
|
45
|
+
flags = @typelib.flags
|
46
|
+
flags != 0 && (flags & TypeLib::LIBFLAG_FRESTRICTED) == 0 &&
|
47
|
+
(flags & TypeLib::LIBFLAG_FHIDDEN) == 0
|
48
|
+
end
|
49
|
+
|
50
|
+
def inspect
|
51
|
+
name
|
52
|
+
end
|
53
|
+
|
54
|
+
class << self
|
55
|
+
def ole_classes(typelib)
|
56
|
+
new(typelib).ole_classes
|
57
|
+
end
|
58
|
+
|
59
|
+
def typelibs
|
60
|
+
typelibs = []
|
61
|
+
typelib_registry_each_guid_version do |guid, version, reg|
|
62
|
+
name = reg.read(nil)[1] || ''
|
63
|
+
registry_subkey(reg, 'win32', 'win64') do |arch_reg, arch|
|
64
|
+
type_lib = load_typelib(arch_reg, arch)
|
65
|
+
# TODO: I think MRI figures out a few more typelibs than we do
|
66
|
+
typelibs << WIN32OLE_TYPELIB.new(type_lib, name) if type_lib
|
67
|
+
end
|
68
|
+
end
|
69
|
+
typelibs
|
70
|
+
end
|
71
|
+
|
72
|
+
include WIN32OLE::Utils
|
73
|
+
end
|
74
|
+
|
75
|
+
include WIN32OLE::Utils
|
76
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class WIN32OLE_VARIABLE
|
2
|
+
attr_reader :name
|
3
|
+
|
4
|
+
def initialize(type, var_desc, name)
|
5
|
+
@type, @var_desc, @name = type, var_desc, name
|
6
|
+
end
|
7
|
+
|
8
|
+
def ole_type
|
9
|
+
@type.ole_type # MRI gets from vardesc, but why shouldn't this work?
|
10
|
+
end
|
11
|
+
|
12
|
+
def ole_type_detail
|
13
|
+
# TODO: Fill in other details when they actually exist
|
14
|
+
[@type.ole_type]
|
15
|
+
end
|
16
|
+
|
17
|
+
def value
|
18
|
+
from_variant(@var_desc.constant)
|
19
|
+
end
|
20
|
+
|
21
|
+
def variable_kind
|
22
|
+
variable_kind_string(varkind)
|
23
|
+
end
|
24
|
+
|
25
|
+
def varkind
|
26
|
+
@var_desc.varkind
|
27
|
+
end
|
28
|
+
|
29
|
+
def inspect
|
30
|
+
"#<WIN32OLE_VARIABLE:#{to_s}=#{value.inspect}>"
|
31
|
+
end
|
32
|
+
|
33
|
+
alias :to_s :name
|
34
|
+
|
35
|
+
def visible?
|
36
|
+
flags = @var_desc.flags
|
37
|
+
flags & (VarDesc::VARFLAG_FHIDDEN | VarDesc::VARFLAG_FRESTRICTED | VarDesc::VARFLAG_FNONBROWSABLE) == 0
|
38
|
+
end
|
39
|
+
|
40
|
+
include WIN32OLE::Utils
|
41
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
class WIN32OLE
|
2
|
+
module VARIANT
|
3
|
+
VT_I2 = 2 # Short
|
4
|
+
VT_I4 = 3 # Int
|
5
|
+
VT_R4 = 4 # Float
|
6
|
+
VT_R8 = 5 # Double
|
7
|
+
VT_CY = 6 # Currency
|
8
|
+
VT_DATE = 7 # Date
|
9
|
+
VT_BSTR = 8 # String
|
10
|
+
VT_DISPATCH = 9 # Dispatch
|
11
|
+
VT_ERROR = 10 # Error
|
12
|
+
VT_BOOL = 11 # Boolean
|
13
|
+
VT_VARIANT = 12 # Variant containing Variant
|
14
|
+
VT_UNKNOWN = 13 # Unknown
|
15
|
+
VT_DECIMAL = 14 # Decimal
|
16
|
+
VT_I1 = 16 # Nothing in Jacob
|
17
|
+
VT_UI1 = 17 # Byte
|
18
|
+
VT_UI2 = 18 # Nothing in Jacob
|
19
|
+
VT_UI4 = 19 # Nothing in Jacob
|
20
|
+
VT_I8 = 20 # Not in MRI win32ole but in Jacob
|
21
|
+
VT_UI8 = 21 # !Jacob
|
22
|
+
VT_INT = 22 # Nothing in Jacob
|
23
|
+
VT_UINT = 23 # Nothing in Jacob
|
24
|
+
VT_VOID = 24 # !Jacob
|
25
|
+
VT_HRESULT = 25 # !Jacob
|
26
|
+
VT_PTR = 26 # Pointer
|
27
|
+
VT_SAFEARRAY = 27 # !Jacob
|
28
|
+
VT_CARRAY = 28 # !Jacob
|
29
|
+
VT_USERDEFINED = 29 # !Jacob
|
30
|
+
VT_LPSTR = 30 # !Jacob
|
31
|
+
VT_LPWSTR = 31 # !Jacob
|
32
|
+
VT_ARRAY = 8192 # Array
|
33
|
+
VT_BYREF = 16384 # Reference
|
34
|
+
|
35
|
+
VARIANTS = {
|
36
|
+
VT_I2 => "I2", VT_I4 => "I4", VT_R4 => "R4", VT_R8 => "R8",
|
37
|
+
VT_CY => "CY", VT_DATE => "DATE", VT_BSTR => "BSTR", VT_BOOL => "BOOL",
|
38
|
+
VT_VARIANT => "VARIANT", VT_DECIMAL => "DECIMAL", VT_I1 => "I1",
|
39
|
+
VT_UI1 => "UI1", VT_UI2 => "UI2", VT_UI4 => "UI4", VT_I8 => "I8",
|
40
|
+
VT_UI8 => "UI8", VT_INT => "INT", VT_UINT => "UINT", VT_VOID => "VOID",
|
41
|
+
VT_HRESULT => "HRESULT", VT_PTR => "PTR", VT_SAFEARRAY => "SAFEARRAY",
|
42
|
+
VT_CARRAY => "CARRAY", VT_USERDEFINED => "USERDEFINED",
|
43
|
+
VT_UNKNOWN => "UNKNOWN", VT_DISPATCH => "DISPATCH", VT_ERROR => "ERROR",
|
44
|
+
VT_LPSTR => "LPSTR", VT_LPWSTR => "LPWSTR"
|
45
|
+
}
|
46
|
+
|
47
|
+
def variant_to_string(vt)
|
48
|
+
VARIANTS[vt]
|
49
|
+
end
|
50
|
+
module_function :variant_to_string
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,800 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!--
|
3
|
+
*** GENERATED FROM project.xml - DO NOT EDIT ***
|
4
|
+
*** EDIT ../build.xml INSTEAD ***
|
5
|
+
|
6
|
+
For the purpose of easier reading the script
|
7
|
+
is divided into following sections:
|
8
|
+
|
9
|
+
- initialization
|
10
|
+
- compilation
|
11
|
+
- jar
|
12
|
+
- execution
|
13
|
+
- debugging
|
14
|
+
- javadoc
|
15
|
+
- junit compilation
|
16
|
+
- junit execution
|
17
|
+
- junit debugging
|
18
|
+
- applet
|
19
|
+
- cleanup
|
20
|
+
|
21
|
+
-->
|
22
|
+
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="win32ole-impl">
|
23
|
+
<fail message="Please build using Ant 1.7.1 or higher.">
|
24
|
+
<condition>
|
25
|
+
<not>
|
26
|
+
<antversion atleast="1.7.1"/>
|
27
|
+
</not>
|
28
|
+
</condition>
|
29
|
+
</fail>
|
30
|
+
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
|
31
|
+
<!--
|
32
|
+
======================
|
33
|
+
INITIALIZATION SECTION
|
34
|
+
======================
|
35
|
+
-->
|
36
|
+
<target name="-pre-init">
|
37
|
+
<!-- Empty placeholder for easier customization. -->
|
38
|
+
<!-- You can override this target in the ../build.xml file. -->
|
39
|
+
</target>
|
40
|
+
<target depends="-pre-init" name="-init-private">
|
41
|
+
<property file="nbproject/private/config.properties"/>
|
42
|
+
<property file="nbproject/private/configs/${config}.properties"/>
|
43
|
+
<property file="nbproject/private/private.properties"/>
|
44
|
+
</target>
|
45
|
+
<target depends="-pre-init,-init-private" name="-init-user">
|
46
|
+
<property file="${user.properties.file}"/>
|
47
|
+
<!-- The two properties below are usually overridden -->
|
48
|
+
<!-- by the active platform. Just a fallback. -->
|
49
|
+
<property name="default.javac.source" value="1.4"/>
|
50
|
+
<property name="default.javac.target" value="1.4"/>
|
51
|
+
</target>
|
52
|
+
<target depends="-pre-init,-init-private,-init-user" name="-init-project">
|
53
|
+
<property file="nbproject/configs/${config}.properties"/>
|
54
|
+
<property file="nbproject/project.properties"/>
|
55
|
+
</target>
|
56
|
+
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
|
57
|
+
<available file="${manifest.file}" property="manifest.available"/>
|
58
|
+
<condition property="main.class.available">
|
59
|
+
<and>
|
60
|
+
<isset property="main.class"/>
|
61
|
+
<not>
|
62
|
+
<equals arg1="${main.class}" arg2="" trim="true"/>
|
63
|
+
</not>
|
64
|
+
</and>
|
65
|
+
</condition>
|
66
|
+
<condition property="manifest.available+main.class">
|
67
|
+
<and>
|
68
|
+
<isset property="manifest.available"/>
|
69
|
+
<isset property="main.class.available"/>
|
70
|
+
</and>
|
71
|
+
</condition>
|
72
|
+
<condition property="do.mkdist">
|
73
|
+
<and>
|
74
|
+
<isset property="libs.CopyLibs.classpath"/>
|
75
|
+
<not>
|
76
|
+
<istrue value="${mkdist.disabled}"/>
|
77
|
+
</not>
|
78
|
+
</and>
|
79
|
+
</condition>
|
80
|
+
<condition property="manifest.available+main.class+mkdist.available">
|
81
|
+
<and>
|
82
|
+
<istrue value="${manifest.available+main.class}"/>
|
83
|
+
<isset property="do.mkdist"/>
|
84
|
+
</and>
|
85
|
+
</condition>
|
86
|
+
<condition property="manifest.available+mkdist.available">
|
87
|
+
<and>
|
88
|
+
<istrue value="${manifest.available}"/>
|
89
|
+
<isset property="do.mkdist"/>
|
90
|
+
</and>
|
91
|
+
</condition>
|
92
|
+
<condition property="manifest.available-mkdist.available">
|
93
|
+
<or>
|
94
|
+
<istrue value="${manifest.available}"/>
|
95
|
+
<isset property="do.mkdist"/>
|
96
|
+
</or>
|
97
|
+
</condition>
|
98
|
+
<condition property="manifest.available+main.class-mkdist.available">
|
99
|
+
<or>
|
100
|
+
<istrue value="${manifest.available+main.class}"/>
|
101
|
+
<isset property="do.mkdist"/>
|
102
|
+
</or>
|
103
|
+
</condition>
|
104
|
+
<condition property="have.tests">
|
105
|
+
<or/>
|
106
|
+
</condition>
|
107
|
+
<condition property="have.sources">
|
108
|
+
<or>
|
109
|
+
<available file="${src.lib.dir}"/>
|
110
|
+
<available file="${src.dir}"/>
|
111
|
+
</or>
|
112
|
+
</condition>
|
113
|
+
<condition property="netbeans.home+have.tests">
|
114
|
+
<and>
|
115
|
+
<isset property="netbeans.home"/>
|
116
|
+
<isset property="have.tests"/>
|
117
|
+
</and>
|
118
|
+
</condition>
|
119
|
+
<condition property="no.javadoc.preview">
|
120
|
+
<and>
|
121
|
+
<isset property="javadoc.preview"/>
|
122
|
+
<isfalse value="${javadoc.preview}"/>
|
123
|
+
</and>
|
124
|
+
</condition>
|
125
|
+
<property name="run.jvmargs" value=""/>
|
126
|
+
<property name="javac.compilerargs" value=""/>
|
127
|
+
<property name="work.dir" value="${basedir}"/>
|
128
|
+
<condition property="no.deps">
|
129
|
+
<and>
|
130
|
+
<istrue value="${no.dependencies}"/>
|
131
|
+
</and>
|
132
|
+
</condition>
|
133
|
+
<property name="javac.debug" value="true"/>
|
134
|
+
<property name="javadoc.preview" value="true"/>
|
135
|
+
<property name="application.args" value=""/>
|
136
|
+
<property name="source.encoding" value="${file.encoding}"/>
|
137
|
+
<property name="runtime.encoding" value="${source.encoding}"/>
|
138
|
+
<condition property="javadoc.encoding.used" value="${javadoc.encoding}">
|
139
|
+
<and>
|
140
|
+
<isset property="javadoc.encoding"/>
|
141
|
+
<not>
|
142
|
+
<equals arg1="${javadoc.encoding}" arg2=""/>
|
143
|
+
</not>
|
144
|
+
</and>
|
145
|
+
</condition>
|
146
|
+
<property name="javadoc.encoding.used" value="${source.encoding}"/>
|
147
|
+
<property name="includes" value="**"/>
|
148
|
+
<property name="excludes" value=""/>
|
149
|
+
<property name="do.depend" value="false"/>
|
150
|
+
<condition property="do.depend.true">
|
151
|
+
<istrue value="${do.depend}"/>
|
152
|
+
</condition>
|
153
|
+
<path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
|
154
|
+
<condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
|
155
|
+
<length length="0" string="${endorsed.classpath}" when="greater"/>
|
156
|
+
</condition>
|
157
|
+
<property name="javac.fork" value="false"/>
|
158
|
+
</target>
|
159
|
+
<target name="-post-init">
|
160
|
+
<!-- Empty placeholder for easier customization. -->
|
161
|
+
<!-- You can override this target in the ../build.xml file. -->
|
162
|
+
</target>
|
163
|
+
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
|
164
|
+
<fail unless="src.lib.dir">Must set src.lib.dir</fail>
|
165
|
+
<fail unless="src.dir">Must set src.dir</fail>
|
166
|
+
<fail unless="build.dir">Must set build.dir</fail>
|
167
|
+
<fail unless="dist.dir">Must set dist.dir</fail>
|
168
|
+
<fail unless="build.classes.dir">Must set build.classes.dir</fail>
|
169
|
+
<fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
|
170
|
+
<fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
|
171
|
+
<fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
|
172
|
+
<fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
|
173
|
+
<fail unless="dist.jar">Must set dist.jar</fail>
|
174
|
+
</target>
|
175
|
+
<target name="-init-macrodef-property">
|
176
|
+
<macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
|
177
|
+
<attribute name="name"/>
|
178
|
+
<attribute name="value"/>
|
179
|
+
<sequential>
|
180
|
+
<property name="@{name}" value="${@{value}}"/>
|
181
|
+
</sequential>
|
182
|
+
</macrodef>
|
183
|
+
</target>
|
184
|
+
<target name="-init-macrodef-javac">
|
185
|
+
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
|
186
|
+
<attribute default="${src.lib.dir}:${src.dir}" name="srcdir"/>
|
187
|
+
<attribute default="${build.classes.dir}" name="destdir"/>
|
188
|
+
<attribute default="${javac.classpath}" name="classpath"/>
|
189
|
+
<attribute default="${includes}" name="includes"/>
|
190
|
+
<attribute default="${excludes}" name="excludes"/>
|
191
|
+
<attribute default="${javac.debug}" name="debug"/>
|
192
|
+
<attribute default="${empty.dir}" name="sourcepath"/>
|
193
|
+
<attribute default="${empty.dir}" name="gensrcdir"/>
|
194
|
+
<element name="customize" optional="true"/>
|
195
|
+
<sequential>
|
196
|
+
<property location="${build.dir}/empty" name="empty.dir"/>
|
197
|
+
<mkdir dir="${empty.dir}"/>
|
198
|
+
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
199
|
+
<src>
|
200
|
+
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
201
|
+
<include name="*"/>
|
202
|
+
</dirset>
|
203
|
+
</src>
|
204
|
+
<classpath>
|
205
|
+
<path path="@{classpath}"/>
|
206
|
+
</classpath>
|
207
|
+
<compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
|
208
|
+
<compilerarg line="${javac.compilerargs}"/>
|
209
|
+
<customize/>
|
210
|
+
</javac>
|
211
|
+
</sequential>
|
212
|
+
</macrodef>
|
213
|
+
<macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
|
214
|
+
<attribute default="${src.lib.dir}:${src.dir}" name="srcdir"/>
|
215
|
+
<attribute default="${build.classes.dir}" name="destdir"/>
|
216
|
+
<attribute default="${javac.classpath}" name="classpath"/>
|
217
|
+
<sequential>
|
218
|
+
<depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
|
219
|
+
<classpath>
|
220
|
+
<path path="@{classpath}"/>
|
221
|
+
</classpath>
|
222
|
+
</depend>
|
223
|
+
</sequential>
|
224
|
+
</macrodef>
|
225
|
+
<macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
|
226
|
+
<attribute default="${build.classes.dir}" name="destdir"/>
|
227
|
+
<sequential>
|
228
|
+
<fail unless="javac.includes">Must set javac.includes</fail>
|
229
|
+
<pathconvert pathsep="," property="javac.includes.binary">
|
230
|
+
<path>
|
231
|
+
<filelist dir="@{destdir}" files="${javac.includes}"/>
|
232
|
+
</path>
|
233
|
+
<globmapper from="*.java" to="*.class"/>
|
234
|
+
</pathconvert>
|
235
|
+
<delete>
|
236
|
+
<files includes="${javac.includes.binary}"/>
|
237
|
+
</delete>
|
238
|
+
</sequential>
|
239
|
+
</macrodef>
|
240
|
+
</target>
|
241
|
+
<target name="-init-macrodef-junit">
|
242
|
+
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
|
243
|
+
<attribute default="${includes}" name="includes"/>
|
244
|
+
<attribute default="${excludes}" name="excludes"/>
|
245
|
+
<attribute default="**" name="testincludes"/>
|
246
|
+
<sequential>
|
247
|
+
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
|
248
|
+
<batchtest todir="${build.test.results.dir}"/>
|
249
|
+
<classpath>
|
250
|
+
<path path="${run.test.classpath}"/>
|
251
|
+
</classpath>
|
252
|
+
<syspropertyset>
|
253
|
+
<propertyref prefix="test-sys-prop."/>
|
254
|
+
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
255
|
+
</syspropertyset>
|
256
|
+
<formatter type="brief" usefile="false"/>
|
257
|
+
<formatter type="xml"/>
|
258
|
+
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
259
|
+
<jvmarg line="${run.jvmargs}"/>
|
260
|
+
</junit>
|
261
|
+
</sequential>
|
262
|
+
</macrodef>
|
263
|
+
</target>
|
264
|
+
<target depends="-init-debug-args" name="-init-macrodef-nbjpda">
|
265
|
+
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
|
266
|
+
<attribute default="${main.class}" name="name"/>
|
267
|
+
<attribute default="${debug.classpath}" name="classpath"/>
|
268
|
+
<attribute default="" name="stopclassname"/>
|
269
|
+
<sequential>
|
270
|
+
<nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
|
271
|
+
<classpath>
|
272
|
+
<path path="@{classpath}"/>
|
273
|
+
</classpath>
|
274
|
+
</nbjpdastart>
|
275
|
+
</sequential>
|
276
|
+
</macrodef>
|
277
|
+
<macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
|
278
|
+
<attribute default="${build.classes.dir}" name="dir"/>
|
279
|
+
<sequential>
|
280
|
+
<nbjpdareload>
|
281
|
+
<fileset dir="@{dir}" includes="${fix.classes}">
|
282
|
+
<include name="${fix.includes}*.class"/>
|
283
|
+
</fileset>
|
284
|
+
</nbjpdareload>
|
285
|
+
</sequential>
|
286
|
+
</macrodef>
|
287
|
+
</target>
|
288
|
+
<target name="-init-debug-args">
|
289
|
+
<property name="version-output" value="java version "${ant.java.version}"/>
|
290
|
+
<condition property="have-jdk-older-than-1.4">
|
291
|
+
<or>
|
292
|
+
<contains string="${version-output}" substring="java version "1.0"/>
|
293
|
+
<contains string="${version-output}" substring="java version "1.1"/>
|
294
|
+
<contains string="${version-output}" substring="java version "1.2"/>
|
295
|
+
<contains string="${version-output}" substring="java version "1.3"/>
|
296
|
+
</or>
|
297
|
+
</condition>
|
298
|
+
<condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
|
299
|
+
<istrue value="${have-jdk-older-than-1.4}"/>
|
300
|
+
</condition>
|
301
|
+
<condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
|
302
|
+
<os family="windows"/>
|
303
|
+
</condition>
|
304
|
+
<condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
|
305
|
+
<isset property="debug.transport"/>
|
306
|
+
</condition>
|
307
|
+
</target>
|
308
|
+
<target depends="-init-debug-args" name="-init-macrodef-debug">
|
309
|
+
<macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
|
310
|
+
<attribute default="${main.class}" name="classname"/>
|
311
|
+
<attribute default="${debug.classpath}" name="classpath"/>
|
312
|
+
<element name="customize" optional="true"/>
|
313
|
+
<sequential>
|
314
|
+
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
315
|
+
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
316
|
+
<jvmarg line="${debug-args-line}"/>
|
317
|
+
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
|
318
|
+
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
|
319
|
+
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
|
320
|
+
<jvmarg line="${run.jvmargs}"/>
|
321
|
+
<classpath>
|
322
|
+
<path path="@{classpath}"/>
|
323
|
+
</classpath>
|
324
|
+
<syspropertyset>
|
325
|
+
<propertyref prefix="run-sys-prop."/>
|
326
|
+
<mapper from="run-sys-prop.*" to="*" type="glob"/>
|
327
|
+
</syspropertyset>
|
328
|
+
<customize/>
|
329
|
+
</java>
|
330
|
+
</sequential>
|
331
|
+
</macrodef>
|
332
|
+
</target>
|
333
|
+
<target name="-init-macrodef-java">
|
334
|
+
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
|
335
|
+
<attribute default="${main.class}" name="classname"/>
|
336
|
+
<attribute default="${run.classpath}" name="classpath"/>
|
337
|
+
<element name="customize" optional="true"/>
|
338
|
+
<sequential>
|
339
|
+
<java classname="@{classname}" dir="${work.dir}" fork="true">
|
340
|
+
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
341
|
+
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
|
342
|
+
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
|
343
|
+
<jvmarg line="${run.jvmargs}"/>
|
344
|
+
<classpath>
|
345
|
+
<path path="@{classpath}"/>
|
346
|
+
</classpath>
|
347
|
+
<syspropertyset>
|
348
|
+
<propertyref prefix="run-sys-prop."/>
|
349
|
+
<mapper from="run-sys-prop.*" to="*" type="glob"/>
|
350
|
+
</syspropertyset>
|
351
|
+
<customize/>
|
352
|
+
</java>
|
353
|
+
</sequential>
|
354
|
+
</macrodef>
|
355
|
+
</target>
|
356
|
+
<target name="-init-presetdef-jar">
|
357
|
+
<presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
|
358
|
+
<jar compress="${jar.compress}" jarfile="${dist.jar}">
|
359
|
+
<j2seproject1:fileset dir="${build.classes.dir}"/>
|
360
|
+
</jar>
|
361
|
+
</presetdef>
|
362
|
+
</target>
|
363
|
+
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/>
|
364
|
+
<!--
|
365
|
+
===================
|
366
|
+
COMPILATION SECTION
|
367
|
+
===================
|
368
|
+
-->
|
369
|
+
<target name="-deps-jar-init" unless="built-jar.properties">
|
370
|
+
<property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
|
371
|
+
<delete file="${built-jar.properties}" quiet="true"/>
|
372
|
+
</target>
|
373
|
+
<target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
|
374
|
+
<echo level="warn" message="Cycle detected: win32ole was already built"/>
|
375
|
+
</target>
|
376
|
+
<target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
|
377
|
+
<mkdir dir="${build.dir}"/>
|
378
|
+
<touch file="${built-jar.properties}" verbose="false"/>
|
379
|
+
<property file="${built-jar.properties}" prefix="already.built.jar."/>
|
380
|
+
<antcall target="-warn-already-built-jar"/>
|
381
|
+
<propertyfile file="${built-jar.properties}">
|
382
|
+
<entry key="${basedir}" value=""/>
|
383
|
+
</propertyfile>
|
384
|
+
</target>
|
385
|
+
<target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
|
386
|
+
<target depends="init" name="-check-automatic-build">
|
387
|
+
<available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
|
388
|
+
</target>
|
389
|
+
<target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
|
390
|
+
<antcall target="clean"/>
|
391
|
+
</target>
|
392
|
+
<target depends="init,deps-jar" name="-pre-pre-compile">
|
393
|
+
<mkdir dir="${build.classes.dir}"/>
|
394
|
+
</target>
|
395
|
+
<target name="-pre-compile">
|
396
|
+
<!-- Empty placeholder for easier customization. -->
|
397
|
+
<!-- You can override this target in the ../build.xml file. -->
|
398
|
+
</target>
|
399
|
+
<target if="do.depend.true" name="-compile-depend">
|
400
|
+
<pathconvert property="build.generated.subdirs">
|
401
|
+
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
402
|
+
<include name="*"/>
|
403
|
+
</dirset>
|
404
|
+
</pathconvert>
|
405
|
+
<j2seproject3:depend srcdir="${src.lib.dir}:${src.dir}:${build.generated.subdirs}"/>
|
406
|
+
</target>
|
407
|
+
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
|
408
|
+
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
|
409
|
+
<copy todir="${build.classes.dir}">
|
410
|
+
<fileset dir="${src.lib.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
411
|
+
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
|
412
|
+
</copy>
|
413
|
+
</target>
|
414
|
+
<target name="-post-compile">
|
415
|
+
<!-- Empty placeholder for easier customization. -->
|
416
|
+
<!-- You can override this target in the ../build.xml file. -->
|
417
|
+
</target>
|
418
|
+
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
|
419
|
+
<target name="-pre-compile-single">
|
420
|
+
<!-- Empty placeholder for easier customization. -->
|
421
|
+
<!-- You can override this target in the ../build.xml file. -->
|
422
|
+
</target>
|
423
|
+
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
|
424
|
+
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
425
|
+
<j2seproject3:force-recompile/>
|
426
|
+
<j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.lib.dir}:${src.dir}"/>
|
427
|
+
</target>
|
428
|
+
<target name="-post-compile-single">
|
429
|
+
<!-- Empty placeholder for easier customization. -->
|
430
|
+
<!-- You can override this target in the ../build.xml file. -->
|
431
|
+
</target>
|
432
|
+
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
|
433
|
+
<!--
|
434
|
+
====================
|
435
|
+
JAR BUILDING SECTION
|
436
|
+
====================
|
437
|
+
-->
|
438
|
+
<target depends="init" name="-pre-pre-jar">
|
439
|
+
<dirname file="${dist.jar}" property="dist.jar.dir"/>
|
440
|
+
<mkdir dir="${dist.jar.dir}"/>
|
441
|
+
</target>
|
442
|
+
<target name="-pre-jar">
|
443
|
+
<!-- Empty placeholder for easier customization. -->
|
444
|
+
<!-- You can override this target in the ../build.xml file. -->
|
445
|
+
</target>
|
446
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
|
447
|
+
<j2seproject1:jar/>
|
448
|
+
</target>
|
449
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
|
450
|
+
<j2seproject1:jar manifest="${manifest.file}"/>
|
451
|
+
</target>
|
452
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
|
453
|
+
<j2seproject1:jar manifest="${manifest.file}">
|
454
|
+
<j2seproject1:manifest>
|
455
|
+
<j2seproject1:attribute name="Main-Class" value="${main.class}"/>
|
456
|
+
</j2seproject1:manifest>
|
457
|
+
</j2seproject1:jar>
|
458
|
+
<echo>To run this application from the command line without Ant, try:</echo>
|
459
|
+
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
|
460
|
+
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
461
|
+
<pathconvert property="run.classpath.with.dist.jar">
|
462
|
+
<path path="${run.classpath}"/>
|
463
|
+
<map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
|
464
|
+
</pathconvert>
|
465
|
+
<echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
|
466
|
+
</target>
|
467
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
|
468
|
+
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
|
469
|
+
<pathconvert property="run.classpath.without.build.classes.dir">
|
470
|
+
<path path="${run.classpath}"/>
|
471
|
+
<map from="${build.classes.dir.resolved}" to=""/>
|
472
|
+
</pathconvert>
|
473
|
+
<pathconvert pathsep=" " property="jar.classpath">
|
474
|
+
<path path="${run.classpath.without.build.classes.dir}"/>
|
475
|
+
<chainedmapper>
|
476
|
+
<flattenmapper/>
|
477
|
+
<globmapper from="*" to="lib/*"/>
|
478
|
+
</chainedmapper>
|
479
|
+
</pathconvert>
|
480
|
+
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
|
481
|
+
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
|
482
|
+
<fileset dir="${build.classes.dir}"/>
|
483
|
+
<manifest>
|
484
|
+
<attribute name="Main-Class" value="${main.class}"/>
|
485
|
+
<attribute name="Class-Path" value="${jar.classpath}"/>
|
486
|
+
</manifest>
|
487
|
+
</copylibs>
|
488
|
+
<echo>To run this application from the command line without Ant, try:</echo>
|
489
|
+
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
490
|
+
<echo>java -jar "${dist.jar.resolved}"</echo>
|
491
|
+
</target>
|
492
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+mkdist.available" name="-do-jar-with-libraries-without-mainclass" unless="main.class.available">
|
493
|
+
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
|
494
|
+
<pathconvert property="run.classpath.without.build.classes.dir">
|
495
|
+
<path path="${run.classpath}"/>
|
496
|
+
<map from="${build.classes.dir.resolved}" to=""/>
|
497
|
+
</pathconvert>
|
498
|
+
<pathconvert pathsep=" " property="jar.classpath">
|
499
|
+
<path path="${run.classpath.without.build.classes.dir}"/>
|
500
|
+
<chainedmapper>
|
501
|
+
<flattenmapper/>
|
502
|
+
<globmapper from="*" to="lib/*"/>
|
503
|
+
</chainedmapper>
|
504
|
+
</pathconvert>
|
505
|
+
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
|
506
|
+
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
|
507
|
+
<fileset dir="${build.classes.dir}"/>
|
508
|
+
<manifest>
|
509
|
+
<attribute name="Class-Path" value="${jar.classpath}"/>
|
510
|
+
</manifest>
|
511
|
+
</copylibs>
|
512
|
+
</target>
|
513
|
+
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.mkdist" name="-do-jar-with-libraries-without-manifest" unless="manifest.available">
|
514
|
+
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
|
515
|
+
<pathconvert property="run.classpath.without.build.classes.dir">
|
516
|
+
<path path="${run.classpath}"/>
|
517
|
+
<map from="${build.classes.dir.resolved}" to=""/>
|
518
|
+
</pathconvert>
|
519
|
+
<pathconvert pathsep=" " property="jar.classpath">
|
520
|
+
<path path="${run.classpath.without.build.classes.dir}"/>
|
521
|
+
<chainedmapper>
|
522
|
+
<flattenmapper/>
|
523
|
+
<globmapper from="*" to="lib/*"/>
|
524
|
+
</chainedmapper>
|
525
|
+
</pathconvert>
|
526
|
+
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
|
527
|
+
<copylibs compress="${jar.compress}" jarfile="${dist.jar}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
|
528
|
+
<fileset dir="${build.classes.dir}"/>
|
529
|
+
<manifest>
|
530
|
+
<attribute name="Class-Path" value="${jar.classpath}"/>
|
531
|
+
</manifest>
|
532
|
+
</copylibs>
|
533
|
+
</target>
|
534
|
+
<target name="-post-jar">
|
535
|
+
<!-- Empty placeholder for easier customization. -->
|
536
|
+
<!-- You can override this target in the ../build.xml file. -->
|
537
|
+
</target>
|
538
|
+
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-do-jar-with-libraries-without-mainclass,-do-jar-with-libraries-without-manifest,-post-jar" description="Build JAR." name="jar"/>
|
539
|
+
<!--
|
540
|
+
=================
|
541
|
+
EXECUTION SECTION
|
542
|
+
=================
|
543
|
+
-->
|
544
|
+
<target depends="init,compile" description="Run a main class." name="run">
|
545
|
+
<j2seproject1:java>
|
546
|
+
<customize>
|
547
|
+
<arg line="${application.args}"/>
|
548
|
+
</customize>
|
549
|
+
</j2seproject1:java>
|
550
|
+
</target>
|
551
|
+
<target name="-do-not-recompile">
|
552
|
+
<property name="javac.includes.binary" value=""/>
|
553
|
+
</target>
|
554
|
+
<target depends="init,compile-single" name="run-single">
|
555
|
+
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
556
|
+
<j2seproject1:java classname="${run.class}"/>
|
557
|
+
</target>
|
558
|
+
<target depends="init,compile-test-single" name="run-test-with-main">
|
559
|
+
<fail unless="run.class">Must select one file in the IDE or set run.class</fail>
|
560
|
+
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
561
|
+
</target>
|
562
|
+
<!--
|
563
|
+
=================
|
564
|
+
DEBUGGING SECTION
|
565
|
+
=================
|
566
|
+
-->
|
567
|
+
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
568
|
+
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
569
|
+
</target>
|
570
|
+
<target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
|
571
|
+
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
|
572
|
+
</target>
|
573
|
+
<target depends="init,compile" name="-debug-start-debuggee">
|
574
|
+
<j2seproject3:debug>
|
575
|
+
<customize>
|
576
|
+
<arg line="${application.args}"/>
|
577
|
+
</customize>
|
578
|
+
</j2seproject3:debug>
|
579
|
+
</target>
|
580
|
+
<target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
|
581
|
+
<target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
|
582
|
+
<j2seproject1:nbjpdastart stopclassname="${main.class}"/>
|
583
|
+
</target>
|
584
|
+
<target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
|
585
|
+
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
|
586
|
+
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
|
587
|
+
<j2seproject3:debug classname="${debug.class}"/>
|
588
|
+
</target>
|
589
|
+
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
|
590
|
+
<target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
|
591
|
+
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
|
592
|
+
<j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
|
593
|
+
</target>
|
594
|
+
<target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
|
595
|
+
<target depends="init" name="-pre-debug-fix">
|
596
|
+
<fail unless="fix.includes">Must set fix.includes</fail>
|
597
|
+
<property name="javac.includes" value="${fix.includes}.java"/>
|
598
|
+
</target>
|
599
|
+
<target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
|
600
|
+
<j2seproject1:nbjpdareload/>
|
601
|
+
</target>
|
602
|
+
<target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
|
603
|
+
<!--
|
604
|
+
===============
|
605
|
+
JAVADOC SECTION
|
606
|
+
===============
|
607
|
+
-->
|
608
|
+
<target depends="init" name="-javadoc-build">
|
609
|
+
<mkdir dir="${dist.javadoc.dir}"/>
|
610
|
+
<javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
|
611
|
+
<classpath>
|
612
|
+
<path path="${javac.classpath}"/>
|
613
|
+
</classpath>
|
614
|
+
<fileset dir="${src.lib.dir}" excludes="${excludes}" includes="${includes}">
|
615
|
+
<filename name="**/*.java"/>
|
616
|
+
</fileset>
|
617
|
+
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
|
618
|
+
<filename name="**/*.java"/>
|
619
|
+
</fileset>
|
620
|
+
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
|
621
|
+
<include name="**/*.java"/>
|
622
|
+
</fileset>
|
623
|
+
</javadoc>
|
624
|
+
</target>
|
625
|
+
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
|
626
|
+
<nbbrowse file="${dist.javadoc.dir}/index.html"/>
|
627
|
+
</target>
|
628
|
+
<target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
|
629
|
+
<!--
|
630
|
+
=========================
|
631
|
+
JUNIT COMPILATION SECTION
|
632
|
+
=========================
|
633
|
+
-->
|
634
|
+
<target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
|
635
|
+
<mkdir dir="${build.test.classes.dir}"/>
|
636
|
+
</target>
|
637
|
+
<target name="-pre-compile-test">
|
638
|
+
<!-- Empty placeholder for easier customization. -->
|
639
|
+
<!-- You can override this target in the ../build.xml file. -->
|
640
|
+
</target>
|
641
|
+
<target if="do.depend.true" name="-compile-test-depend">
|
642
|
+
<j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/>
|
643
|
+
</target>
|
644
|
+
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
|
645
|
+
<j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir=""/>
|
646
|
+
<copy todir="${build.test.classes.dir}"/>
|
647
|
+
</target>
|
648
|
+
<target name="-post-compile-test">
|
649
|
+
<!-- Empty placeholder for easier customization. -->
|
650
|
+
<!-- You can override this target in the ../build.xml file. -->
|
651
|
+
</target>
|
652
|
+
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
|
653
|
+
<target name="-pre-compile-test-single">
|
654
|
+
<!-- Empty placeholder for easier customization. -->
|
655
|
+
<!-- You can override this target in the ../build.xml file. -->
|
656
|
+
</target>
|
657
|
+
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
|
658
|
+
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
659
|
+
<j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
|
660
|
+
<j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="" srcdir=""/>
|
661
|
+
<copy todir="${build.test.classes.dir}"/>
|
662
|
+
</target>
|
663
|
+
<target name="-post-compile-test-single">
|
664
|
+
<!-- Empty placeholder for easier customization. -->
|
665
|
+
<!-- You can override this target in the ../build.xml file. -->
|
666
|
+
</target>
|
667
|
+
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
|
668
|
+
<!--
|
669
|
+
=======================
|
670
|
+
JUNIT EXECUTION SECTION
|
671
|
+
=======================
|
672
|
+
-->
|
673
|
+
<target depends="init" if="have.tests" name="-pre-test-run">
|
674
|
+
<mkdir dir="${build.test.results.dir}"/>
|
675
|
+
</target>
|
676
|
+
<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
|
677
|
+
<j2seproject3:junit testincludes="**/*Test.java"/>
|
678
|
+
</target>
|
679
|
+
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
|
680
|
+
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
681
|
+
</target>
|
682
|
+
<target depends="init" if="have.tests" name="test-report"/>
|
683
|
+
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
|
684
|
+
<target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
|
685
|
+
<target depends="init" if="have.tests" name="-pre-test-run-single">
|
686
|
+
<mkdir dir="${build.test.results.dir}"/>
|
687
|
+
</target>
|
688
|
+
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
|
689
|
+
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
|
690
|
+
<j2seproject3:junit excludes="" includes="${test.includes}"/>
|
691
|
+
</target>
|
692
|
+
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
|
693
|
+
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
|
694
|
+
</target>
|
695
|
+
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
|
696
|
+
<!--
|
697
|
+
=======================
|
698
|
+
JUNIT DEBUGGING SECTION
|
699
|
+
=======================
|
700
|
+
-->
|
701
|
+
<target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
|
702
|
+
<fail unless="test.class">Must select one file in the IDE or set test.class</fail>
|
703
|
+
<property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
|
704
|
+
<delete file="${test.report.file}"/>
|
705
|
+
<mkdir dir="${build.test.results.dir}"/>
|
706
|
+
<j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
|
707
|
+
<customize>
|
708
|
+
<syspropertyset>
|
709
|
+
<propertyref prefix="test-sys-prop."/>
|
710
|
+
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
711
|
+
</syspropertyset>
|
712
|
+
<arg value="${test.class}"/>
|
713
|
+
<arg value="showoutput=true"/>
|
714
|
+
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
|
715
|
+
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
|
716
|
+
</customize>
|
717
|
+
</j2seproject3:debug>
|
718
|
+
</target>
|
719
|
+
<target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
|
720
|
+
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
|
721
|
+
</target>
|
722
|
+
<target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
|
723
|
+
<target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
|
724
|
+
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
|
725
|
+
</target>
|
726
|
+
<target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
|
727
|
+
<!--
|
728
|
+
=========================
|
729
|
+
APPLET EXECUTION SECTION
|
730
|
+
=========================
|
731
|
+
-->
|
732
|
+
<target depends="init,compile-single" name="run-applet">
|
733
|
+
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
734
|
+
<j2seproject1:java classname="sun.applet.AppletViewer">
|
735
|
+
<customize>
|
736
|
+
<arg value="${applet.url}"/>
|
737
|
+
</customize>
|
738
|
+
</j2seproject1:java>
|
739
|
+
</target>
|
740
|
+
<!--
|
741
|
+
=========================
|
742
|
+
APPLET DEBUGGING SECTION
|
743
|
+
=========================
|
744
|
+
-->
|
745
|
+
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
|
746
|
+
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
747
|
+
<j2seproject3:debug classname="sun.applet.AppletViewer">
|
748
|
+
<customize>
|
749
|
+
<arg value="${applet.url}"/>
|
750
|
+
</customize>
|
751
|
+
</j2seproject3:debug>
|
752
|
+
</target>
|
753
|
+
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
|
754
|
+
<!--
|
755
|
+
===============
|
756
|
+
CLEANUP SECTION
|
757
|
+
===============
|
758
|
+
-->
|
759
|
+
<target name="-deps-clean-init" unless="built-clean.properties">
|
760
|
+
<property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
|
761
|
+
<delete file="${built-clean.properties}" quiet="true"/>
|
762
|
+
</target>
|
763
|
+
<target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
|
764
|
+
<echo level="warn" message="Cycle detected: win32ole was already built"/>
|
765
|
+
</target>
|
766
|
+
<target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
|
767
|
+
<mkdir dir="${build.dir}"/>
|
768
|
+
<touch file="${built-clean.properties}" verbose="false"/>
|
769
|
+
<property file="${built-clean.properties}" prefix="already.built.clean."/>
|
770
|
+
<antcall target="-warn-already-built-clean"/>
|
771
|
+
<propertyfile file="${built-clean.properties}">
|
772
|
+
<entry key="${basedir}" value=""/>
|
773
|
+
</propertyfile>
|
774
|
+
</target>
|
775
|
+
<target depends="init" name="-do-clean">
|
776
|
+
<delete dir="${build.dir}"/>
|
777
|
+
<delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
|
778
|
+
</target>
|
779
|
+
<target name="-post-clean">
|
780
|
+
<!-- Empty placeholder for easier customization. -->
|
781
|
+
<!-- You can override this target in the ../build.xml file. -->
|
782
|
+
</target>
|
783
|
+
<target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
|
784
|
+
<target name="-check-call-dep">
|
785
|
+
<property file="${call.built.properties}" prefix="already.built."/>
|
786
|
+
<condition property="should.call.dep">
|
787
|
+
<not>
|
788
|
+
<isset property="already.built.${call.subproject}"/>
|
789
|
+
</not>
|
790
|
+
</condition>
|
791
|
+
</target>
|
792
|
+
<target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
|
793
|
+
<ant antfile="${call.script}" inheritall="false" target="${call.target}">
|
794
|
+
<propertyset>
|
795
|
+
<propertyref prefix="transfer."/>
|
796
|
+
<mapper from="transfer.*" to="*" type="glob"/>
|
797
|
+
</propertyset>
|
798
|
+
</ant>
|
799
|
+
</target>
|
800
|
+
</project>
|