Revision 20555

View differences:

trunk/extensions/extJCRS/install/IzPack/src/dtd/event/antaction.dtd
1
<?xml version="1.0" encoding="iso-8859-1" ?>
2

  
3
<!--
4

  
5
        =====================================
6
        The DTD for the IzPack CustomActions
7
        AntActionInstallerListener and
8
        AntActionUninstallerListener
9
        =====================================
10
$Id: antaction.dtd 5819 2006-06-14 07:29:09Z cesar $
11
        
12
-->
13

  
14
<!-- The root element -->
15
<!ELEMENT antactions (pack*)>
16

  
17
<!--  -->
18
<!--  -->
19
    <!-- The pack sections. The names should be the same as the pack sections in
20
         the install xml file (see also installation.dtd). The defined actions 
21
         are performed only for packs which are selected for installation.
22
    -->
23
    <!ELEMENT pack (antcall+)>
24
        <!ATTLIST pack name CDATA #REQUIRED>
25
        <!-- The antcall section. It defines, what antcall to perform at what time
26
             of installation with what environment.
27
        -->
28
        <!ELEMENT antcall (property*, propertyfile*, target*, uninstall_target*)>
29
            <!-- Attribute order determine at what point of installation the antcalls
30
                 defined by ELEMENT target should be performed.
31
            -->
32
            <!ATTLIST antcall order (beforepack|afterpack|beforepacks|afterpacks) #REQUIRED>
33
            <!-- Attribute uninstall_order determine at what point of uninstallation 
34
                 the antcalls defined by ELEMENT uninstall_target should be performed.
35
            -->
36
            <!ATTLIST antcall uninstall_order (beforedeletion|afterdeletion) "beforedeletion">
37
            <!ATTLIST antcall quiet (yes|no) "no">
38
            <!ATTLIST antcall verbose (yes|no) "no">
39
            <!ATTLIST antcall logfile CDATA  #IMPLIED>
40
            <!-- ID of the message which should be displayed in the InstallPanel. The ID 
41
                 is related to the &lt;language&gt;.xml file.
42
			-->
43
            <!ATTLIST antcall messageid CDATA  #IMPLIED>
44
            <!-- Path of the file which contains the antcall. -->
45
            <!ATTLIST antcall buildfile CDATA #REQUIRED>
46
            <!-- Properties to be used with all targets and uninstall_targets 
47
                 which are defined for this antcall.
48
            -->
49
            <!ELEMENT property EMPTY>
50
                <!ATTLIST property name CDATA #REQUIRED>
51
                <!ATTLIST property value CDATA #REQUIRED>
52
            <!-- Properties to be used with all targets and uninstall_targets 
53
                 which are defined for this antcall given by the path of a properties
54
                 file..
55
            -->
56
            <!ELEMENT propertyfile EMPTY>
57
                <!ATTLIST propertyfile path CDATA #REQUIRED>
58
            <!-- Targets to perform with this antcall at installation time.
59
                 The targets should be defined in the given buildfile, else an
60
                 ant exception will be raised.
61
            -->
62
            <!ELEMENT target EMPTY>
63
                <!ATTLIST target name CDATA #REQUIRED>
64
            <!-- Targets to perform with this antcall at uninstallation time.
65
                 The targets should be defined in the given buildfile, else an
66
                 ant exception will be raised.
67
            -->
68
            <!ELEMENT uninstall_target EMPTY>
69
                <!ATTLIST uninstall_target name CDATA #IMPLIED>
70

  
71
                
trunk/extensions/extJCRS/install/IzPack/src/dtd/langpack.dtd
1
<?xml version="1.0" encoding="iso-8859-1" ?>
2

  
3
<!-- 
4
        ==================================
5
        The DTD for IzPack Languages Packs 
6
        ==================================
