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 application.
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 application.
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.
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 application.
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 application.
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 application 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 application.
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 "> applicationCategory</ td >
98+ < td valign ="top "> The application category.
99+ Corresponds to the < code > LSApplicationCategoryType</ code > key in the < tt > Info.plist</ tt >
100+ file.</ td >
101+ < td align ="center " valign ="top "> No</ td >
102+ </ tr >
103+ < tr >
104+ < td valign ="top "> mainclassname</ td >
105+ < td valign ="top "> The name of the bundled application's main class.</ td >
106+ < td align ="center " valign ="top "> Yes</ td >
107+ </ tr >
108+ </ table >
109+
110+ < h3 > Parameters specified as nested elements</ h3 >
111+ < h4 > runtime</ h4 >
112+ < p > A < a href ="http://ant.apache.org/manual/Types/fileset.html "> fileset</ a > representing the Java
113+ runtime environment to embed in the application.</ p >
114+
115+ < p > This element is optional. If specified, the base directory of the fileset must point to the
116+ root directory of a valid Java runtime environment. The contents of the runtime will be copied to
117+ the < tt > Contents/PlugIns/</ tt > folder of the generated application bundle.</ p >
118+
119+ < p > By default, only the contents of the < tt > jre/</ tt > directory will be included with the bundled
120+ application. All executable content (i.e. < tt > bin/</ tt > , < tt > jre/bin/</ tt > ) is excluded. Additional
121+ content can be included or excluded using nested < code > <include></ code > and
122+ < code > <exclude></ code > elements, respectively.</ p >
123+
124+ < p > If this element is omitted, a Java runtime environment will not be copied into the generated
125+ bundle, and target systems must have a shared JRE installed in
126+ < tt > /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/</ tt > in order to run the application.</ p >
127+
128+ < h4 > classpath</ h4 >
129+ < p > A < a href ="http://ant.apache.org/manual/Types/fileset.html "> fileset</ a > representing the class
130+ path of the bundled application. Corresponds to the < tt > java.class.path</ tt > system property.
131+ Entries will be copied to the < tt > Contents/Java/</ tt > folder of the generated bundle.</ p >
132+
133+ < h4 > librarypath</ h4 >
134+ < p > A < a href ="http://ant.apache.org/manual/Types/fileset.html "> fileset</ a > representing the library
135+ path of the bundled application. Corresponds to the < tt > java.library.path</ tt > system property.
136+ Entries will be copied to the < tt > Contents/MacOS/</ tt > folder of the generated bundle.</ p >
137+
138+ < h4 > option</ h4 >
139+ < p > Specifies a command-line option to be passed to the JVM at startup.</ p >
140+ < table border ="1 " cellpadding ="2 " cellspacing ="0 ">
141+ < tr >
142+ < td valign ="top "> < b > Attribute</ b > </ td >
143+ < td valign ="top "> < b > Description</ b > </ td >
144+ < td align ="center " valign ="top "> < b > Required</ b > </ td >
145+ </ tr >
146+ < tr >
147+ < td valign ="top "> value</ td >
148+ < td valign ="top "> The option value.</ td >
149+ < td align ="center " valign ="top "> Yes</ td >
150+ </ tr >
151+ </ table >
152+
153+ < h4 > argument</ h4 >
154+ < p > Specifies a command-line argument to be passed to the bundled application at startup.</ p >
155+ < table border ="1 " cellpadding ="2 " cellspacing ="0 ">
156+ < tr >
157+ < td valign ="top "> < b > Attribute</ b > </ td >
158+ < td valign ="top "> < b > Description</ b > </ td >
159+ < td align ="center " valign ="top "> < b > Required</ b > </ td >
160+ </ tr >
161+ < tr >
162+ < td valign ="top "> value</ td >
163+ < td valign ="top "> The argument value.</ td >
164+ < td align ="center " valign ="top "> Yes</ td >
165+ </ tr >
166+ </ table >
167+
168+ < h3 > Examples</ h3 >
169+ < p > Generate a launcher for the "Swing Set" demo, bundling the JRE defined by the < tt > JAVA_HOME</ tt >
170+ environment variable with the resulting executable.</ p >
171+ < pre >
172+ <-- Import environment variables -->
173+ <property environment="env"/>
174+
175+ <-- Define the appbundler task -->
176+ <taskdef name="bundleapp" classname="com.oracle.appbundler.AppBundlerTask"/>
177+
178+ <-- Create the app bundle -->
179+ <target name="bundle-swingset" depends="package">
180+ <bundleapp outputdirectory="."
181+ name="SwingSet2"
182+ displayname="SwingSet 2"
183+ identifier="com.oracle.javax.swing.SwingSet2"
184+ shortversion="1.0"
185+ applicationCategory="public.app-category.developer-tools"
186+ mainclassname="SwingSet2">
187+ <runtime dir="${env.JAVA_HOME}"/>
188+ <classpath file="/Library/Java/Demos/JFC/SwingSet2/SwingSet2.jar"/>
189+ <option value="-Dapple.laf.useScreenMenuBar=true"/>
190+ </bundleapp>
191+ </target>
192+ </ pre >
193+
194+ </ body >
195+ </ html >
0 commit comments