1
+ <!--
2
+ Copyright 2012, Oracle and/or its affiliates. All rights reserved.
3
+
4
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
+
6
+ This code is free software; you can redistribute it and/or modify it
7
+ under the terms of the GNU General Public License version 2 only, as
8
+ published by the Free Software Foundation. Oracle designates this
9
+ particular file as subject to the "Classpath" exception as provided
10
+ by Oracle in the LICENSE file that accompanied this code.
11
+
12
+ This code is distributed in the hope that it will be useful, but WITHOUT
13
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15
+ version 2 for more details (a copy is included in the LICENSE file that
16
+ accompanied this code).
17
+
18
+ You should have received a copy of the GNU General Public License version
19
+ 2 along with this work; if not, write to the Free Software Foundation,
20
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21
+
22
+ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23
+ or visit www.oracle.com if you need additional information or have any
24
+ questions.
25
+ -->
26
+
27
+ < html lang ="en-us ">
28
+
29
+ < head >
30
+ < meta http-equiv ="Content-Language " content ="en-us ">
31
+ < link rel ="stylesheet " type ="text/css " href ="http://ant.apache.org/manual/stylesheets/style.css ">
32
+ < title > AppBundler Task</ title >
33
+ </ head >
34
+
35
+ < body >
36
+ < h2 > < a name ="appbundler "> AppBundler</ a > </ h2 >
37
+ < h3 > Description</ h3 >
38
+ < p > Generates a native launcher for a Java application.</ p >
39
+
40
+ < h3 > Parameters</ h3 >
41
+ < table border ="1 " cellpadding ="2 " cellspacing ="0 ">
42
+ < tr >
43
+ < td valign ="top "> < b > Attribute</ b > </ td >
44
+ < td valign ="top "> < b > Description</ b > </ td >
45
+ < td align ="center " valign ="top "> < b > Required</ b > </ td >
46
+ </ tr >
47
+ < tr >
48
+ < td valign ="top "> outputdirectory</ td >
49
+ < td valign ="top "> The output folder for the generated bundle.</ td >
50
+ < td align ="center " valign ="top "> Yes</ td >
51
+ </ tr >
52
+ < tr >
53
+ < td valign ="top "> name</ td >
54
+ < td valign ="top "> The name of the generated bundle.
55
+ Corresponds to the < code > CFBundleName</ code > key in the < tt > Info.plist</ tt > file.</ td >
56
+ < td align ="center " valign ="top "> Yes</ td >
57
+ </ tr >
58
+ < tr >
59
+ < td valign ="top "> displayname</ td >
60
+ < td valign ="top "> The display name of the generated bundle.
61
+ Corresponds to the < code > CFBundleDisplayName</ code > key in the < tt > Info.plist</ tt > file.</ td >
62
+ < td align ="center " valign ="top "> Yes</ td >
63
+ </ tr >
64
+ < tr >
65
+ < td valign ="top "> identifier</ td >
66
+ < td valign ="top "> An identifier string that specifies the application type of the bundle.
67
+ Corresponds to the < code > CFBundleIdentifier</ code > key in the < tt > Info.plist</ tt > file.</ td >
68
+ < td align ="center " valign ="top "> Yes</ td >
69
+ </ tr >
70
+ < tr >
71
+ < td valign ="top "> icon</ td >
72
+ < td valign ="top "> The icon file for the bundle.
73
+ Corresponds to the < code > CFBundleIconFile</ code > key in the < tt > Info.plist</ tt > file.</ td >
74
+ < td align ="center " valign ="top "> No</ td >
75
+ </ tr >
76
+ < tr >
77
+ < td valign ="top "> shortversion</ td >
78
+ < td valign ="top "> The release version number string for the bundle.
79
+ Corresponds to the < code > CFBundleShortVersionString</ code > key in the < tt > Info.plist</ tt >
80
+ file.</ td >
81
+ < td align ="center " valign ="top "> No</ td >
82
+ </ tr >
83
+ < tr >
84
+ < td valign ="top "> signature</ td >
85
+ < td valign ="top "> The four-letter code identifying the bundle creator.
86
+ Corresponds to the < code > CFBundleSignature</ code > key in the < tt > Info.plist</ tt > file.</ td >
87
+ < td align ="center " valign ="top "> No</ td >
88
+ </ tr >
89
+ < tr >
90
+ < td valign ="top "> copyright</ td >
91
+ < td valign ="top "> The copyright notice for the bundle.
92
+ Corresponds to the < code > NSHumanReadableCopyright</ code > key in the < tt > Info.plist</ tt >
93
+ file.</ td >
94
+ < td align ="center " valign ="top "> No</ td >
95
+ </ tr >
96
+ < tr >
97
+ < td valign ="top "> runtime</ td >
98
+ < td valign ="top "> The Java runtime to embed in the bundle.
99
+ Corresponds to the < code > JVMRuntime</ code > key in the < tt > Info.plist</ tt > file.
100
+ If specified, the contents of this directory will be copied to the < tt > Contents/PlugIns/</ tt >
101
+ folder of the generated bundle.</ td >
102
+ < td align ="center " valign ="top "> No; if unspecified, the target system must have a shared JRE
103
+ installed in < tt > /Library/Internet Plug-Ins/JavaAppletPlugin.plugin</ tt > .</ td >
104
+ </ tr >
105
+ < tr >
106
+ < td valign ="top "> mainclassname</ td >
107
+ < td valign ="top "> The name of the bundled application's main class.
108
+ Corresponds to the < code > JVMMainClassName</ code > key in the < tt > Info.plist</ tt >
109
+ file.</ td >
110
+ < td align ="center " valign ="top "> Yes</ td >
111
+ </ tr >
112
+ < tr >
113
+ < td valign ="top "> classpath</ td >
114
+ < td valign ="top "> The classpath of the bundled application. If an entry refers to a directory,
115
+ it will be recursively copied to the < tt > Contents/Java/Classes/</ tt > folder of the generated
116
+ bundle. Otherwise, the entryt will be copied to the < tt > Contents/Java/</ tt > folder of the
117
+ generated bundle.</ td >
118
+ < td align ="center " valign ="top "> Yes, unless nested < code > <classpath></ code > elements are
119
+ present.</ td >
120
+ </ tr >
121
+ < tr >
122
+ < td valign ="top "> nativelibraries</ td >
123
+ < td valign ="top "> Any native libraries required by the bundled application. Entries will be
124
+ copied to the < tt > Contents/Java/</ tt > folder of the generated bundle.</ td >
125
+ < td align ="center " valign ="top "> Yes, unless nested < code > <nativelibraries></ code > elements are
126
+ present.</ td >
127
+ </ tr >
128
+ </ table >
129
+
130
+ < h3 > Parameters specified as nested elements</ h3 >
131
+ < h4 > classpath</ h4 >
132
+ < p > The < code > classpath</ code > and < code > nativelibraries</ code > attributes are
133
+ < a href ="http://ant.apache.org/manual/using.html#path "> path-like structures</ a > that can also be
134
+ set via nested < code > <classpath></ code > and < code > <nativelibraries></ code > elements,
135
+ respectively.</ p >
136
+
137
+ < h4 > option</ h4 >
138
+ < p > Specifies a command-line option to be passed to the JVM at startup.</ p >
139
+ < table border ="1 " cellpadding ="2 " cellspacing ="0 ">
140
+ < tr >
141
+ < td valign ="top "> < b > Attribute</ b > </ td >
142
+ < td valign ="top "> < b > Description</ b > </ td >
143
+ < td align ="center " valign ="top "> < b > Required</ b > </ td >
144
+ </ tr >
145
+ < tr >
146
+ < td valign ="top "> value</ td >
147
+ < td valign ="top "> The option value.</ td >
148
+ < td align ="center " valign ="top "> Yes</ td >
149
+ </ tr >
150
+ </ table >
151
+
152
+ < h4 > argument</ h4 >
153
+ < p > Specifies a command-line argument to be passed to the application at startup.</ p >
154
+ < table border ="1 " cellpadding ="2 " cellspacing ="0 ">
155
+ < tr >
156
+ < td valign ="top "> < b > Attribute</ b > </ td >
157
+ < td valign ="top "> < b > Description</ b > </ td >
158
+ < td align ="center " valign ="top "> < b > Required</ b > </ td >
159
+ </ tr >
160
+ < tr >
161
+ < td valign ="top "> value</ td >
162
+ < td valign ="top "> The argument value.</ td >
163
+ < td align ="center " valign ="top "> Yes</ td >
164
+ </ tr >
165
+ </ table >
166
+
167
+ < h3 > Examples</ h3 >
168
+ < p > Generate a launcher for the "Swing Set" demo, bundling the JRE defined by the
169
+ < tt > JAVA_HOME</ tt > environment variable with the resulting executable:</ p >
170
+ < pre >
171
+ <-- Import environment variables -->
172
+ <property environment="env"/>
173
+
174
+ <-- Define the appbundler task -->
175
+ <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask"/>
176
+
177
+ <-- Create the app bundle -->
178
+ <target name="bundle-swingset" depends="package">
179
+ <bundleapp outputdirectory="."
180
+ name="SwingSet2"
181
+ displayname="SwingSet 2"
182
+ identifier="com.oracle.javax.swing.SwingSet2"
183
+ shortversion="1.0"
184
+ runtime="${env.JAVA_HOME}/../.."
185
+ mainclassname="SwingSet2">
186
+ <classpath file="/Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar"/>
187
+ <option value="-Dapple.laf.useScreenMenuBar=true"/>
188
+ </bundleapp>
189
+ </target>
190
+ </ pre >
191
+
192
+ </ body >
193
+ </ html >
0 commit comments