7
-->
8

  
9
<!-- The root element -->
10
<!ELEMENT langpack (str+)>
11

  
12
<!-- A String definition -->
13
<!ELEMENT str (#PCDATA)>
14
    <!ATTLIST str id CDATA #REQUIRED>
15
    <!ATTLIST str txt CDATA #REQUIRED>
trunk/extensions/extJCRS/install/IzPack/src/dtd/installation.dtd
1
<?xml version="1.0" encoding="iso-8859-1" ?>
2

  
3
<!--
4

  
5
        =====================================
6
        The DTD for IzPack Installation Files
7
        =====================================
8
$Id: installation.dtd 5819 2006-06-14 07:29:09Z cesar $
9
        
10
-->
11

  
12
<!-- The root element -->
13
<!ELEMENT installation (preinstall?, info, variables?, guiprefs?, locale, resources?, panels,
14
                        listeners?, packs, jar*, native*, postinstall?)>
15
    <!ATTLIST installation version CDATA #REQUIRED>
16

  
17
<!-- The info section (general information on an installation) -->
18
<!ELEMENT info (appname, appversion, appsubpath?, authors?, url?, javaversion?, uninstaller?, webdir?)>
19
    <!ELEMENT appname (#PCDATA)>
20
    <!ELEMENT appversion (#PCDATA)>
21
    <!ELEMENT appsubpath (#PCDATA)>
22
    <!ELEMENT authors (author*)>
23
    <!ELEMENT author EMPTY>
24
        <!ATTLIST author name CDATA #REQUIRED>
25
        <!ATTLIST author email CDATA #REQUIRED>
26
    <!ELEMENT url (#PCDATA)>
27
    <!ELEMENT javaversion (#PCDATA)>
28
    <!ELEMENT uninstaller EMPTY>
29
        <!ATTLIST uninstaller write (yes|no) "yes">
30
    <!ELEMENT webdir (#PCDATA)>
31

  
32
<!-- The variables markup (variable declarations ) -->    
33
<!ELEMENT variables (variable*)>
34
    <!ELEMENT variable EMPTY>
35
        <!ATTLIST variable name CDATA #REQUIRED>
36
        <!ATTLIST variable value CDATA #REQUIRED>
37
        
38
        
39
<!-- The guiprefs markup (customizes the installer in GUI mode) -->
40
<!ELEMENT guiprefs (laf*, modifier*)>
41
    <!ATTLIST guiprefs resizable (yes|no) #REQUIRED>
42
    <!ATTLIST guiprefs width CDATA #REQUIRED>
43
    <!ATTLIST guiprefs height CDATA #REQUIRED>
44
    <!ELEMENT laf (os+, param*)>
45
    <!ATTLIST laf name CDATA #REQUIRED>
46
    <!ELEMENT param EMPTY>
47
        <!ATTLIST param
48
            name  CDATA #REQUIRED
49
            value CDATA #REQUIRED>
50
    <!-- Well defined modifier for gui characteristics.
51
         Possible keys are "useButtonIcons" and
52
         "useLabelIcons" both with value "yes" or "no".
53
    -->
54
    <!ELEMENT modifier EMPTY>
55
        <!ATTLIST modifier key CDATA #REQUIRED>
56
        <!ATTLIST modifier value CDATA #REQUIRED>
57
                  
58

  
59
<!-- The locale section (indicates which langpacks to include) -->
60
<!ELEMENT locale (langpack+)>
61
    <!ELEMENT langpack EMPTY>
62
        <!ATTLIST langpack iso3 CDATA #REQUIRED>
63

  
64
<!-- The resources section (resources for the panel's usings) -->
65
<!ELEMENT resources (res*)>
66
    <!ELEMENT res EMPTY>
67
        <!ATTLIST res src CDATA #REQUIRED>
68
        <!ATTLIST res id CDATA #REQUIRED>
69
        <!ATTLIST  res parse  (yes|no) "no">
70
        <!ATTLIST  res type CDATA "plain">
71
        <!ATTLIST  res encoding CDATA #IMPLIED>        
72

  
73
<!-- The panels section (indicates the panels to use) -->
74
<!ELEMENT panels (panel+)>
75
    <!ELEMENT panel EMPTY>
76
        <!ATTLIST panel classname CDATA #REQUIRED>
77

  
78
<!-- The listener section (indicates which listener where to use) -->
79
<!ELEMENT listeners (listener*)>
80
    <!ELEMENT listener ( os*)>
81
        <!ATTLIST listener compiler CDATA #IMPLIED>
82
        <!ATTLIST listener installer CDATA #IMPLIED>
83
        <!ATTLIST listener uninstaller CDATA #IMPLIED>
84

  
85
<!-- The packs section (indicates the packs to create) -->
86
<!ELEMENT packs (pack+)>
87
    <!ELEMENT pack (description, os*, file*, singlefile*, fileset*, updatecheck?, parsable*, executable*, depends*)>
88
        <!ATTLIST pack name CDATA #REQUIRED>
89
        <!ATTLIST pack id CDATA #IMPLIED>
90
        <!ATTLIST pack required (yes|no) #REQUIRED>
91
        <!ATTLIST pack preselected (yes|no) "yes">
92
        <!ATTLIST pack os CDATA #IMPLIED>
93
        <!ATTLIST pack loose (true|false) "false">
94
        <!ELEMENT description (#PCDATA)>
95
        <!ELEMENT file (os*, additionaldata*)>
96
            <!ATTLIST file src CDATA #REQUIRED>
97
            <!ATTLIST file targetdir CDATA #REQUIRED>
98
            <!ATTLIST file os (unix|windows|mac) #IMPLIED>
99
            <!ATTLIST file override (true|false|asktrue|askfalse|update) "update">
100
        <!ELEMENT singlefile (os*, additionaldata*)>
101
            <!ATTLIST singlefile src CDATA #REQUIRED>
102
            <!ATTLIST singlefile target CDATA #REQUIRED>
103
            <!ATTLIST singlefile os (unix|windows|mac) #IMPLIED>
104
            <!ATTLIST singlefile override (true|false|asktrue|askfalse|update) "update">
105
    <!ELEMENT fileset (include*, exclude*, os*, additionaldata*)>
106
          <!ATTLIST fileset dir CDATA #REQUIRED>
107
          <!ATTLIST fileset targetdir CDATA #REQUIRED>  
108
          <!ATTLIST fileset casesensitive (yes|no) "yes">  
109
          <!ATTLIST fileset defaultexcludes (yes|no) "yes">  
110
          <!ATTLIST fileset os (unix|windows|mac) #IMPLIED>
111
          <!ATTLIST fileset override (true|false|asktrue|askfalse|update) "update">
112
          <!ATTLIST fileset includes CDATA #IMPLIED>
113
          <!ATTLIST fileset excludes CDATA #IMPLIED>
114
      <!ELEMENT include EMPTY>
115
            <!ATTLIST include name CDATA #REQUIRED>
116
      <!ELEMENT exclude EMPTY>
117
            <!ATTLIST exclude name CDATA #REQUIRED>
118
      <!ELEMENT additionaldata EMPTY>
119
            <!ATTLIST additionaldata key CDATA #REQUIRED>
120
            <!ATTLIST additionaldata value CDATA #REQUIRED>
121
      <!ELEMENT parsable (os*)>
122
          <!ATTLIST parsable targetfile CDATA #REQUIRED>
123
          <!ATTLIST parsable type CDATA "plain">
124
          <!ATTLIST parsable encoding CDATA #IMPLIED>
125
          <!ATTLIST parsable os (unix|windows|mac) #IMPLIED>
126
      <!ELEMENT executable (args?, os*)>
127
          <!ATTLIST executable targetfile CDATA #IMPLIED>
128
          <!ATTLIST executable class CDATA #IMPLIED>
129
          <!ATTLIST executable type (bin|jar) "bin">
130
          <!ATTLIST executable stage (postinstall|never|uninstall) "never">
131
          <!ATTLIST executable failure (abort|warn|ask) "ask">
132
          <!ATTLIST executable keep (true|false) "false">
133
          <!ELEMENT args (arg+)>
134
              <!ELEMENT arg EMPTY>
135
                  <!ATTLIST arg value CDATA #REQUIRED>
136
          <!ELEMENT os EMPTY>
137
                  <!ATTLIST os family (unix|windows|mac) #REQUIRED>
138
                  <!ATTLIST os name CDATA #IMPLIED>
139
                  <!ATTLIST os version CDATA #IMPLIED>
140
                  <!ATTLIST os arch CDATA #IMPLIED>
141
      <!ELEMENT updatecheck (include*, exclude*)>
142
      <!ELEMENT depends EMPTY>
143
          <!ATTLIST depends packname CDATA #REQUIRED>
144

  
145
<!-- Allows the inclusion in the installer or uninstaller of a native library -->
146
<!ELEMENT native (os*)>
147
    <!ATTLIST native type (izpack|3rdparty) #REQUIRED>
148
    <!ATTLIST native name CDATA #REQUIRED>
149
    <!ATTLIST native stage (install|uninstall|both) "install">
150

  
151
<!-- Allows the inclusion in the installer of an additional jar file content -->
152
<!ELEMENT jar EMPTY>
153
    <!ATTLIST jar src CDATA #REQUIRED>
154
    <!ATTLIST jar stage (install|uninstall|both) "install">
trunk/extensions/extJCRS/install/IzPack/src/ant.properties
1
dist.subdir=_dist
2
dist.dir=${basedir}/${dist.subdir}
3
build.subdir=_build
4
build.dir=${basedir}/${build.subdir}
5
source=1.4
trunk/extensions/extJCRS/install/IzPack/src/build.xml
1
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
2

  
3
<project name="IzPack" default="all" basedir="..">
4

  
5
<!--
6
  $Id: build.xml 5819 2006-06-14 07:29:09Z cesar $
7
  build.xml first written by Pierre Dittgen (pierre.dittgen@criltelecom.com)
8
  This file is intended to be used with ant (http://jakarta.apache.org/ant),
9
  a java/xml makefile utility.
10

  
11
    14.8.2001: (by Pierre Dittgen)
12
  Creation of the build.xml. It only compile all the src files.
13

  
14
    16.8.2001: (by Pierre Dittgen)
15
  Added creation of compiler.jar, installer.jar and compilation of the
16
  panels.
17

  
18
    28.8.2001: (by Pierre Dittgen)
19
  Added compile.uninstaller and build.uninstaller targets to create the
20
  uninstaller.jar jar file.
21

  
22
    02.9.2001: (by Julien Ponge)
23
        Improved compilation options (optimizations, deprecation warnings) and
24
        changed the build dir to src/build. Fixed the compiling/building of the
25
        uninstaller.
26

  
27
    12.9.2001: (by Julien Ponge)
28
        Added creation/compilation of the frontend and its associated jar file.
29

  
30
    22.9.2001: (by Julien Ponge)
31
        Small fix in the all target that caused an error if the build dir was
32
        not yet created.
33

  
34
    14.10.2001: (by Julien Ponge)
35
        Added the XPanel compilation call.
36

  
37
    12.12.2001: (by Julien Ponge)
38
        Removed the 'clean' dependency for the 'all' target.
39

  
40
    12.02.2002: (by Julien Ponge)
41
        Moved the 'build' directory out of the src/ scope (usefull for my CVS
42
        files moving scripts).
43
        Added a markup to specify IBM Jikes as the compiler (just comment out to
44
        use another one).
45

  
46
    21.02.2002: (by Paul Wilkinson)
47
        Added tasks to compiler.compiler and build.compiler to build ant task class.
48

  
49
    02.03.2002: (by Julien Ponge)
50
        Modified the building of the panels so that the inner classes can be copied
51
        too.
52

  
53
    18.04.2002: (by Julien Ponge)
54
        Added the new com.izforge.izpack.util & com.izforge.izpack.util.os
55
        packages to the installer.jar build process.
56

  
57
    19.04.2002: (by Olexij Tkatchenko & Julien Ponge)
58
        Added "dist" target for bootstrapped IzPack package creation.
59

  
60
    01.06.2002: (by Julien Ponge)
61
        Changed the panels building process in order to enable the ShortcutData
62
        classes to be move in the same directory as the ShortcutPanel classes.
63

  
64
    15.06.2002: (by Julien Ponge)
65
        Added the ant-generated manifests in the clean target scope.
66

  
67
    03.07.2002: (by Julien Ponge)
68
        Added a target to generate some javadoc.
69

  
70
    12.01.2003: (by Julien Ponge)
71
        Separated the installer generation from the dist target so that it is
72
        much cleaner.
73

  
74
    13.01.2003: (by Julien Ponge)
75
        Enhanced the clean target.
76

  
77
    27.02.2003: (by Julien Ponge)
78
        Fixed the UserInputPanel building process to include all the required
79
        files.
80

  
81
    30.04.2003: (by Jonathan Halliday)
82
        Change to panel compilation target, for panel automation
83
        (silent install) support.
84
        
85
    05.07.2003: (by Julien Ponge)
86
        Added a target to fix the files encoding and cr/lf (fix.crlf).
87
    
88
    10.09.2003: (by Julien Ponge)
89
        Reformatting, 4 spaces tabs, got rid of residual hard tabs.
90
    
91
    19.09.2003: (by Julien Ponge)
92
        Added a run.installer target to test an installer.
93
    
94
    06.12.2003: (by Julien Ponge)
95
        Removed the frontend-related sections.
96

  
97
    16.12.2003: (by Julien Ponge)
98
        Added the SudoPanel building call.
99
    
100
    18.02.2004: (by Julien Ponge)
101
        New installer naming scheme (IzPack-install-{version}.jar).
102
    
103
    29.05.2004: (by Julien Ponge)
104
    	New SimpleFinishPanel.
105

  
106
    30.07.2004: (by Klaus Bartz)
107
        Simple CustomAction stuff added.
108
    
109
    09.09.2004: (by Klaus Bartz)
110
        Clean up of CustomActions added.
111
        New uninstaller-ext.jar with native helper stuff for native libs
112
           in uninstaller.
113
    14.10.2004: (by Klaus Bartz)
114
    	New izevent.jar with the base classes of the custom action stuff
115
    	  to support creation of custom action jars without IzPack source tree
116
   	25.10.2004: (by Klaus Bartz)
117
   	    "Standard" CustomActions AntActionInstallerListener and
118
   	      AntActionUninstallerListener added
119

  
120
  Mini-HowTo:
121

  
122
  To compile and package the compiler.jar jar file, type:
123
    ant build.compiler
124

  
125
  To compile and package the installer.jar jar file, type:
126
    ant build.installer
127

  
128
  To compile and package the uninstaller.jar jar file, type:
129
    ant build.uninstaller
130

  
131
  To compile the panels and put them in the bin/panels directory, type:
132
    ant build.panels
133

  
134
    To compile and package the frontend.jar jar file, type:
135
        ant build.frontend
136

  
137
  To make all, type:
138
    ant all
139
  or
140
    ant
141
  (this is the default target)
142

  
143
    To compile and create IzPack distribution package type:
144
    ant dist
145

  
146
    To delete the classes directory after packaging, just type:
147
    ant clean
148
  -->
149

  
150
    <!-- Compiler to use put your own here (jikes, modern, gcj, ...) -->
151
    <!--<property name="build.compiler" value="jikes" />-->
152

  
153
    <!-- Define directories -->
154
    <property file="src/ant.properties"/>
155
    <property name="ver" value="3.7"/>
156
    <property name="rel" value="2"/>
157

  
158
    <property name="src.dir" value="${basedir}/src/lib"/>
159
    <property name="img.dir" value="${basedir}/src/img"/>
160
    <property name="bin.dir" value="${basedir}/bin"/>
161
    <property name="doc.dir" value="${basedir}/doc"/>
162

  
163
    <property name="langpacks.subdir" value="langpacks"/>
164
    <property name="langpacks.dir" value="${basedir}/bin/${langpacks.subdir}"/>
165

  
166
    <property name="build.subdir" value="_build"/>
167
    <property name="build.dir" value="${basedir}/${build.subdir}"/>
168

  
169
    <property name="dist.subdir" value="_dist"/>
170
    <property name="dist.dir" value="${basedir}/${dist.subdir}"/>
171
    <property name="dist-files.dir" value="${basedir}/src/dist-files"/>
172

  
173

  
174
    <!-- Define file paths -->
175
    <property name="compiler.jar" value="${basedir}/lib/compiler.jar"/>
176
    <property name="compiler.manifest" value="${basedir}/src/compiler.manifest"/>
177
    <property name="standalone-compiler.jar" value="${basedir}/lib/standalone-compiler.jar"/>
178
    <property name="standalone-compiler.manifest" value="${basedir}/src/standalone-compiler.manifest"/>
179
    <property name="installer.jar" value="${basedir}/lib/installer.jar"/>
180
    <property name="installer.manifest" value="${basedir}/src/installer.manifest"/>
181
    <property name="uninstaller.jar" value="${basedir}/lib/uninstaller.jar"/>
182
    <property name="uninstaller.manifest" value="${basedir}/src/uninstaller.manifest"/>
183
    <property name="uninstaller-ext.jar" value="${basedir}/lib/uninstaller-ext.jar"/>
184
    <property name="izevent.jar" value="${basedir}/lib/izevent.jar"/>
185

  
186
    <property name="debug" value="true"/>
187
    <property name="debuglevel" value="lines,vars,source"/>
188

  
189
    <!-- paths -->
190
    <path id="classpath">
191
        <fileset id="ext.libs" dir="${basedir}/lib">
192
            <include name="ant.jar" />
193
            <include name="jakarta-regexp-1.3.jar" />
194
        </fileset>
195
    </path>
196

  
197
    <!-- Checking target -->
198
    <target name="check">
199
        <echo message="basedir=${basedir}"/>
200
        <echo message="dist.dir=${dist.dir}"/>
201
        <echo message="build.dir=${build.dir}"/>
202
        <echo message="debug=${debug}"/>
203
    </target>
204

  
205
    <!-- Creates the classes directory -->
206
    <target name="prepare">
207
        <mkdir dir="${build.dir}"/>
208
        <mkdir dir="${basedir}/lib"/>
209
        <mkdir dir="${dist.dir}"/>
210
        <tstamp/>
211
    </target>
212

  
213
    <!-- Compiles the compiler src files -->
214
    <target name="compile.compiler" depends="prepare">
215
        <javac srcdir="${src.dir}" destdir="${build.dir}" optimize="on" 
216
         source="${source}" deprecation="on" debug="${debug}" debuglevel="${debuglevel}" >
217
            <include name="com/izforge/izpack/*.java"/>
218
            <include name="com/izforge/izpack/compiler/*.java"/>
219
            <include name="com/izforge/izpack/ant/*.java"/>
220
            <include name="com/izforge/izpack/util/Debug.java"/>
221
            <include name="com/izforge/izpack/util/OsConstraint.java"/>
222
            <include name="net/n3/nanoxml/*.java"/>
223
        </javac>
224
        <copy todir="${build.dir}/com/izforge/izpack/ant/langpacks">
225
            <fileset dir="${src.dir}/com/izforge/izpack/ant/langpacks"/>
226
        </copy>
227
    </target>
228

  
229
    <!-- Package compiler.jar -->
230
    <target name="compiler.manifest">
231
        <manifest file="${compiler.manifest}">
232
            <attribute name="Built-By" value="IzPack"/>
233
            <attribute name="Class-Path" value="ant.jar"/>
234
            <attribute name="Main-Class" value="com.izforge.izpack.compiler.Compiler"/>
235
            <section name="com/izforge/izpack/compiler/">
236
                <attribute name="Specification-Title" value="IzPack compiler"/>
237
                <attribute name="Specification-Version" value="${rel}"/>
238
                <attribute name="Specification-Vendor" value="IzPack."/>
239
                <attribute name="Implementation-Title" value="IzPack compiler"/>
240
                <attribute name="Implementation-Version" value="${ver}"/>
241
                <attribute name="Implementation-Vendor" value="IzPack."/>
242
            </section>
243
        </manifest>
244
    </target>
245
    <target name="build.compiler" depends="compile.compiler, compiler.manifest">
246
        <delete file="${compiler.jar}" verbose="true"/>
247
        <jar jarfile="${compiler.jar}" manifest="${compiler.manifest}">
248
            <fileset dir="${build.dir}">
249
                <include name="com/izforge/izpack/*.class"/>
250
                <include name="com/izforge/izpack/compiler/*.class"/>
251
                <include name="com/izforge/izpack/util/OsConstraint.class"/>
252
                <include name="com/izforge/izpack/util/Debug.class"/>
253
                <include name="com/izforge/izpack/util/*Validator.class"/>
254
                <include name="com/izforge/izpack/util/*Processor.class"/>
255
                <include name="com/izforge/izpack/ant/*.class"/>
256
                <include name="com/izforge/izpack/ant/langpacks/*.properties"/>
257
                <include name="com/izforge/izpack/installer/VariableValueMap.class"/>
258
                <include name="com/izforge/izpack/installer/VariableValueMapImpl.class"/>
259
                <include name="com/izforge/izpack/installer/VariableSubstitutor.class"/>
260
                <include name="com/izforge/izpack/event/CompilerListener.class"/>
261
                <include name="com/izforge/izpack/event/SimpleCompilerListener.class"/>
262
                <include name="net/n3/nanoxml/*.class"/>
263
            </fileset>
264
        </jar>
265
    </target>
266

  
267
    <!-- Package standalone-compiler.jar -->
268
    <target name="standalone-compiler.manifest">
269
        <manifest file="${standalone-compiler.manifest}">
270
            <attribute name="Built-By" value="IzPack"/>
271
            <attribute name="Class-Path" value="ant.jar"/>
272
            <attribute name="Main-Class" value="com.izforge.izpack.compiler.Compiler"/>
273
            <section name="com/izforge/izpack/standalone-compiler/">
274
                <attribute name="Specification-Title" value="IzPack compiler"/>
275
                <attribute name="Specification-Version" value="${rel}"/>
276
                <attribute name="Specification-Vendor" value="IzPack."/>
277
                <attribute name="Implementation-Title" value="IzPack compiler"/>
278
                <attribute name="Implementation-Version" value="${ver}"/>
279
                <attribute name="Implementation-Vendor" value="IzPack."/>
280
            </section>
281
        </manifest>
282
    </target>
283
    <target name="build.standalone-compiler" depends="compile.compiler, standalone-compiler.manifest, build.installer, build.uninstaller, build.uninstaller-ext, build.panels, build.listener">
284
        <delete file="${standalone-compiler.jar}" verbose="true"/>
285
        <jar jarfile="${standalone-compiler.jar}" manifest="${standalone-compiler.manifest}">
286
            <zipfileset src="${installer.jar}"/>
287
            <zipfileset src="${compiler.jar}"/>
288
            <zipfileset src="lib/ant.jar"/>
289
            <fileset dir="${basedir}">
290
                <include name="bin/langpacks/flags/*"/>
291
                <include name="bin/langpacks/installer/*"/>
292
                <include name="bin/native/izpack/*"/>
293
                <include name="bin/native/3rdparty/*"/>
294
                <include name="bin/panels/*Panel.jar"/>
295
                <include name="bin/customActions/*.jar"/>
296
                <include name="lib/uninstaller.jar"/>
297
                <include name="lib/uninstaller-ext.jar"/>
298
                <include name="lib/installer.jar"/>
299
                <include name="lib/kunststoff.jar"/>
300
                <include name="lib/liquidlnf.jar"/>
301
                <include name="lib/metouia.jar"/>
302
                <include name="lib/looks.jar"/>
303
                <exclude name="**/CVS"/>
304
            </fileset>
305
        </jar>
306
    </target>
307

  
308
    <!-- Compiles the installer src files -->
309
    <target name="compile.installer" depends="prepare">
310
        <javac srcdir="${src.dir}" classpath="${basedir}/lib/jakarta-regexp-1.3.jar" destdir="${build.dir}" optimize="on" 
311
         source="${source}" deprecation="on" debug="${debug}" debuglevel="${debuglevel}">
312
            <include name="com/izforge/izpack/*.java"/>
313
            <include name="com/izforge/izpack/gui/*.java"/>
314
            <include name="com/izforge/izpack/installer/*.java"/>
315
            <include name="com/izforge/izpack/util/*.java"/>
316
            <include name="com/izforge/izpack/util/os/*.java"/>
317
            <include name="net/n3/nanoxml/*.java"/>
318
        </javac>
319
    </target>
320

  
321
    <!-- Package installer.jar -->
322
    <target name="installer.manifest">
323
        <manifest file="${installer.manifest}">
324
            <attribute name="Built-By" value="IzPack"/>
325
            <attribute name="Class-Path" value=""/>
326
            <attribute name="Main-Class" value="com.izforge.izpack.installer.Installer"/>
327
            <section name="com/izforge/izpack/installer/">
328
                <attribute name="Specification-Title" value="IzPack installer"/>
329
                <attribute name="Specification-Version" value="${rel}"/>
330
                <attribute name="Specification-Vendor" value="IzPack."/>
331
                <attribute name="Implementation-Title" value="IzPack installer"/>
332
                <attribute name="Implementation-Version" value="${ver}"/>
333
                <attribute name="Implementation-Vendor" value="IzPack."/>
334
            </section>
335
        </manifest>
336
    </target>
337
    <target name="build.installer" depends="compile.installer, installer.manifest">
338
        <delete file="${installer.jar}" verbose="true"/>
339
        <jar jarfile="${installer.jar}" manifest="${installer.manifest}">
340
            <fileset dir="${build.dir}">
341
                <include name="com/izforge/izpack/*.class"/>
342
                <include name="com/izforge/izpack/gui/*.class"/>
343
                <include name="com/izforge/izpack/installer/*.class"/>
344
                <include name="com/izforge/izpack/util/*.class"/>
345
                <include name="com/izforge/izpack/util/os/*.class"/>
346
                <include name="net/n3/nanoxml/*.class"/>
347
            </fileset>
348
            <zipfileset src="${basedir}/lib/jakarta-regexp-1.3.jar">
349
                <include name="org/apache/regexp/*.class" />
350
            </zipfileset>
351
            <fileset dir="${src.dir}">
352
                <include name="com/izforge/izpack/installer/*.xml"/>
353
                <include name="com/izforge/izpack/installer/*.properties"/>
354
            </fileset>
355
            <fileset dir="${img.dir}/installer"/>
356
        </jar>
357
    </target>
358

  
359
    <!-- Compiles the uninstaller src files -->
360
    <target name="compile.uninstaller" depends="prepare">
361
        <javac srcdir="${src.dir}" destdir="${build.dir}" optimize="on" 
362
         source="${source}" deprecation="on" debug="${debug}" debuglevel="${debuglevel}">
363
            <include name="com/izforge/izpack/LocaleDatabase.java"/>
364
            <include name="com/izforge/izpack/gui/*.java"/>
365
            <include name="com/izforge/izpack/util/*.java"/>
366
            <include name="com/izforge/izpack/uninstaller/*.java"/>
367
            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java"/>
368
            <include name="net/n3/nanoxml/*.java"/>
369
        </javac>
370
    </target>
371

  
372
    <!-- Package uninstaller.jar -->
373
    <target name="uninstaller.manifest">
374
        <manifest file="${uninstaller.manifest}">
375
            <attribute name="Built-By" value="IzPack"/>
376
            <attribute name="Class-Path" value=""/>
377
            <attribute name="Main-Class" value="com.izforge.izpack.uninstaller.Uninstaller"/>
378
            <section name="com/izforge/izpack/uninstaller/">
379
                <attribute name="Specification-Title" value="IzPack uninstaller"/>
380
                <attribute name="Specification-Version" value="${rel}"/>
381
                <attribute name="Specification-Vendor" value="IzPack."/>
382
                <attribute name="Implementation-Title" value="IzPack uninstaller"/>
383
                <attribute name="Implementation-Version" value="${ver}"/>
384
                <attribute name="Implementation-Vendor" value="IzPack."/>
385
            </section>
386
        </manifest>
387
    </target>
388
    <target name="build.uninstaller" depends="compile.uninstaller, uninstaller.manifest">
389
        <delete file="${uninstaller.jar}" verbose="true"/>
390
        <jar jarfile="${uninstaller.jar}" manifest="${uninstaller.manifest}">
391
            <fileset dir="${build.dir}">
392
                <include name="com/izforge/izpack/LocaleDatabase.class"/>
393
                <include name="com/izforge/izpack/gui/*.class"/>
394
                <include name="com/izforge/izpack/uninstaller/*.class"/>
395
                <include name="com/izforge/izpack/ExecutableFile.class"/>
396
                <include name="com/izforge/izpack/util/AbstractUI*.class"/>
397
                <include name="com/izforge/izpack/util/FileExecutor*.class"/>
398
                <include name="com/izforge/izpack/util/Console.class"/>
399
                <include name="com/izforge/izpack/util/Debug.class"/>
400
                <include name="com/izforge/izpack/util/Os*.class"/>
401
                <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.class"/>
402
                <include name="net/n3/nanoxml/*.class"/>
403
            </fileset>
404
            <fileset dir="${img.dir}/uninstaller"/>
405
        </jar>
406
    </target>
407

  
408
    <!-- Compiles the extended uninstaller src files -->
409
    <target name="compile.uninstaller-ext" depends="prepare">
410
        <javac srcdir="${src.dir}" destdir="${build.dir}" optimize="on" 
411
         source="${source}" deprecation="on" debug="${debug}" debuglevel="${debuglevel}">
412
            <include name="com/izforge/izpack/util/os/*.java"/>
413
            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java"/>
414
            <include name="net/n3/nanoxml/*.java"/>
415
        </javac>
416
    </target>
417
    <!-- Package extended uninstaller.jar used if one ore more native libs are
418
         declared for uninstallation -->
419
    <target name="build.uninstaller-ext" depends="compile.uninstaller-ext">
420
        <delete file="${uninstaller-ext.jar}" verbose="true"/>
421
        <jar jarfile="${uninstaller-ext.jar}" >
422
            <fileset dir="${build.dir}">
423
                <include name="com/izforge/izpack/util/Librarian.class"/>
424
                <include name="com/izforge/izpack/util/Housekeeper.class"/>
425
                <include name="com/izforge/izpack/util/TargetFactory.class"/>
426
                <include name="com/izforge/izpack/util/FreeThread.class"/>
427
                <include name="com/izforge/izpack/util/CleanupClient.class"/>
428
                <include name="com/izforge/izpack/util/NativeLibraryClient.class"/>
429
                <!-- Add helper etc. you need for uninstallation -->
430
            </fileset>
431
        </jar>
432
    </target>
433

  
434
    <!-- Compile a panel -->
435
    <target name="compile.panel">
436
        <echo message="Compiles panel ${panel}"/>
437
        <mkdir dir="${bin.dir}/panels/${panel-dir}"/>
438
        <javac srcdir="${src.dir}" 
439
               destdir="${bin.dir}/panels/${panel-dir}" 
440
               classpath="${installer.jar}" 
441
               optimize="on" 
442
               deprecation="on" 
443
               debug="${debug}"
444
	       source="${source}"
445
               debuglevel="${debuglevel}">
446
            <include name="com/izforge/izpack/panels/${panel}*.java"/>
447
        </javac>
448
    </target>
449

  
450
    <!-- Make JAR for a panel -->
451
    <target name="compile.panel.finish">
452
        <jar jarfile="${bin.dir}/panels/${panel}.jar">
453
            <fileset dir="${bin.dir}/panels/${panel}">
454
                <include name="**/*.class"/>
455
            </fileset>
456
        </jar>
457
    </target>
458

  
459
    <!-- convenience: compile simple panel and finish it -->
460
    <target name="compile.panel.simple">
461
        <antcall target="compile.panel">
462
            <param name="panel" value="${panel}"/>
463
            <param name="panel-dir" value="${panel-dir}"/>
464
        </antcall>
465
        <antcall target="compile.panel.finish">
466
            <param name="panel" value="${panel}"/>
467
        </antcall>
468
    </target>
469

  
470
    <!-- Compile all panels and put them at the right location -->
471
    <target name="build.panels" depends="build.installer">
472
        <antcall target="compile.panel.simple">
473
            <param name="panel" value="FinishPanel"/>
474
            <param name="panel-dir" value="FinishPanel"/>
475
        </antcall>
476
        <antcall target="compile.panel.simple">
477
            <param name="panel" value="HelloPanel"/>
478
            <param name="panel-dir" value="HelloPanel"/>
479
        </antcall>
480
        <antcall target="compile.panel.simple">
481
            <param name="panel" value="InfoPanel"/>
482
            <param name="panel-dir" value="InfoPanel"/>
483
        </antcall>
484
        <antcall target="compile.panel.simple">
485
            <param name="panel" value="InstallPanel"/>
486
            <param name="panel-dir" value="InstallPanel"/>
487
        </antcall>
488
        <antcall target="compile.panel">
489
            <param name="panel" value="InstallPanel"/>
490
            <param name="panel-dir" value="ExtendedInstallPanel"/>
491
        </antcall>
492
        <antcall target="compile.panel">
493
            <param name="panel" value="ExtendedInstallPanel"/>
494
            <param name="panel-dir" value="ExtendedInstallPanel"/>
495
        </antcall>
496
        <antcall target="compile.panel.finish">
497
            <param name="panel" value="ExtendedInstallPanel"/>
498
        </antcall>
499
        <antcall target="compile.panel.simple">
500
            <param name="panel" value="LicencePanel"/>
501
            <param name="panel-dir" value="LicencePanel"/>
502
        </antcall>
503
        <antcall target="compile.panel">
504
            <param name="panel" value="PacksPanelInterface"/>
505
            <param name="panel-dir" value="PacksPanel"/>
506
        </antcall>
507
        <antcall target="compile.panel">
508
            <param name="panel" value="PacksModel"/>
509
            <param name="panel-dir" value="PacksPanel"/>
510
        </antcall>
511
        <antcall target="compile.panel">
512
            <param name="panel" value="PacksPanelBase"/>
513
            <param name="panel-dir" value="PacksPanel"/>
514
        </antcall>
515
        <antcall target="compile.panel">
516
            <param name="panel" value="PacksPanel"/>
517
            <param name="panel-dir" value="PacksPanel"/>
518
        </antcall>
519
        <antcall target="compile.panel.finish">
520
            <param name="panel" value="PacksPanel"/>
521
        </antcall>
522
        <antcall target="compile.panel">
523
            <param name="panel" value="PacksPanelInterface"/>
524
            <param name="panel-dir" value="ImgPacksPanel"/>
525
        </antcall>
526
        <antcall target="compile.panel">
527
            <param name="panel" value="PacksModel"/>
528
            <param name="panel-dir" value="ImgPacksPanel"/>
529
        </antcall>
530
        <antcall target="compile.panel">
531
            <param name="panel" value="PacksPanelBase"/>
532
            <param name="panel-dir" value="ImgPacksPanel"/>
533
        </antcall>
534
        <antcall target="compile.panel">
535
            <param name="panel" value="ImgPacksPanel"/>
536
            <param name="panel-dir" value="ImgPacksPanel"/>
537
        </antcall>
538
        <antcall target="compile.panel.finish">
539
            <param name="panel" value="ImgPacksPanel"/>
540
        </antcall>
541
        <antcall target="compile.panel.simple">
542
            <param name="panel" value="HTMLLicencePanel"/>
543
            <param name="panel-dir" value="HTMLLicencePanel"/>
544
        </antcall>
545
        <antcall target="compile.panel.simple">
546
            <param name="panel" value="HTMLInfoPanel"/>
547
            <param name="panel-dir" value="HTMLInfoPanel"/>
548
        </antcall>
549
        <antcall target="compile.panel">
550
            <param name="panel" value="TargetPanel"/>
551
            <param name="panel-dir" value="TargetPanel"/>
552
        </antcall>
553
        <antcall target="compile.panel">
554
            <param name="panel" value="PathInputPanel"/>
555
            <param name="panel-dir" value="TargetPanel"/>
556
        </antcall>
557
        <antcall target="compile.panel">
558
            <param name="panel" value="PathSelectionPanel"/>
559
            <param name="panel-dir" value="TargetPanel"/>
560
        </antcall>
561
        <antcall target="compile.panel.finish">
562
            <param name="panel" value="TargetPanel"/>
563
        </antcall>
564
        <antcall target="compile.panel">
565
            <param name="panel" value="JDKPathPanel"/>
566
            <param name="panel-dir" value="JDKPathPanel"/>
567
        </antcall>
568
        <antcall target="compile.panel">
569
            <param name="panel" value="PathInputPanel"/>
570
            <param name="panel-dir" value="JDKPathPanel"/>
571
        </antcall>
572
        <antcall target="compile.panel">
573
            <param name="panel" value="PathSelectionPanel"/>
574
            <param name="panel-dir" value="JDKPathPanel"/>
575
        </antcall>
576
        <antcall target="compile.panel.finish">
577
            <param name="panel" value="JDKPathPanel"/>
578
        </antcall>
579
        <antcall target="compile.panel.simple">
580
            <param name="panel" value="XInfoPanel"/>
581
            <param name="panel-dir" value="XInfoPanel"/>
582
        </antcall>
583
        <antcall target="compile.panel">
584
            <param name="panel" value="ShortcutData"/>
585
            <param name="panel-dir" value="ShortcutPanel"/>
586
        </antcall>
587
        <antcall target="compile.panel">
588
            <param name="panel" value="ShortcutPanel"/>
589
            <param name="panel-dir" value="ShortcutPanel"/>
590
        </antcall>
591
        <antcall target="compile.panel.finish">
592
            <param name="panel" value="ShortcutPanel"/>
593
        </antcall>
594
        <antcall target="compile.panel">
595
            <param name="panel" value="UserInputPanel"/>
596
            <param name="panel-dir" value="UserInputPanel"/>
597
        </antcall>
598
        <antcall target="compile.panel">
599
            <param name="panel" value="RuleTextField"/>
600
            <param name="panel-dir" value="UserInputPanel"/>
601
        </antcall>
602
        <antcall target="compile.panel">
603
            <param name="panel" value="RuleInputField"/>
604
            <param name="panel-dir" value="UserInputPanel"/>
605
        </antcall>
606
        <antcall target="compile.panel">
607
            <param name="panel" value="Validator"/>
608
            <param name="panel-dir" value="UserInputPanel"/>
609
        </antcall>
610
        <antcall target="compile.panel">
611
            <param name="panel" value="Processor"/>
612
            <param name="panel-dir" value="UserInputPanel"/>
613
        </antcall>
614
        <antcall target="compile.panel">
615
            <param name="panel" value="ProcessingClient"/>
616
            <param name="panel-dir" value="UserInputPanel"/>
617
        </antcall>
618
        <antcall target="compile.panel">
619
            <param name="panel" value="PasswordGroup"/>
620
            <param name="panel-dir" value="UserInputPanel"/>
621
        </antcall>
622
        <antcall target="compile.panel.finish">
623
            <param name="panel" value="UserInputPanel"/>
624
        </antcall>
625
        <antcall target="compile.panel.simple">
626
            <param name="panel" value="CompilePanel"/>
627
            <param name="panel-dir" value="CompilePanel"/>
628
        </antcall>
629
        <antcall target="compile.panel.simple">
630
            <param name="panel" value="ProcessPanel"/>
631
            <param name="panel-dir" value="ProcessPanel"/>
632
        </antcall>
633
        <antcall target="compile.panel.simple">
634
            <param name="panel" value="SudoPanel" />
635
            <param name="panel-dir" value="SudoPanel" />
636
        </antcall>
637
    	<antcall target="compile.panel.simple">
638
            <param name="panel" value="SimpleFinishPanel"/>
639
            <param name="panel-dir" value="SimpleFinishPanel"/>
640
        </antcall>
641
    </target>
642

  
643
    <!-- Compiles the base custom action classes which should placed into
644
         izevent.jar  -->
645
    <target name="compile.listener_base" >
646
        <javac srcdir="${src.dir}" destdir="${build.dir}" optimize="on" 
647
         source="${source}" deprecation="on" debug="${debug}" debuglevel="${debuglevel}"
648
        classpath="${installer.jar};${compiler.jar}">
649
            <include name="com/izforge/izpack/event/ActionBase.java"/>
650
            <include name="com/izforge/izpack/event/Simple*nstallerListener.java"/>
651
            <include name="com/izforge/izpack/event/InstallerListener.java"/>
652
            <include name="com/izforge/izpack/event/UninstallerListener.java"/>
653
            <include name="com/izforge/izpack/util/IoHelper.java"/>
654
        </javac>
655
    </target>
656
    <!-- Package izevent.jar  -->
657
    <target name="build.listener_base" depends="compile.listener_base">
658
        <delete file="${izevent.jar}" verbose="true"/>
659
        <jar jarfile="${izevent.jar}" >
660
            <fileset dir="${build.dir}">
661
                <include name="com/izforge/izpack/event/*.class"/>
662
            	<include name="com/izforge/izpack/util/IoHelper.class"/>
663
                <exclude name="com/izforge/izpack/event/*Compiler*.class"/>
664
            </fileset>
665
        </jar>
666
    </target>
667
    <!-- Compile a listener -->
668
    <target name="compile.listener" >
669
        <echo message="Compiles listener ${listener}"/>
670
        <mkdir dir="${bin.dir}/customActions/${listener-dir}"/>
671
        <javac srcdir="${src.dir}" 
672
               destdir="${bin.dir}/customActions/${listener-dir}" 
673
               classpath="${installer.jar};${compiler.jar};${izevent.jar}" 
674
               optimize="on" 
675
               deprecation="on" 
676
               debug="${debug}"
677
	       source="${source}"
678
               debuglevel="${debuglevel}">
679
            <include name="${listener-include}/${listener}*.java"/>
680
        </javac>
681
    </target>
682

  
683
    <!-- Make JAR for a listener -->
684
    <target name="compile.listener.finish">
685
    	<unzip src="${izevent.jar}" dest="${bin.dir}/customActions/${listener}" />
686
        <jar jarfile="${bin.dir}/customActions/${listener}.jar">
687
            <fileset dir="${bin.dir}/customActions/${listener}">
688
                <include name="**/*.class"/>
689
                <exclude name="**/*${listener-exclude1}*.class"/>
690
                <exclude name="**/*${listener-exclude2}*.class"/>
691
            </fileset>
692
        </jar>
693
    </target>
694
    <!-- convenience: compile simple listener and finish it -->
695
    <target name="compile.listener.simple">
696
        <antcall target="compile.listener">
697
            <param name="listener" value="${listener}"/>
698
            <param name="listener-dir" value="${listener-dir}"/>
699
            <param name="listener-include" value="${listener-include}"/>
700
        </antcall>
701
        <antcall target="compile.listener.finish">
702
            <param name="listener" value="${listener}"/>
703
            <param name="listener-exclude1" value="${listener-exclude1}"/>
704
            <param name="listener-exclude2" value="${listener-exclude2}"/>
705
        </antcall>
706
    </target>
707

  
708
    <!-- simple installer listener -->
709
    <target name="compile.installer-listener.simple">
710
        <antcall target="compile.listener.simple">
711
            <param name="listener" value="${listener}"/>
712
            <param name="listener-dir" value="${listener-dir}"/>
713
            <param name="listener-include" value="${listener-include}"/>
714
            <param name="listener-exclude1" value="Uninstaller"/>
715
            <param name="listener-exclude2" value="_NO_MORE_EXCLUDES_"/>
716
        </antcall>
717
    </target>
718
    <!-- simple uninstaller listener -->
719
    <target name="compile.uninstaller-listener.simple">
720
        <antcall target="compile.listener.simple">
721
            <param name="listener" value="${listener}"/>
722
            <param name="listener-dir" value="${listener-dir}"/>
723
            <param name="listener-include" value="${listener-include}"/>
724
            <param name="listener-exclude1" value="Installer"/>
725
            <param name="listener-exclude2" value="_NO_MORE_EXCLUDES_"/>
726
        </antcall>
727
    </target>
728
    <!-- simple compiler listener -->
729
    <target name="compile.compiler-listener.simple">
730
        <antcall target="compile.listener.simple">
731
            <param name="listener" value="${listener}"/>
732
            <param name="listener-dir" value="${listener-dir}"/>
733
            <param name="listener-include" value="${listener-include}"/>
734
            <param name="listener-exclude1" value="Installer"/>
735
            <param name="listener-exclude2" value="Uninstaller"/>
736
        </antcall>
737
    </target>
738
    <!-- Compile all custom actions (listener) and put them at the right location -->
739
     <target name="build.listener" depends="build.compiler,build.installer,build.listener_base">
740
        <antcall target="compile.installer-listener.simple">
741
            <param name="listener" value="AntActionInstallerListener"/>
742
            <param name="listener-dir" value="AntActionInstallerListener"/>
743
            <param name="listener-include" value="com/izforge/izpack/event"/>
744
        </antcall>
745
        <antcall target="compile.uninstaller-listener.simple">
746
            <param name="listener" value="AntActionUninstallerListener"/>
747
            <param name="listener-dir" value="AntActionUninstallerListener"/>
748
            <param name="listener-include" value="com/izforge/izpack/event"/>
749
        </antcall>
750
     
751
       <!-- CUSTOM ACTION test START
752
        <antcall target="compile.compiler-listener.simple">
753
            <param name="listener" value="ChmodCompilerListener"/>
754
            <param name="listener-dir" value="ChmodCompilerListener"/>
755
            <param name="listener-include" value="com/myCompany/tools/install/listener"/>
756
        </antcall>
757
        <antcall target="compile.installer-listener.simple">
758
            <param name="listener" value="ChmodInstallerListener"/>
759
            <param name="listener-dir" value="ChmodInstallerListener"/>
760
            <param name="listener-include" value="com/myCompany/tools/install/listener"/>
761
        </antcall>
762
        COSTOM ACTION test END -->
763
    </target>
764

  
765
    <!-- Performs some cleanups -->
766
    <target name="clean">
767
        <echo message="Cleaning-up"/>
768
        <delete includeEmptyDirs="true" quiet="true">
769
            <fileset dir="${build.dir}"/>
770
            <fileset dir="${dist.dir}"/>
771
            <fileset dir="${basedir}/src/">
772
                <include name="*.manifest"/>
773
            </fileset>
774
            <fileset dir="${basedir}/bin/panels/">
775
                <include name="**/*"/>
776
            </fileset>
777
            <fileset dir="${basedir}/bin/customActions/">
778
                <include name="**/*"/>
779
            </fileset>
780
            <fileset dir="${basedir}/lib/">
781
                <include name="compiler.jar"/>
782
                <include name="standalone-compiler.jar"/>
783
                <include name="frontend.jar"/>
784
                <include name="installer.jar"/>
785
                <include name="uninstaller.jar"/>
786
                <include name="uninstaller-ext.jar"/>
787
            </fileset>
788
        </delete>
789
    </target>
790

  
791
    <!-- Builds all compilation targets -->
792
    <target name="all" depends="build.compiler,build.installer,build.uninstaller,build.uninstaller-ext,build.panels,build.listener,build.standalone-compiler"/>
793

  
794
    <!-- Builds the Javadoc -->
795
    <target name="build.javadoc" depends="prepare">
796
        <mkdir dir="${build.dir}/javadoc"/>
797
        <javadoc destdir="${build.dir}/javadoc" 
798
                 access="private" 
799
                 classpathref="classpath">
800
            <packageset dir="${src.dir}">
801
                <exclude name="**/CVS"/>
802
            </packageset>
803
        </javadoc>
804
        <copy todir="${doc.dir}/izpack/javadoc">
805
            <fileset dir="${build.dir}/javadoc">
806
                <include name="**/*"/>
807
            </fileset>
808
        </copy>
809
    </target>
810

  
811
    <!-- Creates an installer for IzPack -->
812
    <target name="generate.installer">
813

  
814
        <!-- Allows us to use the IzPack Ant task -->
815
        <taskdef name="izpack" classpath="${basedir}/lib/compiler.jar" classname="com.izforge.izpack.ant.IzPackTask"/>
816

  
817
        <!-- Copies the files to the dist directory -->
818
        <copy todir="${dist.dir}" includeEmptyDirs="yes">
819
            <fileset dir="${basedir}">
820
                <include name="bin/**"/>
821
                <include name="lib/*.jar"/>
822
                <include name="doc/**"/>
823
                <include name="legal/**"/>
824
                <include name="src/**"/>
825
                <include name="sample/**"/>
826
                <include name="*.txt"/>
827
            </fileset>
828
        </copy>
829
        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes">
830
            <fileset dir="${basedir}">
831
                <include name="langpacks/**"/>
832
            </fileset>
833
        </copy>
834
        <copy todir="${dist.dir}" includeEmptyDirs="yes">
835
            <fileset dir="${dist-files.dir}">
836
                <include name="useNativeLAF"/>
837
                <include name="*.jpg"/>
838
                <include name="*.png"/>
839
                <include name="*.html"/>
840
                <include name="Licence.txt"/>
841
                <include name="IzPack-install.xml"/>
842
                <include name="shortcutSpec.xml"/>
843
             <include name="Unix_shortcutSpec.xml"/>
844
            </fileset>
845
        </copy>
846
        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes" overwrite="yes">
847
            <fileset dir="${dist-files.dir}">
848
                <include name="izpack-fe*"/>
849
                <include name="compile*"/>
850
            </fileset>
851
        </copy>
852

  
853
        <!-- We call IzPack -->
854
        <echo message="Makes the installer using IzPack" level="verbose"/>
855
        <izpack input="${dist.dir}/IzPack-install.xml"
856
                output="${dist.dir}/IzPack-install-${ver}.${rel}.jar"
857
                installerType="standard" basedir="${dist.dir}"
858
                izPackDir="${dist.dir}/"/>
859

  
860
    </target>
861
  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff