[izpack-changes] r1799 - in izpack-src/tags: . 3.10.1 3.10.1/src 3.10.1/src/dist-files 3.10.1/src/lib/com/izforge/izpack/compiler

noreply at berlios.de noreply at berlios.de
Thu Mar 29 15:29:10 CEST 2007


Author: jponge
Date: 2007-03-29 15:29:07 +0200 (Thu, 29 Mar 2007)
New Revision: 1799

Added:
   izpack-src/tags/3.10.1/
   izpack-src/tags/3.10.1/Versions.txt
   izpack-src/tags/3.10.1/src/build.xml
   izpack-src/tags/3.10.1/src/dist-files/IzPack-install.xml
   izpack-src/tags/3.10.1/src/lib/com/izforge/izpack/compiler/Compiler.java
Removed:
   izpack-src/tags/3.10.1/Versions.txt
   izpack-src/tags/3.10.1/src/build.xml
   izpack-src/tags/3.10.1/src/dist-files/IzPack-install.xml
   izpack-src/tags/3.10.1/src/lib/com/izforge/izpack/compiler/Compiler.java
Log:
Tag for 3.10.1


Copied: izpack-src/tags/3.10.1 (from rev 1796, izpack-src/branches/3.10)

Deleted: izpack-src/tags/3.10.1/Versions.txt
===================================================================
--- izpack-src/branches/3.10/Versions.txt	2007-03-28 13:44:58 UTC (rev 1796)
+++ izpack-src/tags/3.10.1/Versions.txt	2007-03-29 13:29:07 UTC (rev 1799)
@@ -1,996 +0,0 @@
-[ The list of the different public versions of IzPack ]
-
-
-	> 3.10.1 (build 2007.xx.xx)
-	
-- Fixed NPE for pack.id == null (Fabrice Mirabile)
-- Packages that are not marked as preselected must also be removed from the selectedPacks
-  (Martina Angela Albrecht, via Fabrice Mirabile)
-- FreeDesktop XDG standard support for Gnome and KDE shortcuts support
-  (Vladimir Ralev via Julien Ponge)
-- Workaround for a Sun bug in Java 6 which crashes the installer in some non-english locales,
-  see http://jira.jboss.com/jira/browse/JBINSTALL-232 (Vladimir Ralev)
-- Replaced the default checkbox icons in Gnome/KDE since they do not grey-out when disabled
-  as notes in the helper label. This change is only effective for UNIX. (Vladimir Ralev)
-- Added localization support for column names in InstallationGroupPanel
-  (Markus Schlegel via Vladimir Ralev)
-- Finnish langpack updates (Ari Voutilainen via Julien Ponge)
-- Fix: Variables assigned by UserInputPanel are not available when the next page
-  nagivations rules are evaluated. http://jira.jboss.com/jira/browse/JBINSTALL-248
-  (Vladimir Ralev)
-- Fixed an XML error in the French langpack. (Julien Ponge, reported by Ari Voutilainen).
-- Compile listeners are included in izevent.jar (Julien Ponge).
-- PacksModel: the number of required bytes could be wrong when selecting and deselecting
-  packs. (Stefan Wachter via Julien Ponge)
-- Turkish langpack updated (Melih Cetin vie Julien Ponge)
-
-  > 3.10.0 (build 2007.01.29)
-
-- Added docu: executeForPack, executeclass,logfiledir  for ProcessPanel (Fabrice Mirabile)
-- Added docu: createForUnselectedPack for UserInputPanel (Fabrice Mirabile)
-- Added DataCheckPanel (Fabrice Mirabile & Hal Vaughan)
-- Bugfix at using OS dependant panels; dtd adapted to implementation of it
-  (Klaus Bartz, thanks to Francois Guillet).
-- Added Rulesengine, Conditions, panelconditions (Dennis Reil)
-- Fix DestroyButton in UninstallerFrame clickable only once (Dennis Reil)
-- Added conditions to UserInputPanel-fields (Dennis Reil)
-- Heading panel strings can be depend on the panelid (Klaus Bartz, thanks
-  to Stefan Wachter).
-- Registry access extended to keys and values directly under a root key
-  (Klaus Bartz, thanks to Markus Schlegel).
-- Added dtd for conditions (Dennis Reil)
-- Added support for panelid in InstallerImage-Definition (Dennis Reil)
-- Added support for customicons (Dennis Reil)
-- Fixed the DesktopShortcutCheckboxEnabled Builtin Variable in docu (Fabrice Mirabile)
-- Fixed build.xml (PathSelectionPanel without using TargetPanel) (Fabrice Mirabile)
-- UserInputPanel multiline label fix (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Fix for calling the IzPack Ant task from Maven builds (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Support for uncompressing archives and adding their content at the installer generation time (Nils Meier, via Julien Ponge)
-- Fix for default button changes when a text field receives focus in UserInputPanel (Vladimir Ralev, JBoss/RedHat, via Dennis Reil)
-- Use the 'ProgramFiles' environment variable to detect the Windows program files folder path. (Markus Schlegel via Julien Ponge)
-- TargetPanel.dir setting bug fix (Markus Schlegel via Julien Ponge)
-- Added support for packaging selection (Dennis Reil)
-- Added support for variables in UserInputPanel (Dennis Reil)
-- Non-interactive command-line uninstaller (Vladimir Ralev, JBoss/Redhat, via Julien Ponge)
-- PathSelectionPanel: the installation path could not be fully displayed in RedHat, Fedora and
-  Ubuntu (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Installations could fail if the installation path contained non-english characters
-  (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Non-English installation path could be displayed garbled in InstallSummary.html
-  (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Selected packs not being refreshed in the collection when the PackPanel is initialized
-  (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- Finnish localization updates (Ari Voutilainen via Julien Ponge)
-- Going back and forth between profile selection and packs selection made packs selection unavailable
-  (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)  
-- PathInputPanel: the close button had incorrect behavior for all path input question/notification messages
-  (Vladimir Ralev, JBoss/RedHat, via Julien Ponge)
-- PathInputPanel: logged a stacktrace on Linux systems when no defaultInstallDir was specified and
-  no TargetPanel.dir.x resource was present (Stefan Wachter via Julien Ponge)
-- Added MultiVolumePackager, MultiVolumeUnpacker, MultiVolumeInstaller to support splitting the installer (Dennis Reil)
-- Added conditions for packs to PacksPanel (Dennis Reil)
-- Loose packs fixes (Markus Schlegel via Julien Ponge)
-- UserInputPanel: possible scrambled text fix (Markus Schlegel via Julien Ponge)
-- UserInputPanel (Markus Schlegel via Julien Ponge):
-  - support for the new "installGroup"-attribute for the "programGroup" element of the shortcutSpec.xml
-  - late creation of shortcuts, for example in case ShortcutPanel is displayed before InstallPanel
-  - fixed a bug where each Shortcut-Subgroup influenced the remaining Shortcut creation
-- Added icon resource extension, to dynamically change installer icon (Dennis Reil)
-- New splash-screen (Romain Guy)
-
-  > 3.9.0 (build 2006.09.25)
-- Fix NullPointerException in CompilerConfig, if you specify a 
-	compiler listener and the compiler listener class can't be found (Dennis Reil)
-- Fix Accents In French Langpack (Fabrice Mirabile)
-- Update French Langpack (Julien Ponge)
-- New Indonesian Langpack (Hans Aikema, thanks to Thomas Edwin Santosa)
-- Updated Dutch Langpack (Hans Aikema) 
-- Fix for ComboBox in SearchField of UserInputPanel returning
-  java.lang.reflect.InvocationTargetException
-  if no options added.(Fabrice Mirabile, thanks to Oliver Kiddle)
-- Fix for the header of the window runs the message into
-  the filename (Fabrice Mirabile, thanks to Oliver Kiddle)
-- Added TroubleShooting for ShellLink.dll missing in help (DocBook and XHTML)
-  (Fabrice Mirabile).
-- Swing threading fixes (Julien Ponge).
-- Some fixes adviced by IntelliJ IDEA 5.1 code inspector (Julien Ponge).  
-- Spanish langpack update (Cesar Martinez Izquierdo).
-- New Polish langpack (Fabrice Mirabile, thanks to Radek)
-- Fixed the createPWD.sh (Fabrice Mirabile, thanks to Radek)
-- Workaround for crashes at end of installation with Java VM version
-  1.5 (also known as 5.0) (Klaus Bartz).
-- Updated russian langpack (Fabrice Mirabile)
-- Fixed indent of ShortcutPanels Headline (Marc Eppelmann)
-- Made available all IzPack Variable in the ShortCut Specs (Marc Eppelmann)
-- Configurable heading panel added to InstallerFrame (Klaus Bartz).
-- Panels counter (text or progressbar) useable in the heading or 
-  navigation panel (Klaus Bartz).
-- Fixed logfile for AntActions (Eric Rose).
-- PacksPanels: fixed disk space requirements (Ryan Shillington, via Julien
-  Ponge).
-- Compiler fix (Ryan Shillington, via Julien Ponge).
-- fixed Shotcut(s)(Panel) for Administrators on Win32 (Marc Eppelmann)
-- Fixes on Launcher, handling stuff (Julien Ponge)
-- MAC OS: Launcher is built as universal (ie, i386/ppc) binary  (Julien Ponge)
-- MAC OS: Qt is embedded in the application bundle  (Julien Ponge)
-- Added a variable for install log, InstallerFrame.logfilePath (Klaus Bartz).
-- Added the docu for install log (Fabrice Mirabile).
-- TwoColumnLayout fix (Amit Bhayani @JBoss/RedHat).
-- New compiler (packager) comandline argument -h for IZPACK_HOME; try to 
-  automatic resolving of IZPACK_HOME if not specified (Klaus Bartz).
-- New layout manager (IzPanelLayout) for simplify layouting of IzPanels. 
-  Configurable anchor, gaps, stretch rules etc. (Klaus Bartz).
-- Documentation figures refreshment (Julien Ponge).
-- Throw an IllegalArgumentException in the compiler if the declared panel
-  name differs in case from the founded class name (Klaus Bartz).
-- Re-Activated Shortcut Support for the Automated Installation (Marc Eppelmann).
-- Expanded Debug.log()'s possibility to log with Timestamp and or new Date()
-  Default is now: with both. (Marc Eppelmann).
-- Suppress a NullPointerException in the RuleInputField (Dennis Reil, via Marc
-  Eppelmann).
-- Merged normal installer and registry-enabled installers (Julien Ponge).
-- A potential null pointer exception has been discovered in Unpacker with a
-  custom action. (Dennis Reil, via Julien Ponge).
-- Implemented the X-KDE subsitute user - shortcut attribute (see Unix_shortcutSpec.xml)
-  (Marc Eppelmann).
-- Write Desktop shortcuts to all known local and ypbinded users "desktop" folders.
-  (Marc Eppelmann)
-- Write common shortcuts and their icons to the new freedesktop.org common
-  "/usr/share/applications"   and "/usr/share/pixmaps" folders to display 
-  these in the commons [start].menu (Marc Eppelmann)
-- New InstallationGroupPanel for grouping packs together (Amit Bhayani, Scott Starks,
-  Alex Pinkin @JBoss/RedHat, via Julien Ponge).
-- Variable substitution in the description-elements of the PacksPanel (Dennis Reil, via
-  Julien Ponge).
-- Added a src.tar.gz target in the build.xml to create a IzPack.src.tar.gz (Marc Eppelmann)
-
-  > 3.8.1 (build 2006.01.06)
-- Added Greek language support (Fabrice Mirabile, thanks to Panayotis
-  Katsaloulis for the translation and flag).
-- New splashscreen artwork (Nicolas Deschaume).
-- Added IPAdress and ClassPath variable (Fabrice Mirabile).
-- Added HostName variable (Fabrice Mirabile, thanks to Oliver Kiddle).
-- Fixes for IPAdress (Fabrice Mirabile).
-- Patch for WebAccessor: indeterminate progress bar (Julian Payne).
-- Finish language support update (Ari Voutilainen).
-- Script parser fix when no application URL is given.
-- Fix for installer spanning screens with xinerama.
-- Fix for bug #4551 (Weiji Guo).
-- Subgrouping of shortcuts (Weiji Guo).
-- Added Korean language support (Fabrice Mirabile, thanks to Dongsu Jang).
-- Added new panel SelectedPrinterPanel which allows the user to chose any local
-  printer installed and set it to the $SELECTED_PRINTER variable. (Hal Vaughan 
-  and Fabrice Mirabile).
-
-  > 3.8.0 (build 2005.10.27)
-- Added 2 processor classes having the ability to fill a combobox 
-  with all available unix user and groups (Thorsten Kamann)
-- All default values for the InputPanel (the values of the set attribute)
-  can conatins variables at now.  All
-  variables will be replaces by the VariableSubstitutor (Thorsten Kamann)
-- The resources of the target panel can contains variables at now. All
-  variables will be replaces by the VariableSubstitutor (Thorsten Kamann)
-- Fixed chinese Flag.
-- Patch for InstallerFrame to support user confirmation after pressing 
-  windows "X" closing button.
-- Update the IzPackTask to support an embedded xml installation document that
-  replaces @{x} property references with the corresponding ant property.
-  (patch #442 - Scott Stark).
-- Compiler refactor into an xml parser and xml independent compiler + Pack
-  group, installGroups (patch #439/440 - Scott Stark).
-- IzPack is now released under the terms of the Apache Software License 2.0.
-- Support for a jar attribute on the listener element (patch #432 - Scott Stark).
-- PacksPanels: translations loading fix (patch #446 - Stefan Heidrich).
-- Fixing bug with comboboxes. There was no text shown if you do not use a
-  processor to generate the choices. At now you can us the id or txt attribute
-  (Thorsten Kamann)
-- Uninstaller: use the system Look and Feel instead of the cross-platform one
-  (feature request #470).
-- The uninstaller name can be changed (Thomas Girard).
-- Documentation on the panels creation updates (Elmar Grom).
-- New SummaryPanel (Klaus Bartz).
-- New SummaryLoggerInstallerListener which loggs the summary
-  into a log file (Klaus Bartz).
-- Langpack up-to-date check script (Oscar Sierra | Klaus Bartz).
-- Custom langpacks (Klaus Bartz).
-- New variable APPLICATIONS_DEFAULT_ROOT (Klaus Bartz).
-- Bugfix in MultiLineLabel; now a line break will be performed also
-  it is needed at the last word of the line (Klaus Bartz).
-- Bugfix in JDKPathPanel: now it is possible to select an out-of-version
-  JDK (Klaus Bartz).
-- Properties can be substituted at compile time from the environment,
-  command line, java properties, ant, or <property> tag (Chad McHenry
-  and Scott Stark).
-- New Turkish langpack (Levent Bayindir).
-- Mac OS X: better Swing integration.
-- Configurable notation of language names in the language selection dialog 
-  (Christian Murphy | Klaus Bartz).
-- Fail message in SimpleFinishPanel (Klaus Bartz).
-- Interrupt handling changed (Klaus Bartz).
-- Fixed shortcuts for RedHat and Mandrake (Fabrice Mirabile, thanks to Vitor 
-  Rodrigues for the code).
-- New ConditionalUserInputPanel (Andreas Breiter, patches #407, #408).
-- ExecuteForPack, allow processing depending on the selected pack (Fabrice
-  Mirabile, thanks to Johannes Gutleber for the code).
-- Ant file cleanup: requires ant 1.6. Incremental builds of jar files.
-- Macrodefs instead of antcalls (Chad McHenry).
-- createForUnselectedPack, show a userinputapanel if a pack is not selected 
-  (Fabrice Mirabile, thanks to Stefano Gamma)
-- Registry support on Windows (Klaus Bartz).
-- New CheckedHelloPanel which checks already installed products (Klaus Bartz).
-- Most IzPackTask output for ant is only dumped in VERBOSE mode (Chad McHenry).
-- Introduction of a JUnit test suite.
-- Scripts for easier built of password validation and encrytion addon classes (Fabrice Mirabile)
-- standalone-compiler.jar no longer has duplicate entries (bug #3928).
-- Building process: Java source and target compatibility enforced to 1.4.
-- IzPack installer: use JGoodies Looks on *nix as MlF is buggy on 1.5.
-- "Made with IzPack label": enforce a specific font for the label, making it
-  look finally good with JGoodies Looks.
-- ImgPacksPanel: removed the useless/ugly border around the description area.
-- New compressor pack added to support different compression algorithm for the
-  packs; initial supported are "raw", "deflate" and "bzip2" (Klaus Bartz).
-- New documentation in XHTML Strict 1.0 + CSS (Fabrice Mirabile).
-- New documentation in DocBook (Fabrice Mirabile).
-- Unicode port of shortcuts and registry stuff (Klaus Bartz).
-- New Mac OS X icon (.icns).
-- Added the American Locale XML and Flad (Fabrice Mirabile thanks to Joe Favero)
-
-  > 3.7.2 (build 2005.04.22)
-
-- IoHelper.getPrimaryGroup: bugfix for SunOS (Klaus Bartz).
-- Russian langpack fixes (Alexey Makhmutov).
-- Swedish langpack update (Nils Nordman).
-- Spanish langpack update (Juan Alvarez).
-- UserInputPanel: made 'instanceNumber' a protected atribute (patch #406,
-  Andreas Breiter).
-
-  > 3.7.1 (build 2005.02.15)
-
-- The Danish langpack was empty by mistake in 3.7.0.
-- Silent installations fix (Oscar Sierra).
-- Free disk space bugfix on Solaris (Oscar Sierra).
-- Installation runable with VM versions < 1.4 again (Klaus Bartz) 
-  (implementation for bug #2268 changed).
-- Italian langpack fixes (Fabrice Mirabille).
-- UserInputPanel: bug fixes by Per Abich (bugs #3233 and #3283).
-- Russian langpack fixes (Alexey Makhmutov).
-- ProcessPanel log file creation fix on Win32 (Anthony Xin Chen).
-- IoHelper.getenv: on Windows keys are not case sensitive (Klaus Bartz).
-
-  > 3.7.0 (build 2005.01.11)
-
-- Adding custom action stuff for packaging, installation and uninstallation
-  (Klaus Bartz).
-- The packs files can now be located on disk if needed, for instance to install
-  an application located on a live cd (Erik Artzmark).
-- The attributes "includes" and "excludes" now are supported for filesets
-  (Klaus Bartz).
-- As many sensitive clean-ups as possible have been made after a FindBugs run.
-- Support of native libraries and additional jar files in the uninstaller (Klaus Bartz).
-- InfoPanel: variables substitution is now allowed (Borje Jonsson).
-- InstallPanel supports internationalized package names (Gaganis Giorgos).
-- Support for package dependencies (Gaganis Giorgos).
-- ShortcutPanel: can be optionally skipped on non-supported platforms.
-- PacksPanels: free disk space stuff (Klaus Bartz).
-- New Malaysian langpack (Redhuan Daniel Oon).
-- System properties can now be used as variables (Borje Jonsson).
-- New Norwegian langpack (Mohammed Sourouri).
-- New Chinese langpack (Xi Ping Wang).
-- The language selection box will now appear in the Windows tasks list (Harald
-  Spfle).
-- Spanish langpack update (David Perez Carmona).
-- Fix that prevented the correct detection of OS X.
-- Custom actions for ant calls (Klaus Bartz).
-- IzPanel.setInitialFocus( Component ) stuff added (Klaus Bartz).
-- Configurable button and label icons (Klaus Bartz).
-- Configurable subpath for $INSTALL_PATH default (Klaus Bartz).
-- New base class PathInputPanle for TargetPanel; new JDKPathPanel (Klaus Bartz).
-- Common helper in IzPanel (Klaus Bartz).
-- JGoodies loading fix.
-- Unified OS detection in OsVersion (Hani Suleiman).
-- Default installation path on unix now checks for writable 'usr/local' instead
-  of 'root' username (Hani Suleiman).
-- Removed incomplete and non-functional support for Mac OS9 (Hani Suleiman).
-- Fixed punctuation and some wording in English langpack (Hani Suleiman).
-- Logfile for ProcessPanel (Klaus Bartz).
-- Automatic scrolling of ProcessPanel output (Anthony Xin Chen).
-- Fixed bug parsing some brace enclosed variables (Chad McHenry) (bug #2451).
-- New Serbian translation (Filip Brcic).
-- Bug at loading Panels from other packages fixed (Klaus Bartz).
-- Unix (KDE/Gnome) shortcuts support (Marc Eppelmann).
-- ShortcutPanel: going to a previous panel could lead to strange situations
-  (bug #2713).
-- Installers: avoid showing an empty JFrame behind the languages selection
-  dialog (observed on X11).
-- UserInputPanel: the autodetect button is hidden if not needed 
-  (Michael Hagedorn).
-- A tutorial is now available.
-- New Czech langpack (Jan Pavlovic).
-- German langpack: the uninstaller checkbox string was confusing about the
-  uninstaller performing a full deletion, including the files not unpacked
-  by an IzPack installer.
-- Liquid LnF: version bump (0.2.9-alpha5).
-
-  > 3.6.1 (build 2004.10.09)
-
-- Slovak translation updates (Milan Madzia).
-- Java class execution bug fix (Erik Artzmark).
-- ImgPacksPanel was not aware of i18n by using the packsLang.xml_xxx resource.
-- Portuguese langpack updates (Flavio Fonseca).
-- Blocking the GUI interaction (like in InstallPanel) was only working with the
-  mouse events. It now works with the keyboard ones too (Eduard Jodas Samper).
-- TargetPanel: refuse selecting read-only directories.
-- Documentation fixes.
-- TargetPanel: more sanity checks (Andreas Vox).
-- InstallPanel: register errors as failures (Andreas Vox).
-- Polish translation updates (Bronek Truzkowski).
-  > 3.6.0 (build 2004.07.28)
-- New Danish langpack (Frank Bille Jensen).
-- Web installers can now prompt for passwords and a proxy (Chad McHenry).
-- Fixed all javadoc warnings and errors (Chad McHenry).
-- ImgPacksPanel has been reworked to offer some features that only PacksPanel
-  had (Volker Friedritz).
-- Panels can be from any package (Chad McHenry)
-- Uninstaller not included, if it is not to be written anyway (Chad McHenry).
-- Packager and Compiler refactored.
-- Changed the JFrame icon shown in the installers and uninstallers.
-- New SimpleFinishPanel that don't have the automated installers feature.
-- Heavy refactorings on the look and feels side. The Kunststoff packagers have
-  been removed. The look and feels can now be specified on a per-OS basis. If
-  no look and feel is specified for a particular OS, then the platform default
-  one will be used.
-- The IzPack own installer uses the ImgPacksPanel again with some refreshed
-  packages pictures.
-- UserInputPanel: more parameters and a regular expressions validator have been
-  added (Mike Cunneen).
-- 3 new UserInputPanel validators (Thorsten Kamann):
-  * PortValidator (checks whether a port on localhost is available)
-  * IsPortValidator (checks whether the enterd value is a port in the range
-    between 0 and 32000)
-  * HostAddressValidator (checks whether the combination host:port is available)
-- 1 new UserInputPanel processor that checks checks whether the combination of
-  host:port is available. If not the port will be arised until it is available.
-  (Thorsten Kamann)
-- Web install location specified in xml, not resource. (Chad McHenry)
-- Web installer packs are in separate jars to minimize downloads. (Chad McHenry)
-- fix bug so <fileset> uses same default excludes as ant. (Chad McHenry)
-- added 'defaultexcludes' attribute to <fileset> (Chad McHenry)
-- More elements in dtd are optional, fixed bugs causing errors if certain
-  optional elements were omitted. (Chad McHenry)
-- It is now possible to have a specific picture for a specific panel by using
-  the Installer.image.n resources where n is the panel 0-based index.
-  (Peter Mikula).
-- Adding support for i18n to the pack panel (Thorsten Kamann)
-- Removing limtation the going backward is disabled if a pack not selected and
-  the pack using a panel (Thorsten Kamann)
-- Adding support for floating text in a langpack file (Thorsten Kamann).
-- At now you can specify a processor class to pre process the set value of a
-  RuleInputField (Thorsten Kamann).
-- The choices of a combo box can be generated throug a processor class
-  (Thorsten Kamann).
-- The message of a validator can be a i18n message (Thorsten Kamann).
-- If a translation string value cannot be found, then the key will be returned
-  instead of null, avoiding null exceptions when new strings are added.
-- The finish panels are now setting the quit button text to 'Finish' instead of
-  'Quit', which could confuse some users (Dario Yuri).
-- Many Windows shortcuts code fixes and enhancements (Bill Wong).
-- UserInputPanel and PacksPanel i18n support (Gaganis Giorgos).
-- ProcessPanel can now execute Java classes (Alex Bradley).
-- TargetPanel: pressing enter in the target editor will move to the next panel
-  (Gaganis Giorgos).
-- Polish langpack fix (Bronek Truszkowski).
-
-  > 3.5.4 (build 2004.06.05)
-
-- German langpack fixes once again (Klaus Bartz).
-- Slovak langpack fix (pbe at whitestein.com).
-- The variable for the ISO3 language code was IS03_LANG instead of ISO3_LANG (a
-  zero instead of a 'o'). This stupid bug is now fixed (bug report #1883).
-- Catalan langpack update (Oscar Aubareda Fernandez).
-- UserInputPanel: fix for the directory detection failure (bug #1849) + added
-  the possibility to use a '*' in the choices
-  (ex: <choice value="/opt/java/*"/>). Patch by Thorsten Kamann.
-
-  > 3.5.3 (build 2004.05.15)
-
-- German langpack punctuation fixes (jonelo).
-- TargetPanel: the target path could be written several times in the automated
-  install XML descriptor (bug #1864).
-- TargetPanel: the path is now always converted to absolute (could cause
-  problems in variables substitutions). (bug #1866).
-- Target Panel: the path input field could be a bit short if a picture was used.
-  Fixed by Klaus Bartz (bug #1875).
-- German langpack: spelling correction (Dustin Sacks)
-- Fixed probelems creating a web-kunststoff installer (bug #1904)
-- IzPack installer: simpler and refreshed readme text.
-
-  > 3.5.2 (build 2004.05.01)
-
-- Fixed moving empty directory to root (pbe at whitestein.com).
-- UserInputPanel getResult() fix (bug #1769).
-- Slovak langpack fix (patch #88).
-- A new mailing-list izpack-changes at lists.berlios.de has been set up to receive
-  various development-related notifications.
-- German langpack fix (bug #1828).
-- Web installer fix: wrong jar was getting izpack classes
-- RuleTextField input bug fix (bug #1618)
-
-  > 3.5.1 (build 2004.03.16)
-
-- No custom look and feel will be applied on Mac platforms (Chad McHenry).
-- A message box is now raised when the installer detects that the Java version
-  it is running on is lower than the one required by the package provider.
-- The Win32 documentation shortcuts are now back again.
-- If 'user.home' is set to something like 'C:' on Windows, it will be changed to
-  'C:\'.
-- German langpack: minor fix on 'LicencePanel.agree' translation.
-- UserInputPanel.getResult(): path construction fix (bug #1634).
-
-  > 3.5.0 (build.2004.02.26)
-
-- The developer services have moved to BerliOS (http://developer.berlios.de/).
-- Uninstaller is now able to delete itself and the install directory
-  (Chad McHenry)
-- Upate Checking: The installer is now able to "update" an already installed
-  package, therefore removing superfluous files after installation
-  (Tino Schwarze).
-- Dutch langpack update (Hans Aikema).
-- The compiler now emits some warnings when processing an incorrect installation
-  file (Chad McHenry / Marcus Stursberg).
-- New SudoPanel (Jan Blok).
-- ShortcutPanel: the action is now performed when the 'next' button is pressed
-  (Jan Blok).
-- Nasty bug in AutomatedInstallData variables setting fix.
-- Ant build: 'clean' target fix (Chad McHenry).
-- Language selection dialog: the 'ok' button gains the focus by default (Chad
-  Mchenry).
-- Uninstaller: various fixes (Chad McHenry).
-- Installer: the 'next' button requests focus whenever it is available.
-- Switched to the Crystal icons from KDE 3.2.
-- Uninstaller: proper use of the ButtonFactory.
-- Packs can now be restricted to a certain OS list (Jan Blok).
-- Fixed a bug that caused the automated installers to produce broken installers
-  (bug #1472).
-- Files with the same file source are never stored more than once anymore in the
-  resulting installer jar (Jan Blok).
-- Various documentation refreshments. The PostScript[tm] version is not produced
-  anymore (PDF + HTML are the 2 targets).
-- Language selection box: UI rendering fix (Chad McHenry).
-
-  > 3.4.0 (build 2003.12.06)
-
-- The frontend which had been deprecated in 3.3.0 has been removed. There won't
-  be another frontend until someone volunteers to make a new one.
-- The files executor has been fixed when dealing with classpath arguments
-  passing.
-
-  > 3.3.0 (build 2003.11.15)
-
-- Various bugs fixed (taken from the bugs database).
-- The current GUI frontend is deprecated. The project is looking for people to
-  take over the development of a new one.
-- The compiler now returns a sensible exit code on error. This way, it can be
-  used in scripts.
-- Italian localization updates by Cristian Ghezzi.
-- Win32: Rewrote the localization of "Program Files" and added support for all
-  24 localized versions of Windows 2000/XP (Dennis Lundberg).
-- Portuguese localization updates from Alex Carlos Braga Antao.
-- Swedish localization updates from Dennis Lundberg.
-- InstallPanel: the overall progress bar makes steps forward only after a pack
-  has been fully processed. The previous behaviour was to step forward at the
-  beginning of a pack extraction.
-- CompilePanel: disable Start button after successful compilation (T.Schwarze).
-- improve search field of the UserInputPanel: add checkfilename (T.Schwarze).
-- XInfoPanel: UI fix.
-
-  > 3.2.1 (build 2003.09.19)
-
-- Added a new built-in variable ISO3_LANG that contains the selected language
-  ISO3 code (Elmar's idea).
-- Added a new 'run.installer' target to the Ant build file.
-- Added an uninstall target to the documentation makefile.
-
-  > 3.2.0 (build 2003.09.18)
-
-- Added 3 built-in variables that you can use with the variables substitutor:
-  o APP_NAME for the application name
-  o APP_URL for the application URL
-  o APP_VER for the application version.
-- New ProcessPanel (Tino Schwarze).
-- The documentation is now licensed under a Commons Creative license.
-- The documentation now has a nicer cover page.
-- Jar file execution fix on the classpath arguments passing.
-- Win32: "Program Files" can now be localised (resolves problems with German
-  Windows for instance).
-- com.izforge.izpack.util.OsConstraint was missing in uninstaller.jar .
-- Small documentation typing errors fixed.
-- Added an install target to the documentation Makefile.
-- Frontend: Jar files could be listed in the panels tab. Fixed.
-- The scripts execution flag is now set to every users on Unix-like systems
-  (chmod a+x), regardless of who the user is (i.e. root or a single user).
-- Reformatting (imports, Ant build file).
-
-  > 3.1.0b (build 2003.08.22)
-
-- Fix in the standalone compiler (Tino Schwarze).
-
-  > 3.1.0a (build 2003.08.15)
-
-- Fixes a bug while generating a Kunststoff installer.
-
-  > 3.1.0 (build 2003.08.11)
-
-- Added the possibility to use a standalone compiler (Tino Schwarze).
-- Added a new target to the Ant build system in order to fix the files CR/LF and
-  encodings.
-- Includes the following enhancements from Jonathan Halliday and Tino Schwarze.
-- Added overall progress bar to InstallPanel
-- Added SearchField to the UserInputPanel which allows to search for
-  files or directories at installation time
-- Added CompilePanel which allows Java classes to be compiled after
-  installation
-- Add infrastructure for automated installation - after installation,
-  the FinishPanel allows the user to save an XML file which can later be
-  used for automated installation (simply pass it to the installer as an
-  argument, for example:
-    java -jar my_super_program.jar super_program_autoinstall.xml
-  )
-- (internal) add infrastructure for GUI abstraction
-- Improved documentation:
-  o build better PDF using pdflatex (with hyperlinks and bookmarks)
-  o reorganize documentation for the <packs> section
-- Add <singlefile> tag which is useful if a file's name after
-  installation is different from the source file name
-- Add support for os attribute and <os> tag to all pack entries
-  (hopefully, the DTD is correct)
-- Allow files to be kept after execution
-- Allow packs to be preselected for installation or not
-- Allow packs to be OS dependent
-- Provide finer control when overwriting files:
-  o ask for overwriting, default yes
-  o ask for overwriting, default no
-  o update (only considers mtime - no real update)
-- Allow absolute paths in source files (might already be in 3.0.9)
-- Finer error handling - report missing attributes
-- (internal) TwoColumnLayout now supports WESTONLY and EASTONLY
-- (internal) made the ResourceManager a singleton
-- Add new kind of script parsing: shell - used %{variable} syntax to
-  avoid clashes within shell scripts
-
-  > 3.0.9 (build 2003.06.29)
-
-- New Romanian language pack (Dani Orza).
-- Absolute paths problems patch (Tom Moore).
-- DTD, documentation fixes.
-
-  > 3.0.8a (build 2003.05.02)
-
-- A bug had been introduced in 3.0.8 during the files extraction. Fixed.
-- Polish langpacks update.
-
-  > 3.0.8 (build 2003.04.26)
-
-- Packs OS-targeting (Fran Taylor).
-- OS selection improved accuracy (Sanjay Linganna).
-- The standard installers can now use the native look and feel if the
-  'useNativeLAF' resource is specified (nice feature especially with the
-  incoming JDK 1.4.2).
-- The standard installers get back the button icons and highlighting effects.
-- Russian langpack update (Igor Anikeev).
-- Directory creation patch (Jonathan Halliday).
-
-  > 3.0.7 (build 2003.04.04)
-
-- Slovakian langpack thanks to Milan Madzia.
-- Japanese, Russian and Dutch langpacks updates.
-- The uninstallers can now run scripts thanks to a patch from Hani Suleiman.
-
-  > 3.0.6 (build 2003.02.27)
-
-- Updated the French and German langpacks.
-- Fixed the building process to take care of all classes related to the InputPanel.
-- Made some fixes on the installers DTD.
-- Elmar Grom / UserInputPanel:
-  o Fixed a bug with the drop down box that always return the value for the last
-    option in it, regardless of what had been selected during installation.
-  o Implemented the automated installer mode.
-  o RuleInputTextField can now be validated and processed with custom code
-    (documentation to come soon).
-  o A password field is now available and can also be validated and processed
-    with custom code (documentation to come soon).
-
-  > 3.0.5 (build 2003.02.14)
-
-- This release becomes the new stable version, waiting for the 3.1 release which
-  is not yet ready. The stable/unstable versions separation is suspended.
-- Fixed a TargetPanel inconsistency when the target directory is empty.
-- Fixed Ant filesets-related problems.
-- UI fonts fixes for Linux/Sun JDK-1.4.
-- Empty directories can now be included.
-- IzPack's own installer now makes uses of the Ant-style filesets.
-- Splitted the documentation pack into several ones.
-- MacOS X UI fixes (Hani Suleiman).
-
-  > 3.1.0 pre5 (build 2003.01.12)
-
-- Included Elmar's new UserInputPanel documentation.
-- A panel can now be added several times in an installation. This is mostly
-  useful for the new UserInputPanel.
-- Separated the installer generation from the 'dist' target in the Ant building
-  process. The new target is 'generate.installer'.
-- Move the com.izforge.izpack.util.EtchedBorder class to com.izforge.izpack.gui.
-  The class has also been rewritten because the original code was introduced
-  with a proprietary license notice.
-
-  > 3.1.0 pre4 (build 2002.12.08)
-
-- A lot of installer GUI improvements by Jan Blok :
-  o an image can be shown in the installer left side
-  o buttons will look great under OSX
-  o HelloPanel : don't display authors if not present
-  o InstallPanel : immediate installation launching (the silly install button
-    has gone to heaven)
-  o LicencePanel : better GUI
-  o PackPanel : use table and display description, complete rewrite of this
-    panel
-  o IzPackMetalTheme : Tahoma is used if present on the target machine.
-- New UserInputPanel that allows to prompt the users for some values that can
-  later be stored as variables that can be parsed for in files (Elmar Grom).
-  Sorry but I did not have time to include the related documentation at the
-  release time.
-
-  > 3.1.0 pre3 (build 2002.11.24)
-
-- Restyled, cleaned, javadoc'ed the whole IzPack source code.
-- The full IzPack source code Javadocs are generated when making a release.
-- Wiped the Enroll* classes that were polluting IzPack.
-- Added the creation of shortcuts for the IzPack documentation and the
-uninstaller.
-
-  > 3.1.0 pre2 (build 2002.10.19)
-
-- New (and clean) ResourceManager thanks to Marcus Stursberg.
-- Shorcut fixes by Elmar Grom.
-
-  > 3.1.0 pre1 (build 2002.09.21)
-
-- When InstallPanel was the last panel, it unlocked the next button and this was
-  of course not the desired behaviour.
-- ImgPacksPanel and PacksPanel can now display the total disk space required
-  (Adam Barclay for this task).
-- MacOSX GUI fix thanks to Hani Suleiman.
-- GUI Frontend fixes by Andrew De Torres.
-- Support for files overriding behaviour (override or keep old version if
-  present) by Adam Barclay.
-- New Italian langpack thanks to Franco Graziosi.
-
-  > 3.0.0 (build 2002.08.13)
-
-- First stable release of the 3.x series ;-)
-- Ant task : the trailing '/' is appended on the IzPack directory when it is
-  omitted (Gareth Cronin).
-- Many improvements on the documentation which should be quite fine - Elmar Grom
-  helped a lot on this.
-- Updated ant.jar from the Ant 1.5 stable release.
-- German language pack fixes by Jonelo.
-
-  > 3.0.0 rc3 (build 2002.07.28)
-
-- The Japanese langpack has been fixed by Akky Akimoto (now Windows shortcuts
-  compliant).
-- Windows shortcuts counterpart is now fully working thanks to the big efforts
-  of Elmar Grom with the additional help of Marcus Stursberg.
-- Documentation mispelling fixes and additions by Elmar Grom.
-
-  > 3.0.0 rc2 (build 2002.07.06)
-
-- Added some documentation on the *LicencePanel and *InfoPanel panels.
-- Bugfix in HTMLLicencePanel.
-- The uninstaller is now able to take care of the jar new location (under the
-  install path) and wipes everything cleanly.
-- The 'create shortcut' button in ShortcutPanel is now disabled after the
-  shortcuts are created.
-
-  > 3.0.0 rc1 (build 2002.07.03)
-
-- Fixes on the shortcuts sytem.
-- New Hungarian language pack thanks to Harsan Peter.
-- New Japanese language pack thanks to Hiroki Akimoto.
-- New documentation.
-- Fixed many source coding style errors.
-- Coding guidelines publication.
-- Some Javadoc text is now generated for those who need to make panels.
-
-  > 3.0.0 pre4 (build 2002.06.15)
-
-- Polish language pack thanks to Piotr Bzdyl.
-- Shortcut system fixes.
-- The IzPack installer is now able to create shortcuts on Windows systems
-  while not creating any problem on another Operating System.
-- Catalan language pack thanks to Oscar Aubareda Fernandez.
-- The uninstaller is now copied under $INSTALL_PATH/Uninstaller.
-- Closing the language selection box of an installer will (finally !) close
-  the installer.
-- Removed the same named directories and files from the installers jars.
-- The ShortcutPanel now uses the IzPack highlighted buttons.
-- Many improvements from the e-xmlmedia.fr people including the Ant fileset
-  support, all these features will be documented in the coming new
-  documentation.
-
-  > 3.0.0 pre3 (build 2002.05.19)
-
-- HTML licence panel agreement system fix by Jonelo.
-- Official inclusion of Elmar Grom's Windows library to create some shortcuts on
-  this operating system.
-( following : Johannes Lehtinen )
-- Cleaned up the InstallData interface and added utility methods.
-- Made the special variables (such as $INSTALL_PATH) available to panels using
-  the standard interface.
-- Made InstallData a singleton class.
-- Added InstallData properties for Panel interoptability.
-- Added a new variable : $FILE_SEPARATOR.
-
-  > 3.0.0 pre2 (build 2002.04.27)
-
-- Fixes & enhancements in the executable files support (Olexij Tkatchenko).
-- 2 new splash screens by Nicolas Deschaume.
-- The launching scripts of the pre1 were corrupted.
-
-  > 3.0.0 pre1 (build 2002.04.21)
-
-- Enhanced splash #5 by Nicolas Deschaume.
-- Improved uninstalling system giving an access to the panels.
-- Image support at the language selection dialog through an optionnal resource
-  (installer.langsel.img).
-- Added executable element support (Olexij Tkatchenko).
-- /usr/local is now the default installation directory only for root user,
-  normal users will have $HOME instead (Unix* - Olexij Tkatchenko).
-- New Ukrainian language support (Olexij Tkatchenko).
-- The uninstaller now deletes itself after the uninstallation job is done.
-- Modified the IzPack Ant building process to integrate IzPack itself in order
-  to generate a ready-to-distribute installer.
-
-  > 2.12.0 (build 2002.03.31)
-
-- Removed the JScrollPane for the panels container.
-- Improved panels sizing policy due to the JScrollPane removing.
-
-  > 2.12.0 pre3 (build 2002.03.02)
-
-- Fixed a problem with the default compiler output file naming.
-- Added the Dutch language packs thanks to Fridjof Jansen.
-- Modified the Ant makefile so that any inner class of a panel can be
-  copied too.
-
-  > 2.12.0 pre2 (build 2002.02.22)
-
-- Changed the font sizes to 12 as it really looks better.
-- Removed the "All rights reserved" portions in the frontend languages
-  packs as it is not really usefull and it now makes the About Box look
-  better.
-- Fix in PacksPanel thanks to Marcus Wolschon.
-- Fixes in both Unix and Windows new startup scripts.
-- Paul Wilkinson added the integration with Ant.
-- Native libraries can now be specified to be added to the IzPack
-  installers through a new optionnal tag.
-
-  > 2.12.0 pre1 (build 2002.02.15)
-
-- Made some modifications to get the source code pass through the
-  IBM Jikes compiler checkings successfully.
-- Updated the Readme.txt file (I forgot to make it reflect the fact that
-  IzPack has a GUI frontend :-)
-- Updated the installer english langpack file so that 'installer.quit.message'
-  is not wrong anymore.
-- Added a complete Javadoc comments set to com.izforge.izpack.installer.IzPanel
-.
-- Inclusion of the IzPack installer XML file in the source directory.
-- The compiler and the frontend can now be invoked outside of the bin/ directory
-  without any problem. This provide a *noticeable* improvement ;-)
-
-  > 2.11.1 (build 2002.02.09)
-
-- Inclusion of the Kunststoff Look And Feel version 2.
-
-  > 2.11.0 (build 2002.01.18)
-
-- Pre-versions modifications have been validated.
-- Improved documentation HTML version.
-- IzPack's own installer : use the ImgPacksPanel instead of the classic
-  PacksPanel.
-- 2 new frontend splash screens thanks to Nicolas Deschaume.
-- HelloPanel : displays the email adresses enclosed by '<' and '>'.
-- This version is compiled with IBM Jikes.
-
-  > 2.11.0 pre2 (build 2001.12.17)
-
-- Frontend : added a toolbar.
-- Ant makefile : removed the 'clean' dependency for the 'all' target.
-- Installer : the next button will automatically lock if the last panel is
-  reached but does not already lock it.
-
-  > 2.11.0 pre1 (build 2001.12.09)
-
-- Installer : cached languages flags.
-- Installer : the languages flags are now grayed when not active (it creates
-  a rollover-effect when choosing the language in the list).
-- Frontend : the about box can't be resized.
-- Errors : now reported on the error output stream (System.err) instead of
-  the output stream (System.out).
-- Frontend : better GUI interaction.
-- ImgPacksPanel : fixed the bug that caused the snapshots not to switch as
-  expected when using the keyboard.
-- Updated Brazilian and Russian flags to conform with the other flags.
-
-  > 2.10.0 (build 2001.12.02)
-
-- Pre-versions modifications have been validated.
-- A panel can now specify some custom variables (Serge Sivkov).
-- New Brazilian-Portuguese translation thanks to Joao Marcelo Pereira Alves.
-- New Russian translation thanks to Serge Sivkov.
-
-  > 2.10.0 pre 2 (build 2001.11.25)
-
-- TargetPanel : it is now possible to specify a specific default installation
-  directory for a specific Operating System thanks to Michael Peterson.
-- Ant makefile : generation of the lib/ directory if not present (Michael
-  Peterson).
-- Documentation : updated to reflect the TargetPanel enhancements.
-
-  > 2.10.0 pre 1 (build 2001.11.11)
-
-- A CVS server is now available thanks to TuxFamily.org .
-- 2 New frontend splash screens pictures by Nicolas Deschaume.
-- Safer command-line compiler invocation.
-- New variable substitution backend by Johannes Lehtinen (backward compatible).
-- Better exceptions reporting system to the end-user.
-- Installer : centered labels at the language selection prompt.
-- LicencePanel : now locks the 'next' button if the 'yes' radio is not selected.
-- TargetPanel : now warns if the specified target is an empty string.
-- InstallPanel : now removes the last processed file path when the installation
-  is over.
-
-  > 2.9.0 (build 2001.10.26)
-
-- Faster and safer I/O thanks to Johannes Lehtinen.
-- Faster frontend splash screen.
-- Removed the finalizers in the code.
-- Windows icon file added.
-
-  > 2.8.0 (build 2001.10.20)
-
-- New Frontend splash screen.
-- New file saving stupid bug fix in the Frontend.
-- FinishPanel : tooltip for the script button.
-- InstallPanel : new animated icon for the install button.
-- XInfoPanel : adaptative text panel.
-- Frontend : recent files list (support for the imported files also).
-- Fixed some size problems with the installer language selection dialog.
-- XML Frontend preferences file spec auto-upgrade.
-- New Finnish language pack thanks to Johannes Lehtinen.
-
-  > 2.7.0 (build 2001.09.26)
-
-- Frontend localisation support.
-- The Frontend remembers the last opened directory.
-- Flags for the language selection for the installers.
-- Language pre-selection for the installers.
-- TargetPanel : warns when the selected directory exists.
-- InstallPanel : animated icon for the install button.
-- New spanish langpack thanks to Carlos Rueda.
-
-  > 2.6.1 (build 2001.09.22)
-
-- Added an image to the frontend about box.
-- Fix in the Ant Makefile that caused it to fail in case of a first-time build.
-
-  > 2.6.0 (build 2001.09.20)
-
-- Cleaner installer icons loading using an XML file.
-- Installation DTD mistake fix.
-- New GUI Frontend.
-- Sample installation XML comment fix.
-- German langpack small fixes.
-- Better internationalisation on Swing-specific strings.
-- Minor bug fixes.
-- Threaded compiling process.
-- Fix in the packs panel.
-- Better installer navigation buttons locking/unlocking.
-
-  > 2.5.0 (build 2001.09.07)
-
-- New web installers support.
-
-  > 2.4.0 (build 2001.09.05)
-
-- Automated installations support.
-- New XPM icons.
-- Improved build.xml.
-- MacOS and MacOSX installation paths support.
-- Minor bug fix in the TargetPanel path selection.
-
-  > 2.3.0 (build 2001.08.29)
-
-- Uninstaller support.
-- Fix on InstallPanel : it does not change its size each time that a new
-  file is processed.
-- Bug fix in the IzPack variables translation system.
-- German langpack thanks to Klaus Hartlage.
-- Made a real documentation (it was time to do it :-) .
-
-  > 2.2.0 (build 2001.08.18)
-
-- New panels available : ImgPacksPanel, HTMLInfoPanel, HTMLLicencePanel.
-- Use of Kunststoff 1.1.1 instead of 1.0.
-- Jakarta Ant script thanks to Pierre Dittgen.
-- API changes to allow a panel to ask for being skipped.
-- Wheights for some panels components fixed.
-- Added a Thanks.txt file :-)
-
-  > 2.1.0 (build 2001.08.14)
-
-- Fixed a problem with the base path and the installation xml file, they don't
-  need to be in the same directory anymore.
-- 2 tips in the source code from Brad Cox have been included.
-- A new kind of installer is available : standard-kunststoff (same as standard
-  but with the Kunststoff Look and Feel support).
-- Fix in TargetPanel : you can specify the installation path by typing it
-  without having to validate it with the enter key.
-- Fixed the bottom components wheights in the installer frame : now it looks
-  much better.
-
-  > 2.0.1 (build 2001.08.11)
-
-- No more warnings when the user wants to quit the installer and the
-  installation is done with the panel InstallPanel.
-
-  > 2.0.0 (build 2001.08.10)
-
-- ... a brand new IzPack !
-- Now it is an XML-based compiler.
-- A more modular architecture (you can create your own panels for instance).
-- No GUI builder for the moment, it will come in the next versions.
-- More kinds of installers to come.
-_______________________________________________________________________________
-
-  > 1.1.1 (build 2001.04.21)
-
-- Faster installer building / installation process.
-- String comparisons are now using the equalsIgnoreCase method instead of an
-  objects equality test '==' (safest).
-- Modified the about box.
-- Clearly made a difference between images & icons in the jar files
-  (restructuration).
-- Tested successfully on BlackDown Linux JVM.
-
-  > 1.1 (build 2001.04.10)
-
-- Adds the extensions to the filenames in the builder if it was omited.
-- Adjusted the fonts in the Metal theme; now it should look right.
-- Adjusted the thread priority of the splash & progress windows, it should be
-  faster.
-- The setup now recognizes the os so that the default installation path is
-  appropriated.
-- Editors now place the caret at the beginning when a need (ex : a new text
-  is loaded).
-- Enhanced the language packs selection in the builder.
-- Added the french language packs.
-- Parses the script files for special variables.
-- Now comes along with a documentation.
-
-  > 1.0 (build 2001.03.18)
-
-- Adjusted the fonts in the Metal theme.
-- Fixed the very stupid bugs with the files in pack deletion.
-- Improved the behaviour of the packs tab functions.
-- Made some small optimizations on various gui code parts.
-- Changed the text editors from JEditorPane to JTextArea : no more lines
-  wrappings problems.
-- Gained 5kb on Setup.jar.
-- Blocks user interaction in the builder during the installer creation.
-
-  > 1.0 beta 1 (build 2001.03.11)
-
-- The first public release :-)
-- There are a lot of features to add and enhance in the next releases, of
-  course.

Copied: izpack-src/tags/3.10.1/Versions.txt (from rev 1797, izpack-src/branches/3.10/Versions.txt)

Deleted: izpack-src/tags/3.10.1/src/build.xml
===================================================================
--- izpack-src/branches/3.10/src/build.xml	2007-03-28 13:44:58 UTC (rev 1796)
+++ izpack-src/tags/3.10.1/src/build.xml	2007-03-29 13:29:07 UTC (rev 1799)
@@ -1,1177 +0,0 @@
-<project name="IzPack" default="all" basedir="..">
-    <!--
-  $Id$
-  
-  build.xml first written by Pierre Dittgen (pierre.dittgen at criltelecom.com)
-  This file is intended to be used with ant (http://jakarta.apache.org/ant),
-  a java/xml makefile utility.
-
-    14.8.2001: (by Pierre Dittgen)
-  Creation of the build.xml. It only compile all the src files.
-
-    16.8.2001: (by Pierre Dittgen)
-  Added creation of compiler.jar, installer.jar and compilation of the
-  panels.
-
-    28.8.2001: (by Pierre Dittgen)
-  Added compile.uninstaller and build.uninstaller targets to create the
-  uninstaller.jar jar file.
-
-    02.9.2001: (by Julien Ponge)
-        Improved compilation options (optimizations, deprecation warnings) and
-        changed the build dir to src/build. Fixed the compiling/building of the
-        uninstaller.
-
-    12.9.2001: (by Julien Ponge)
-        Added creation/compilation of the frontend and its associated jar file.
-
-    22.9.2001: (by Julien Ponge)
-        Small fix in the all target that caused an error if the build dir was
-        not yet created.
-
-    14.10.2001: (by Julien Ponge)
-        Added the XPanel compilation call.
-
-    12.12.2001: (by Julien Ponge)
-        Removed the 'clean' dependency for the 'all' target.
-
-    12.02.2002: (by Julien Ponge)
-        Moved the 'build' directory out of the src/ scope (usefull for my CVS
-        files moving scripts).
-        Added a markup to specify IBM Jikes as the compiler (just comment out to
-        use another one).
-
-    21.02.2002: (by Paul Wilkinson)
-        Added tasks to compiler.compiler and build.compiler to build ant task class.
-
-    02.03.2002: (by Julien Ponge)
-        Modified the building of the panels so that the inner classes can be copied
-        too.
-
-    18.04.2002: (by Julien Ponge)
-        Added the new com.izforge.izpack.util & com.izforge.izpack.util.os
-        packages to the installer.jar build process.
-
-    19.04.2002: (by Olexij Tkatchenko & Julien Ponge)
-        Added "dist" target for bootstrapped IzPack package creation.
-
-    01.06.2002: (by Julien Ponge)
-        Changed the panels building process in order to enable the ShortcutData
-        classes to be move in the same directory as the ShortcutPanel classes.
-
-    15.06.2002: (by Julien Ponge)
-        Added the ant-generated manifests in the clean target scope.
-
-    03.07.2002: (by Julien Ponge)
-        Added a target to generate some javadoc.
-
-    12.01.2003: (by Julien Ponge)
-        Separated the installer generation from the dist target so that it is
-        much cleaner.
-
-    13.01.2003: (by Julien Ponge)
-        Enhanced the clean target.
-
-    27.02.2003: (by Julien Ponge)
-        Fixed the UserInputPanel building process to include all the required
-        files.
-
-    30.04.2003: (by Jonathan Halliday)
-        Change to panel compilation target, for panel automation
-        (silent install) support.
-        
-    05.07.2003: (by Julien Ponge)
-        Added a target to fix the files encoding and cr/lf (fix.crlf).
-    
-    10.09.2003: (by Julien Ponge)
-        Reformatting, 4 spaces tabs, got rid of residual hard tabs.
-    
-    19.09.2003: (by Julien Ponge)
-        Added a run.installer target to test an installer.
-    
-    06.12.2003: (by Julien Ponge)
-        Removed the frontend-related sections.
-
-    16.12.2003: (by Julien Ponge)
-        Added the SudoPanel building call.
-    
-    18.02.2004: (by Julien Ponge)
-        New installer naming scheme (IzPack-install-{version}.jar).
-    
-    29.05.2004: (by Julien Ponge)
-        New SimpleFinishPanel.
-
-    30.07.2004: (by Klaus Bartz)
-        Simple CustomAction stuff added.
-    
-    09.09.2004: (by Klaus Bartz)
-        Clean up of CustomActions added.
-        New uninstaller-ext.jar with native helper stuff for native libs
-           in uninstaller.
-    
-    14.10.2004: (by Klaus Bartz)
-        New izevent.jar with the base classes of the custom action stuff
-          to support creation of custom action jars without IzPack source tree
-    
-    25.10.2004: (by Klaus Bartz)
-        "Standard" CustomActions AntActionInstallerListener and
-        AntActionUninstallerListener added
-    
-    03.05.2005: (by Klaus Bartz)
-        Target generated.installer-reg added:
-        Creates an installer for IzPack with registry support
-    
-    09.05.2005: (by Marc Eppelman)
-        Target dist+run added:
-        convenient :) makes a complete dist an installer and run them
-    
-    11.05.2005: (by Fabrice Mirabile)
-        Target cleandistreg added:
-        Clean, Regenerate installer and installer with reg support. Avoid use of bad jars during installation.
-    
-    18.07.2005: (by Julien Ponge)
-    	Enforce source / target compatibility, now 1.4 / 1.4.
-    
-    02.09.2005: (by Klaus Bartz)
-    	Unicode support of ShellLink.
-    
-    09.09.2005: (Marc.Eppelmann)
-		Added start.sh to the shipped files in bin-folder.
-		
-	10.01.2006: (by Fabrice Mirabile)
-		Added the splashscreen to the cleandistreg target
-		
-	06.04.2006: (Marc Eppelmann)
-	    Inserted the fix.crlf target in the depends-list of target "all" to prevent encoding problems.
-	    
-	26.06.2006: (Marc Eppelmann)
-	    Extracted / Reordered some dist related targets to prevent double copy actions.
-        Also fixed the fix.crlf basedir
-        
-	27.08.2006: (Marc Eppelmann)
-      Embedd ShortcutPanel*.java     
-        
-  14.09.2006: (Marc Eppelmann)   
-      Added target src.tar.gz and clean.src.tar.gz
-      
-  19.10.2006: (Fabrice Mirabile & Hal Vaughan)   
-      Added DataCheckPanel
-
-  10.10.2006: (Fabrice Mirabile)   
-	  Fixed target src.tar.gz and clean.src.tar.gz
-              
-  Mini-HowTo:
-
-  To compile and package the compiler.jar jar file, type:
-    ant build.compiler
-
-  To compile and package the installer.jar jar file, type:
-    ant build.installer
-
-  To compile and package the uninstaller.jar jar file, type:
-    ant build.uninstaller
-
-  To compile the panels and put them in the bin/panels directory, type:
-    ant build.panels
-
-    To compile and package the frontend.jar jar file, type:
-        ant build.frontend
-
-  To make all, type:
-    ant all
-  or
-    ant
-  (this is the default target)
-
-    To compile and create IzPack distribution package type:
-    ant dist
-
-    To delete the classes directory after packaging, just type:
-    ant clean
-  -->
-
-    <!-- Compiler to use put your own here (jikes, modern, gcj, ...) -->
-    <!--<property name="build.compiler" value="jikes" />-->
-
-    <!-- Define directories -->
-    <property name="cwd" value="${basedir}" />
-
-    <property file="src/ant.properties" />
-    <property name="ver" value="3.10" />
-    <property name="rel" value="0" />
-    <property name="build.number" value="${ver}.${rel}" />
-
-    <property name="src.dir" value="${basedir}/src/lib" />
-    <property name="img.dir" value="${basedir}/src/img" />
-    <property name="bin.dir" value="${basedir}/bin" />
-    <property name="doc.dir" value="${basedir}/doc" />
-
-    <property name="langpacks.subdir" value="langpacks" />
-    <property name="langpacks.dir" value="${basedir}/bin/${langpacks.subdir}" />
-
-    <property name="build.subdir" value="_build" />
-    <property name="build.dir" value="${basedir}/${build.subdir}" />
-
-    <property name="dist.subdir" value="_dist" />
-    <property name="dist.dir" value="${basedir}/${dist.subdir}" />
-    <property name="dist-files.dir" value="${basedir}/src/dist-files" />
-
-    <!-- Define Main-Classes -->
-    <property name="compiler.class" value="com.izforge.izpack.compiler.Compiler" />
-    <property name="installer.class" value="com.izforge.izpack.installer.Installer" />
-    <property name="uninstaller.class" value="com.izforge.izpack.uninstaller.Uninstaller" />
-
-    <!-- Define file paths -->
-    <property name="compiler.jar" value="${basedir}/lib/compiler.jar" />
-    <property name="standalone-compiler.jar" value="${basedir}/lib/standalone-compiler.jar" />
-    <property name="installer.jar" value="${basedir}/lib/installer.jar" />
-    <property name="uninstaller.jar" value="${basedir}/lib/uninstaller.jar" />
-    <property name="uninstaller-ext.jar" value="${basedir}/lib/uninstaller-ext.jar" />
-    <property name="izevent.jar" value="${basedir}/lib/izevent.jar" />
-
-    <!-- Compilation parameters -->
-    <property name="debug" value="true" />
-    <property name="debuglevel" value="lines,vars,source" />
-    <property name="compat.source" value="1.4" />
-    <property name="compat.target" value="1.4" />
-
-
-    <!-- paths -->
-    <path id="classpath">
-        <fileset id="ext.libs" dir="${basedir}/lib">
-            <!-- older ant jar, which izpack distributes and uses for fileset behavior -->
-            <include name="ant.jar" />
-            <include name="jakarta-regexp-1.3.jar" />
-        </fileset>
-        <!-- current ant jar, for compiling IzPackTask which uses modern ant features -->
-        <fileset dir="${ant.home}/lib" includes="ant.jar" />
-    </path>
-
-    <!-- Checking target -->
-    <target name="check">
-        <echo message="basedir=${basedir}" />
-        <echo message="dist.dir=${dist.dir}" />
-        <echo message="build.dir=${build.dir}" />
-        <echo message="debug=${debug}" />
-    </target>
-
-    <!-- Creates the classes directory -->
-    <target name="prepare" depends="time">
-        <mkdir dir="${build.dir}" />
-        <mkdir dir="${basedir}/lib" />
-        <mkdir dir="${dist.dir}" />
-    </target>
-
-    <!-- Compiles the compiler src files -->
-    <target name="compile.compiler" depends="prepare">
-        <javac srcdir="${src.dir}"
-               classpath="${basedir}/lib/jakarta-regexp-1.3.jar"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/*.java" />
-            <include name="com/izforge/izpack/io/*.java"/>
-            <include name="com/izforge/izpack/compiler/*.java" />
-            <include name="com/izforge/izpack/compressor/*.java" />
-            <include name="com/izforge/izpack/ant/*.java" />
-            <include name="com/izforge/izpack/util/Debug.java" />
-            <include name="com/izforge/izpack/util/OsConstraint.java" />
-            <include name="com/izforge/izpack/util/JarOutputStream.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-        <copy todir="${build.dir}/com/izforge/izpack/ant/langpacks">
-            <fileset dir="${src.dir}/com/izforge/izpack/ant/langpacks" />
-        </copy>
-    </target>
-
-    <!-- Package compiler.jar -->
-    <target name="build.compiler" depends="compile.compiler">
-        <jar jarfile="${compiler.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="ant.jar" />
-                <attribute name="Main-Class" value="${compiler.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/*.class" />
-                <include name="com/izforge/izpack/io/*.class"/>
-                <include name="com/izforge/izpack/compiler/*.class" />
-                <include name="com/izforge/izpack/compressor/*.class" />
-                <include name="com/izforge/izpack/util/OsConstraint.class" />
-                <include name="com/izforge/izpack/util/Debug.class" />
-                <include name="com/izforge/izpack/util/*Validator.class" />
-                <include name="com/izforge/izpack/util/*Processor.class" />
-                <include name="com/izforge/izpack/util/VariableSubstitutor.class" />
-                <include name="com/izforge/izpack/util/JarOutputStream.class" />
-                <include name="com/izforge/izpack/ant/*.class" />
-                <include name="com/izforge/izpack/ant/langpacks/*.properties" />
-                <include name="com/izforge/izpack/event/CompilerListener.class" />
-                <include name="com/izforge/izpack/event/SimpleCompilerListener.class" />
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Package standalone-compiler.jar -->
-    <target name="build.standalone-compiler"
-            depends="compile.compiler, build.installer, build.uninstaller, build.uninstaller-ext, build.panels, build.listeners">
-        <jar jarfile="${standalone-compiler.jar}" duplicate="preserve">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="ant.jar" />
-                <attribute name="Main-Class" value="${compiler.class}" />
-            </manifest>
-            <zipfileset src="${installer.jar}" />
-            <zipfileset src="${compiler.jar}">
-                <!-- skip files already included via installer.jar -->
-                <exclude name="com/izforge/izpack/*.class" />
-                <exclude name="com/izforge/izpack/installer/*.class" />
-                <exclude name="com/izforge/izpack/util/*.class" />
-                <exclude name="net/n3/nanoxml/*.class" />
-            </zipfileset>
-            <zipfileset src="lib/ant.jar" />
-            <fileset dir="${basedir}">
-                <include name="bin/langpacks/flags/*" />
-                <include name="bin/langpacks/installer/*" />
-                <include name="bin/native/izpack/*" />
-                <include name="bin/native/3rdparty/*" />
-                <include name="bin/panels/*Panel.jar" />
-                <include name="bin/customActions/*.jar" />
-                <include name="lib/uninstaller.jar" />
-                <include name="lib/uninstaller-ext.jar" />
-                <include name="lib/installer.jar" />
-                <include name="lib/kunststoff.jar" />
-                <include name="lib/liquidlnf.jar" />
-                <include name="lib/metouia.jar" />
-                <include name="lib/looks.jar" />
-                <include name="lib/ant.jar" />
-                <exclude name="**/CVS" />
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Compiles the installer src files -->
-    <target name="compile.installer" depends="prepare">
-        <javac srcdir="${src.dir}"
-               classpath="${basedir}/lib/jakarta-regexp-1.3.jar"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/panels/PathSelectionPanel.java" />
-            <include name="com/izforge/izpack/*.java" />
-            <include name="com/izforge/izpack/gui/*.java" />
-            <include name="com/izforge/izpack/io/*.java" />          
-            <include name="com/izforge/izpack/installer/*.java" />
-            <include name="com/izforge/izpack/panels/NextMedia*.java"/>
-            <include name="com/izforge/izpack/util/*.java" />
-            <include name="com/izforge/izpack/util/os/*.java" />
-            <include name="com/izforge/izpack/rules/*.java" />
-            <include name="com/izforge/izpack/uninstaller/SelfModifier*.java"/>
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-
-    <!-- Package installer.jar -->
-    <target name="build.installer" depends="compile.installer">
-        <jar jarfile="${installer.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="" />
-                <attribute name="Main-Class" value="${installer.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/panels/PathSelectionPanel.class" />
-                <include name="com/izforge/izpack/*.class" />
-                <include name="com/izforge/izpack/gui/*.class" />
-                <include name="com/izforge/izpack/io/*.class"/>
-                <include name="com/izforge/izpack/installer/*.class" />
-                <include name="com/izforge/izpack/util/*.class" />
-                <include name="com/izforge/izpack/util/**/*.class" />
-                <include name="com/izforge/izpack/panels/NextMedia*.class"/>
-                <include name="com/izforge/izpack/rules/*.class" />
-                <include name="com/izforge/izpack/uninstaller/SelfModifier*.class"/>
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-            <zipfileset src="${basedir}/lib/jakarta-regexp-1.3.jar">
-                <include name="org/apache/regexp/*.class" />
-            </zipfileset>
-            <fileset dir="${src.dir}">
-                <include name="com/izforge/izpack/installer/*.xml" />
-                <include name="com/izforge/izpack/installer/*.properties" />
-            </fileset>
-            <fileset dir="${img.dir}/installer" />
-        </jar>
-    </target>
-
-    <!-- Compiles the uninstaller src files -->
-    <target name="compile.uninstaller" depends="prepare">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/LocaleDatabase.java" />
-            <include name="com/izforge/izpack/gui/*.java" />
-            
-            <include name="com/izforge/izpack/util/*.java"/>
-            <include name="com/izforge/izpack/util/os/*.java"/>
-            <include name="com/izforge/izpack/util/os/unix/*.java"/>
-            
-            <include name="com/izforge/izpack/uninstaller/*.java" />
-            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-
-    <!-- Package uninstaller.jar -->
-    <target name="build.uninstaller" depends="compile.uninstaller">
-        <jar jarfile="${uninstaller.jar}">
-            <manifest>
-                <attribute name="Built-By" value="IzPack" />
-                <attribute name="Class-Path" value="" />
-                <attribute name="Main-Class" value="${uninstaller.class}" />
-            </manifest>
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/LocaleDatabase.class" />
-                <include name="com/izforge/izpack/gui/*.class" />
-                <include name="com/izforge/izpack/uninstaller/*.class" />
-                <include name="com/izforge/izpack/ExecutableFile.class" />                
-                <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.class" />
-                <include name="net/n3/nanoxml/*.class" />
-            </fileset>
-            <fileset dir="${build.dir}">
-              <include name="com/izforge/izpack/util/**/*.class"/>
-            </fileset>
-            <fileset dir="${img.dir}/uninstaller">
-              <include name="**/*"/>
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- Compiles the extended uninstaller src files -->
-    <target name="compile.uninstaller-ext" depends="prepare">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}">
-            <include name="com/izforge/izpack/util/*.java" />
-            <include name="com/izforge/izpack/util/os/*.java"/>
-            <include name="com/izforge/izpack/util/os/unix/*.java"/>
-            <include name="com/izforge/izpack/util/xml/*.java"/>
-          
-            <exclude name="com/izforge/izpack/gui/IzPackKMetalTheme.java" />
-            <include name="net/n3/nanoxml/*.java" />
-        </javac>
-    </target>
-    <!-- Package extended uninstaller.jar used if one ore more native libs are
-         declared for uninstallation -->
-    <target name="build.uninstaller-ext" depends="compile.uninstaller-ext">
-        <jar jarfile="${uninstaller-ext.jar}">
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/util/**/*.class"/>
-            </fileset>
-        </jar>
-    </target>
-
-    <!-- 
-         ======================================================================
-           Create Panel Modules
-         ======================================================================
-    -->
-
-    <!-- Macro to compile a panel's classes and create it's jar file -->
-    <macrodef name="build-panel">
-        <attribute name="name" description="The panels jar will get this name" />
-        <attribute name="srcdir"
-                   default="${src.dir}"
-                   description="Source directory. Defaults to izpack src dir" />
-        <element name="panel-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating panel sources" />
-        <sequential>
-            <echo message="build-panel: @{name}" />
-            <mkdir dir="${bin.dir}/panels/@{name}" />
-            <!-- sourcepath is cleared so there's no mistaking what goes into the Panel -->
-            <javac srcdir="@{srcdir}"
-                   destdir="${bin.dir}/panels/@{name}"
-                   classpath="${installer.jar}"
-                   sourcepath=""
-                   optimize="on"
-                   deprecation="on"
-                   debug="${debug}"
-                   source="${compat.source}"
-                   target="${compat.target}"
-                   debuglevel="${debuglevel}">
-                <panel-fileset />
-            </javac>
-            <jar jarfile="${bin.dir}/panels/@{name}.jar" basedir="${bin.dir}/panels/@{name}" />
-        </sequential>
-    </macrodef>
-
-    <!-- Compile all panels and put them at the right location -->
-    <!-- 
-         If you add a another, and the build fails because it can't find a class, 
-         be sure to explicitly include the .java file in the nested fileset.
-         This also acts as a check to help limit dependancies.
-    -->
-    <target name="build.panels" depends="build.installer">
-        <mkdir dir="${bin.dir}/panels" />
-
-        <build-panel name="FinishPanel">
-            <include name="com/izforge/izpack/panels/FinishPanel.java" />
-        </build-panel>
-        <build-panel name="HelloPanel">
-            <include name="com/izforge/izpack/panels/HelloPanel.java" />
-        </build-panel>
-        <build-panel name="SelectPrinterPanel">
-	          <include name="com/izforge/izpack/panels/SelectPrinterPanel.java"/>
-	      </build-panel>
-	      <build-panel name="DataCheckPanel">
-				  <include name="com/izforge/izpack/panels/DataCheckPanel.java" />
-				</build-panel>
-        <build-panel name="CheckedHelloPanel">
-            <include name="com/izforge/izpack/panels/CheckedHelloPanel.java" />
-            <include name="com/izforge/izpack/panels/HelloPanel.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-panel>
-        <build-panel name="InfoPanel">
-            <include name="com/izforge/izpack/panels/InfoPanel.java" />
-        </build-panel>
-        <build-panel name="InstallPanel">
-            <include name="com/izforge/izpack/panels/InstallPanel.java" />
-            <include name="com/izforge/izpack/panels/InstallPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="ExtendedInstallPanel">
-            <include name="com/izforge/izpack/panels/ExtendedInstallPanel.java" />
-            <include name="com/izforge/izpack/panels/ExtendedInstallPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/InstallPanel.java" />
-        </build-panel>
-        <build-panel name="LicencePanel">
-            <include name="com/izforge/izpack/panels/LicencePanel.java" />
-        </build-panel>
-        <build-panel name="PacksPanel">
-            <include name="com/izforge/izpack/panels/ImgPacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/ImgPacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksModel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelInterface.java" />
-        </build-panel>
-        <build-panel name="ImgPacksPanel">
-            <include name="com/izforge/izpack/panels/ImgPacksPanel.java" />
-            <include name="com/izforge/izpack/panels/ImgPacksPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/PacksModel.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelBase.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelInterface.java" />
-            <include name="com/izforge/izpack/panels/PacksPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="HTMLLicencePanel">
-            <include name="com/izforge/izpack/panels/HTMLLicencePanel.java" />
-        </build-panel>
-        <build-panel name="HTMLInfoPanel">
-            <include name="com/izforge/izpack/panels/HTMLInfoPanel.java" />
-        </build-panel>
-        <build-panel name="TargetPanel">
-            <include name="com/izforge/izpack/panels/PathInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PathSelectionPanel.java" />
-            <include name="com/izforge/izpack/panels/TargetPanel.java" />
-            <include name="com/izforge/izpack/panels/TargetPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="JDKPathPanel">
-            <include name="com/izforge/izpack/panels/JDKPathPanel.java" />
-            <include name="com/izforge/izpack/panels/PathInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PathSelectionPanel.java" />
-        </build-panel>
-        <build-panel name="XInfoPanel">
-            <include name="com/izforge/izpack/panels/XInfoPanel.java" />
-        </build-panel>
-        <build-panel name="ShortcutPanel">
-            <include name="com/izforge/izpack/panels/ShortcutData.java" />
-            <include name="com/izforge/izpack/panels/ShortcutPanel*.java" />
-            <include name="com/izforge/izpack/util/xml/*.java" />
-        </build-panel>
-        <build-panel name="UserInputPanel">
-            <include name="com/izforge/izpack/panels/PasswordGroup.java" />
-            <include name="com/izforge/izpack/panels/ProcessingClient.java" />
-            <include name="com/izforge/izpack/panels/Processor.java" />
-            <include name="com/izforge/izpack/panels/RuleInputField.java" />
-            <include name="com/izforge/izpack/panels/RuleTextField.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/Validator.java" />
-        </build-panel>
-        <build-panel name="ConditionalUserInputPanel">
-            <include name="com/izforge/izpack/panels/ConditionalUserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/PasswordGroup.java" />
-            <include name="com/izforge/izpack/panels/ProcessingClient.java" />
-            <include name="com/izforge/izpack/panels/Processor.java" />
-            <include name="com/izforge/izpack/panels/RuleInputField.java" />
-            <include name="com/izforge/izpack/panels/RuleTextField.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanel.java" />
-            <include name="com/izforge/izpack/panels/UserInputPanelAutomationHelper.java" />
-            <include name="com/izforge/izpack/panels/Validator.java" />
-        </build-panel>
-        <build-panel name="CompilePanel">
-            <include name="com/izforge/izpack/panels/CompilePanel.java" />
-            <include name="com/izforge/izpack/panels/CompilePanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="ProcessPanel">
-            <include name="com/izforge/izpack/panels/ProcessPanel.java" />
-            <include name="com/izforge/izpack/panels/ProcessPanelAutomationHelper.java" />
-        </build-panel>
-        <build-panel name="SudoPanel">
-            <include name="com/izforge/izpack/panels/SudoPanel.java" />
-        </build-panel>
-        <build-panel name="SimpleFinishPanel">
-            <include name="com/izforge/izpack/panels/SimpleFinishPanel.java" />
-        </build-panel>
-        <build-panel name="SummaryPanel">
-            <include name="com/izforge/izpack/panels/SummaryPanel.java" />
-        </build-panel>
-        <build-panel name="InstallationGroupPanel">
-         <include name="com/izforge/izpack/panels/InstallationGroupPanel.java"/>
-         <include name="com/izforge/izpack/panels/InstallationGroupPanelAutomationHelper.java"/>
-        </build-panel>
-    </target>
-
-    <!-- 
-         ======================================================================
-           Create Listener Modules
-         ======================================================================
-    -->
-
-    <!-- Compiles the base custom action classes which should placed into
-         izevent.jar  -->
-    <target name="compile.listener-base">
-        <javac srcdir="${src.dir}"
-               destdir="${build.dir}"
-               optimize="on"
-               source="${compat.source}"
-               target="${compat.target}"
-               deprecation="on"
-               debug="${debug}"
-               debuglevel="${debuglevel}"
-               classpath="${installer.jar};${compiler.jar}">
-            <include name="com/izforge/izpack/event/ActionBase.java" />
-            <include name="com/izforge/izpack/event/Simple*nstallerListener.java" />
-            <include name="com/izforge/izpack/event/SimpleCompilerListener.java" />
-            <include name="com/izforge/izpack/event/InstallerListener.java" />
-            <include name="com/izforge/izpack/event/CompilerListener.java" /> 
-            <include name="com/izforge/izpack/event/UninstallerListener.java" />
-            <include name="com/izforge/izpack/util/IoHelper.java" />
-        </javac>
-    </target>
-    <!-- Package izevent.jar  -->
-    <target name="build.listener-base" depends="compile.listener-base">
-        <jar jarfile="${izevent.jar}">
-            <fileset dir="${build.dir}">
-                <include name="com/izforge/izpack/event/*.class" />
-                <include name="com/izforge/izpack/util/IoHelper.class" />
-                <exclude name="com/izforge/izpack/event/*Compiler*.class" />
-            </fileset>
-        </jar>
-    </target>
-
-
-    <!-- Macro to compile a listener's classes and create its jar file -->
-    <macrodef name="build-listener">
-        <attribute name="name" description="The listener jar will get this name" />
-        <attribute name="classpath-ext" description="An extension of the classpath required to build the listener" default=""/>
-        <attribute name="srcdir"
-                   default="${src.dir}"
-                   description="Source directory. Defaults to izpack src dir" />
-        <attribute name="izeventExcludes"
-                   description="excludes patter for files in the ${izevent.jar} file" />
-        <element name="listener-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <echo message="build-listener: @{name}" />
-            <mkdir dir="${bin.dir}/customActions/@{name}" />
-            <!-- sourcepath is cleared so there's no mistaking what goes into the Listener -->
-            <javac srcdir="@{srcdir}"
-                   destdir="${bin.dir}/customActions/@{name}"
-                   classpath="${installer.jar};${compiler.jar};${izevent.jar};@{classpath-ext}"
-                   sourcepath=""
-                   optimize="on"
-                   deprecation="on"
-                   debug="${debug}"
-                   source="${compat.source}"
-                   target="${compat.target}"
-                   debuglevel="${debuglevel}">
-                <listener-fileset />
-            </javac>
-            <jar jarfile="${bin.dir}/customActions/@{name}.jar"
-                 basedir="${bin.dir}/customActions/@{name}">
-                <!-- also include files from the previously built ${izevent.jar} -->
-                <zipfileset src="${izevent.jar}" excludes="@{izeventExcludes}" />
-            </jar>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for compiler listeners -->
-    <macrodef name="build-compiler-listener">
-        <attribute name="name" />
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="compiler-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}"
-                            srcdir="@{srcdir}"
-                            izeventExcludes="**/*Installer*,**/*Uninstaller*">
-                <compiler-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for installer listeners -->
-    <macrodef name="build-installer-listener">
-        <attribute name="name" />
-        <attribute name="classpath-ext" description="An extension of the classpath required to build the listener" default=""/>
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="installer-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}" srcdir="@{srcdir}" izeventExcludes="**/*Uninstaller*" classpath-ext="@{classpath-ext}">
-                <installer-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Convenience macro to call build-listener for uninstaller listeners -->
-    <macrodef name="build-uninstaller-listener">
-        <attribute name="name" />
-        <attribute name="srcdir" default="${src.dir}" />
-        <element name="uninstaller-fileset"
-                 implicit="yes"
-                 description="include and exclude elements indicating listener sources" />
-        <sequential>
-            <build-listener name="@{name}" srcdir="@{srcdir}" izeventExcludes="**/*Installer*">
-                <uninstaller-fileset />
-            </build-listener>
-        </sequential>
-    </macrodef>
-
-    <!-- Compile all custom actions (listener) and put them at the right location -->
-    <!-- 
-         If you add a another, and the build fails because it can't find a class, 
-         be sure to explicitly include the .java file in the nested fileset.
-         This also acts as a check to help limit dependancies.
-    -->
-    <target name="build.listeners" depends="build.compiler,build.installer,build.listener-base">
-    	<!-- This dependency is mandatory -->
-    	<build-installer-listener name="LateShortcutInstallListener" classpath-ext="${bin.dir}/panels/ShortcutPanel.jar">
-            <include name="com/izforge/izpack/event/LateShortcutInstallListener.java" />
-        </build-installer-listener>
-
-    	<build-installer-listener name="AntActionInstallerListener">
-            <include name="com/izforge/izpack/event/AntActionInstallerListener.java" />
-            <include name="com/izforge/izpack/event/AntAction.java" />
-        </build-installer-listener>
-
-        <build-uninstaller-listener name="AntActionUninstallerListener">
-            <include name="com/izforge/izpack/event/AntActionUninstallerListener.java" />
-            <include name="com/izforge/izpack/event/AntAction.java" />
-        </build-uninstaller-listener>
-
-        <build-installer-listener name="SummaryLoggerInstallerListener">
-            <include name="com/izforge/izpack/event/SummaryLoggerInstallerListener.java" />
-        </build-installer-listener>
-
-        <build-installer-listener name="RegistryInstallerListener">
-            <include name="com/izforge/izpack/event/RegistryInstallerListener.java" />
-            <include name="com/izforge/izpack/event/NativeInstallerListener.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-installer-listener>
-
-        <build-uninstaller-listener name="RegistryUninstallerListener">
-            <include name="com/izforge/izpack/event/RegistryUninstallerListener.java" />
-            <include name="com/izforge/izpack/event/NativeUninstallerListener.java" />
-            <include name="com/izforge/izpack/util/os/*RegistryHandler.java" />
-            <include name="com/izforge/izpack/util/OSClassHelper.java" />
-            <include name="com/izforge/izpack/util/os/WrappedNativeLibException.java" />
-            <include name="com/coi/tools/os/win/*.java" />
-            <include name="com/coi/tools/os/win/resources/NativeLibErr*.java" />
-            <include name="com/coi/tools/os/izpack/Registry.java" />
-            <include name="com/coi/tools/os/izpack/COIOSHelper.java" />
-        </build-uninstaller-listener>
-
-        <!-- CUSTOM ACTION test START
-        <build-compiler-listener name="ChmodCompilerListener">
-            <include name="com/myCompany/tools/install/listener/ChmodCompilerListener.java"/>
-        </build-compiler-listener>
-
-        <build-installer-listener name="ChmodInstallerListener">
-            <include name="com/myCompany/tools/install/listener/ChmodInstallerListener.java"/>
-        </build-installer-listener>
-        COSTOM ACTION test END -->
-    </target>
-
-    <!-- ====================================================================== -->
-
-    <!-- Performs some cleanups -->
-    <target name="clean" description="cleans up the dist">
-        <echo message="Cleaning-up" />
-        <delete includeEmptyDirs="true" quiet="true">
-            <fileset dir="${build.dir}" />
-            <fileset dir="${dist.dir}" />
-            <fileset dir="${basedir}/bin/panels/">
-                <include name="**/*" />
-            </fileset>
-            <fileset dir="${basedir}/bin/customActions/">
-                <include name="**/*" />
-            </fileset>
-            <fileset dir="${basedir}/lib/">
-                <include name="compiler.jar" />
-                <include name="izevent.jar" />
-                <include name="standalone-compiler.jar" />
-                <include name="frontend.jar" />
-                <include name="installer.jar" />
-                <include name="uninstaller.jar" />
-                <include name="uninstaller-ext.jar" />
-            </fileset>
-        </delete>
-    	    <delete file="bin/native/3rdparty/COIOSHelper.dll" />
-        <delete dir="${basedir}/bin/native/izpack" />
-        <delete includeEmptyDirs="true" dir="${basedir}/doc/izpack" />
-        <delete dir="${basedir}/_src${dist.subdir}"/>
-    </target>
-
-    <!-- Builds all compilation targets -->
-    <target name="all"
-            depends="splashscreen, copy.dist.natives,build.compiler, src.tar.gz, build.compiler, build.installer, build.uninstaller, build.uninstaller-ext, build.panels, build.listeners, build.standalone-compiler" description="base: compiles a developer version"/>
-
-    <!-- Builds the Javadoc -->
-    <target name="build.javadoc" depends="prepare" description="Builds the javadoc">
-        <mkdir dir="${build.dir}/javadoc" />
-        <javadoc destdir="${build.dir}/javadoc" access="private" classpathref="classpath">
-            <packageset dir="${src.dir}">
-                <exclude name="**/CVS" />
-            </packageset>
-        </javadoc>
-        <copy todir="${doc.dir}/izpack/javadoc">
-            <fileset dir="${build.dir}/javadoc">
-                <include name="**/*" />
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="build.docu" description="Builds the customer documentation">
-        <mkdir dir="${doc.dir}/izpack/xhtml" />
-        <copy todir="${doc.dir}/izpack/xhtml">
-            <fileset dir="${basedir}/src/doc-ng/XHTML">
-                <include name="**/*" />
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="create.docu"
-            depends="build.javadoc, build.docu"
-            description="Creates the javadoc-api and customer documentation">
-
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: taskdef                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="taskdef.dist">
-        <!-- Allows us to use the IzPack Ant task -->
-        <taskdef name="izpack"
-                 classpath="${basedir}/lib/compiler.jar"
-                 classname="com.izforge.izpack.ant.IzPackTask" />
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: copy.natives                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="copy.dist.natives">
-        <echo message="Copies the recent changed native files to the ${basedir}/bin directory" />
-
-        <mkdir dir="${basedir}/bin/native/izpack" />
-        <!-- If unicode support of ShellLink.dll will be not used, change between  both copy blocks -->
-        <!--
-		<copy todir="${basedir}/bin/native/izpack" file="${basedir}/src/native/ShellLink/Release/ShellLink.dll" verbose="true" overwrite="yes"/>
-		<copy todir="${basedir}/bin/native/3rdparty" file="${basedir}/src/native/win/COIOSHelper/Release/COIOSHelper.dll" verbose="true" overwrite="yes"/>
-		-->
-        <copy todir="${basedir}/bin/native/izpack"
-              file="${basedir}/src/native/ShellLink/Release_Unicode/ShellLink.dll"
-              verbose="true"
-              overwrite="yes" />
-        <copy todir="${basedir}/bin/native/3rdparty"
-              file="${basedir}/src/native/win/COIOSHelper/Release_Unicode/COIOSHelper.dll"
-              verbose="true"
-              overwrite="yes" />
-    </target>
-
-    
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: copy.distfiles                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="copy.dist.files">
-        <echo message="Copies the general files to the dist directory" />
-        <copy todir="${dist.dir}" includeEmptyDirs="yes">
-            <fileset dir="${basedir}">
-                <include name="bin/**" />
-                <include name="lib/*.jar" />
-                <include name="doc/**" />
-                <include name="legal/**" />
-                <include name="src/**" />
-                <include name="sample/**" />
-                <include name="*.txt" />
-            </fileset>
-        </copy>
-        <echo message="Copies the langpacks to the dist directory" />
-        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes">
-            <fileset dir="${basedir}">
-                <include name="langpacks/**" />
-            </fileset>
-        </copy>
-        <echo message="Copies the license images and specs to the dist directory" />
-        <copy todir="${dist.dir}" includeEmptyDirs="yes">
-            <fileset dir="${dist-files.dir}">
-                <include name="useNativeLAF" />
-                <include name="*.jpg" />
-                <include name="*.png" />
-                <include name="*.html" />
-                <include name="Licence.txt" />
-                <include name="IzPack-install*.xml" />
-                <include name="shortcutSpec.xml" />
-                <include name="Unix_shortcutSpec.xml" />
-                <include name="RegistrySpec.xml" />
-                <include name="conditions.xml" />
-            </fileset>
-        </copy>
-        <echo message="Copies the bin files to the dist directory" />
-        <copy todir="${dist.dir}/bin" includeEmptyDirs="yes" overwrite="yes">
-            <fileset dir="${dist-files.dir}">
-                <include name="compile*" />            	
-                <include name="lcp.bat" />
-            	<include name="start.sh"/>
-            </fileset>
-        </copy>
-    </target>
-
-    
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: replace.dist.buildnumber                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="replace.dist.buildnumber">
-        <replace file="${dist.dir}/shortcutSpec.xml"
-                 token="@build.number@"
-                 value="${build.number}"
-                 summary="yes" />
-        <replace file="${dist.dir}/shortcutSpec.xml" token="@ver@" value="${ver}" summary="yes" />
-
-        <replace file="${dist.dir}/Unix_shortcutSpec.xml"
-                 token="@build.number@"
-                 value="${build.number}"
-                 summary="yes" />
-        <replace file="${dist.dir}/Unix_shortcutSpec.xml"
-                 token="@ver@"
-                 value="${ver}"
-                 summary="yes" />
-    </target>
-
-    <!-- Creates an installer for IzPack -->
-    <target name="exec.izpack.compiler">
-
-        <!-- We call IzPack -->
-        <echo message="Makes the installer using IzPack" level="verbose" />
-        <izpack input="${dist.dir}/${installer.xmlfile}"
-                output="${dist.dir}/${installer.name}${ver}.${rel}.jar"
-                installerType="standard"
-                basedir="${dist.dir}"
-                izPackDir="${dist.dir}/"
-                compression="deflate"
-                compressionlevel="9" />
-    	<echo>
-sucessfully created:
-${dist.dir}/${installer.name}${ver}.${rel}.jar    		
-    	</echo>
-    </target>
-	
-	
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: prepare.install.dist                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="prepare.install.dist" depends="taskdef.dist, copy.dist.natives, copy.dist.files, replace.dist.buildnumber, fix.crlf">
-            
-    </target>
-	
-    <!-- =================================
-	   Creates a normal installer for IzPack 
-	  ================================= -->
-    <target name="generate.installer" depends="prepare.install.dist">
-        <antcall target="exec.izpack.compiler">
-            <param name="installer.xmlfile" value="IzPack-install.xml" />
-            <param name="installer.name" value="${product}-install-" />
-        </antcall>
-    </target>
-
-    <!--
-        Fixes CR/LF by applying the Unix convention (\n for endlines).
-        It also fixes the encoding problems by moving it to UTF-8.
-    -->
-    <target name="fix.crlf">
-        <property name="dist.src.dir" location="${dist.dir}/src"/>
-    	<property name="dist.bin.dir" location="${dist.dir}/bin"/>
-        <echo>
-Fixing linefeeds for several files in:
- "${dist.src.dir}"
-   and
- "${dist.bin.dir}"
-        </echo>
-        <fixcrlf srcDir="${dist.src.dir}" eol="lf" eof="remove" encoding="UTF-8">
-            <include name="**/*.java" />
-            <include name="**/*.xml" />
-            <include name="**/*.properties" />
-        </fixcrlf>
-    	<fixcrlf srcdir="${dist.dir}" eol="unix" eof="remove">
-            <include name="**/*.sh"/>
-    	    <include name="dist-files/compile"/>
-        </fixcrlf>
-    	<fixcrlf srcdir="${dist.bin.dir}" eol="unix" eof="remove">
-    	  <include name="**/*.sh"/>
-    	  <include name="compile"/>	    	
-    	</fixcrlf>
-    </target>
-
-    <!-- Runs a testing installer. -->
-    <target name="run.installer">
-        <java jar="${basedir}/_dist/IzPack-install-${build.number}.jar" fork="true" />
-    </target>
-
-    <!-- Makes everything, from compilation to generating an installer. -->
-    <target name="quickdist"
-            depends="all, generate.installer"
-            description="makes a installer without docu" />
-
-    <!-- Makes everything, from compilation, customer and javadoc to generating an installer. -->
-    <target name="dist"
-            depends="all, create.docu, generate.installer"
-            description="makes a complete installer" />
-
-    <!-- Makes everything, from Cleaning to generating both installers: normal and reg support. -->
-    <target name="cleandistreg"
-            depends="clean, splashscreen, dist, generate.installer"
-            description="creates a full dist with Win32 uninstall registry support" />
-  
-    <!-- ================================= 
-          target: clean.src.tar.gz              
-         ================================= -->
-    <target name="clean.src.tar.gz" depends="clean, src.tar.gz" description="--> creates a src.tar.gz after clean up">
-    </target>
-
-  
-    <!-- ================================= 
-          target: src.tar.gz              
-         ================================= -->
-    <target name="src.tar.gz"  description="--> creates a src.tar.gz ">
-      <mkdir dir="${basedir}/_src${dist.subdir}"/>
-      <property name="src.tar.gz" value="${basedir}/_src${dist.subdir}/${product}.src.${ver}.${rel}.tar.gz"/>
-      <tar compression="gzip" destfile="${src.tar.gz}" basedir="${basedir}" excludes="_src${dist.subdir}/**, _dist/**, _build/**, bin/panels/**, bin/customActions/**, doc/izpack/**, eclipse-bin/**, lib/standalone-compiler.jar, lib/izevent.jar, lib/uninstaller*, lib/installer.jar, lib/compiler.jar"/>
-    </target>
-
-
-    <!-- convenient :) makes a quick dist (w/o docu), an installer and run them. -->
-    <target name="quickdist+run"
-            depends="quickdist, run.installer"
-            description="makes a quickdist installer and runs them" />
-
-    <!-- convenient :) makes a complete dist an installer and run them. -->
-    <target name="dist+run"
-            depends="dist, run.installer"
-            description="makes a complete installer and runs them" />
-
-    <!-- ** splashscreen **
-	  shows some ANT specific- and JAVA-
-	  but Platform and Project-independed Properties.
-	================================================================ -->
-    <target name="splashscreen"
-            depends="time"
-            description="shows the used environment and project settings">
-
-        <property name="console_line" value="**************************************************" />
-        <!-- Task splash/ ?? -->
-        <echo message="${console_line}" />
-        <echo message="* ${ant.version}" />
-        <!-- N2H: Test if this is the right ANT-Version (implementation of an own JAVA-Class which compares BuildNumbers) -->
-        <echo message="*   Java JRE version ${ant.java.version} ${java.vm.vendor}" />
-        <!-- 1.3 -->
-        <exec executable="${java.home}/bin/java">
-            <arg line="-version" />
-        </exec>
-        <echo message="${console_line}" />
-        <echo message="*  processing file ....... '${ant.file}'" />
-        <!-- D:\ToDo\_2002-11\AntTest\build.xml -->
-        <echo message="*  in base-directory ..... '${basedir}'" />
-        <!-- D:\ToDo\_2002-11\AntTest -->
-        <echo message="*  building project ...... '${ant.project.name}'" />
-        <!-- CIS -->
-        <echo message="*  working in directory .. '${cwd}'" />
-        <echo message="${console_line}" />
-    </target>
-
-
-    <!-- ================================= 
-          target: ShellLink.Javah              
-         ================================= -->
-    <target name="ShellLink.Javah"
-            depends="compile.installer"
-            description="--> rebuilds the shelllink jni *.h header file">
-        <javah class="com.izforge.izpack.util.os.ShellLink"
-               destdir="${basedir}/src/native/ShellLink">
-            <classpath path="${build.dir}" />
-        </javah>
-    </target>
-
-
-    <!-- ================================= 
-         target: time - takes a timestamp           
-        ================================= -->
-    <target name="time">
-        <tstamp />
-    </target>
-
-
-    <!-- ================================= 
-          target: dump.properties - dumps the curent properties into the $os_$timestamp.properties file             
-         ================================= -->
-    <target name="dump.properties" depends="time" description="dump.environment (for debug)">
-        <echoproperties destfile="${basedir}/ant_properties_at_${os.name}-${os.arch}-${os.version}_at_${DSTAMP}-${TSTAMP}.txt" />
-    </target>
-
-
-</project>

Copied: izpack-src/tags/3.10.1/src/build.xml (from rev 1797, izpack-src/branches/3.10/src/build.xml)

Deleted: izpack-src/tags/3.10.1/src/dist-files/IzPack-install.xml
===================================================================
--- izpack-src/branches/3.10/src/dist-files/IzPack-install.xml	2007-03-28 13:44:58 UTC (rev 1796)
+++ izpack-src/tags/3.10.1/src/dist-files/IzPack-install.xml	2007-03-29 13:29:07 UTC (rev 1799)
@@ -1,228 +0,0 @@
-<!--
-    $Id$
-    
-    IzPack installer XML file
-    
-    By Julien PONGE
-    
-    In order to build an installer for IzPack, let's create a directory
-    named '_dist' in the IzPack root directory. Then copy the files from
-    'src/dist-files' into '_dist'. Copy your IzPack image, that is all
-    the files present at the IzPack root directory. To make it clear,
-    you'll get bin/, lib/, ... and text files like Versions.txt and so
-    on. Now you can invoke the IzPack compiler and it will generate the
-    installer.
-    
-    Alternatively, you can use the IzPack Ant makefile and run 'ant dist'. It's
-    much simpler :-)
--->
-
-        <!-- The installation -->
-<installation version="1.0">
-
-    <!-- The info section -->
-    <info>
-        <appname>IzPack</appname>
-        <appversion>3.10.0</appversion>
-        <authors>
-            <author email="" name="Julien Ponge (maintainer and original developer)"/>
-
-            <author email="" name="Klaus Bartz (developer)"/>
-            <author email="" name="Fabrice Mirabile (developer)"/>
-            <author email="" name="Dennis Reil (developer)" />
-            
-            <author email="" name="Francois Guillet (contributor)"/>
-            <author email="" name="JBoss/RedHat: Vladimir Ralev (contributors)" />            
-            <author email="" name="Nils Meier (contributor)" />
-            <author email="" name="Markus Schlegel (contributor)" />
-            <author email="" name="Hal Vaughan (contributor)" />
-            <author email="" name="Ari Voutilainen (contributor)" />
-            <author email="" name="Stefan Wachter (contributor)" />
-            <author email="" name="Romain Guy (contributor)" />
-
-            <author email=""
-                    name="... the (many) other developers and contributors to the previous releases!"/>
-        </authors>
-        <url>http://www.izforge.com/izpack/</url>
-        <javaversion>1.4</javaversion>
-        <summarylogfilepath>$INSTALL_PATH/installinfo/Summary.htm</summarylogfilepath>
-    </info>
-
-    <!-- Flexible and in the screen proportions -->
-    <guiprefs height="600" resizable="yes" width="800">
-        <laf name="looks">
-            <os family="unix"/>
-        </laf>
-        <!-- GUI addaption for more informations see "Modifying the GUI" in the documentation -->
-    	<modifier key="layoutAnchor" value="CENTER"/>
-    	<modifier key="headingPanelCounter" value="progressbar"/>
-		<modifier key="headingPanelCounterPos" value="inNavigationPanel"/>
-		<modifier key="allYGap" value="3"/>
-		<modifier key="paragraphYGap" value="10"/>	
-		<modifier key="filler1YGap" value="5"/>
-		<modifier key="filler3XGap" value="10"/>
-    </guiprefs>
-
-    <variables>
-        <variable name="DesktopShortcutCheckboxEnabled" value="true"/>
-    </variables>
-
-    <!-- We include every langpack -->
-    <locale>
-        <langpack iso3="eng"/>
-        <langpack iso3="fra"/>
-        <langpack iso3="deu"/>
-        <langpack iso3="ita"/>
-        <langpack iso3="jpn"/>
-        <langpack iso3="spa"/>
-        <langpack iso3="dan"/>
-        <langpack iso3="ell"/>
-        <langpack iso3="cat"/>
-        <langpack iso3="ned"/>
-        <langpack iso3="fin"/>
-        <langpack iso3="swe"/>
-        <langpack iso3="por"/>
-        <langpack iso3="pol"/>
-        <langpack iso3="rus"/>
-        <langpack iso3="ukr"/>
-        <langpack iso3="hun"/>
-        <langpack iso3="svk"/>
-        <langpack iso3="rom"/>
-        <langpack iso3="mys"/>
-        <langpack iso3="nor"/>
-        <langpack iso3="chn"/>
-        <langpack iso3="scg"/>
-        <langpack iso3="cze"/>
-        <langpack iso3="kor"/>
-    </locale>
-
-    <!-- The resources needed by the various panels -->
-    <resources>
-        <res src="install-readme.html" id="HTMLInfoPanel.info"/>
-        <res src="Licence.txt" id="LicencePanel.licence"/>
-        <res src="splash-3.10.png" id="installer.langsel.img"/>
-        <res src="shortcutSpec.xml" id="shortcutSpec.xml"/>
-        <res src="Unix_shortcutSpec.xml" id="Unix_shortcutSpec.xml"/>
-        <res src="core.png" id="ImgPacksPanel.img.0"/>
-        <res src="doc-html.png" id="ImgPacksPanel.img.1"/>
-        <res src="javadocs.png" id="ImgPacksPanel.img.2"/>
-        <res src="doc-nanoxml.png" id="ImgPacksPanel.img.3"/>
-        <!--    
-            <res src="doc-pdf.png" id="ImgPacksPanel.img.2" />        
-        -->
-        <res src="sample.png" id="ImgPacksPanel.img.4"/>
-        <res src="src.png" id="ImgPacksPanel.img.5"/>
-        <res src="border1.png" id="Installer.image.0"/>
-        <res src="border2.png" id="Installer.image.1"/>
-        <res src="border3.png" id="Installer.image.2"/>
-        <res src="border4.png" id="Installer.image.3"/>
-        <res src="border5.png" id="Installer.image.4"/>
-        <res src="border5.png" id="Installer.image.5"/>
-        <res src="border6.png" id="Installer.image.6"/>
-        <res src="border7.png" id="Installer.image.7"/>
-        <res src="border8.png" id="Installer.image.8"/>
-        <res src="RegistrySpec.xml" id="RegistrySpec.xml"/>
-    </resources>
-
-    <!-- The panels in a classic order -->
-    <panels>
-        <panel classname="CheckedHelloPanel" id="hellopanel"/>
-        <panel classname="HTMLInfoPanel" id="infopanel"/>
-        <panel classname="LicencePanel" id="licensepanel"/>
-        <panel classname="TargetPanel" id="targetpanel"/>
-        <panel classname="ImgPacksPanel" id="packspanel"/>
-        <panel classname="SummaryPanel" id="summarypanel"/>
-        <panel classname="InstallPanel" id="installpanel"/>
-        <panel classname="ShortcutPanel" id="shortcutpanel"/>
-        <!-- We use temporary the FinishPanel in the 3.9 Release 
-             to get Access to the [Generate an automatic installation script]-Button
-             to get feedback so quick as possible from all of users, 
-             who wants to get back this feature ;-) -->
-        <panel classname="FinishPanel" id="finishpanel"/>
-    </panels>
-
-    <!-- The listeners section for CustomActions -->
-    <listeners>
-        <listener installer="SummaryLoggerInstallerListener"/>
-        <listener installer="RegistryInstallerListener"   
-                  uninstaller="RegistryUninstallerListener">
-            <os family="windows"/>
-        </listener>
-    </listeners>
-
-    <!-- The packs section -->
-    <packs>
-
-        <!-- The core files -->
-        <pack name="Core" required="yes">
-            <description>The IzPack core files.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="*.txt"/>
-                <include name="bin/**/*"/>
-                <include name="lib/**/*"/>
-                <include name="legal/**/*"/>
-            </fileset>
-            <executable targetfile="$INSTALL_PATH/bin/compile" stage="never"/>
-            <executable targetfile="$INSTALL_PATH/bin/start.sh" stage="never"/>
-        </pack>
-
-        <!-- The documentation -->
-        <pack name="XHTML Documentation" required="no">
-            <description>The IzPack documentation (XHTML version).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/izpack/xhtml/**/*"/>
-            </fileset>
-        </pack>
-        <pack name="Java Documentation" required="no">
-            <description>
-                The IzPack Java documentation (Javadocs for IzPack developers).
-            </description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/izpack/javadoc/**/*"/>
-            </fileset>
-        </pack>
-        <!--
-            Disabled while doc-ng not provides a pdf ...
-            
-            <pack name="PDF Documentation" required="no">
-            <description>The IzPack documentation (PDF version).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-            <include name="doc/izpack/pdf/**/*" />
-            </fileset>
-            </pack>
-        -->
-        <pack name="NanoXML Documentation" required="no">
-            <description>NanoXML documentation (for IzPack developers).</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="doc/nanoxml/**/*"/>
-            </fileset>
-        </pack>
-
-
-        <!-- A trivial sample to get started -->
-        <pack name="Sample" required="no">
-            <description>A sample installation.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="sample/**/*"/>
-            </fileset>
-        </pack>
-
-        <!-- The source code of this version -->
-        <pack name="Sources" required="no">
-            <description>The full IzPack source code.</description>
-            <fileset dir="" targetdir="$INSTALL_PATH">
-                <include name="src/**/*"/>
-                <exclude name="src/*.manifest"/>
-            </fileset>
-        </pack>
-
-    </packs>
-
-    <!-- The native libraries to add -->
-    <native type="izpack" name="ShellLink.dll"/>
-    <native type="3rdparty" name="COIOSHelper.dll" stage="both">
-        <os family="windows"/>
-    </native>
-
-
-</installation>

Copied: izpack-src/tags/3.10.1/src/dist-files/IzPack-install.xml (from rev 1797, izpack-src/branches/3.10/src/dist-files/IzPack-install.xml)

Deleted: izpack-src/tags/3.10.1/src/lib/com/izforge/izpack/compiler/Compiler.java
===================================================================
--- izpack-src/branches/3.10/src/lib/com/izforge/izpack/compiler/Compiler.java	2007-03-28 13:44:58 UTC (rev 1796)
+++ izpack-src/tags/3.10.1/src/lib/com/izforge/izpack/compiler/Compiler.java	2007-03-29 13:29:07 UTC (rev 1799)
@@ -1,863 +0,0 @@
-/*
- * $Id$
- * IzPack - Copyright 2001-2007 Julien Ponge, All Rights Reserved.
- * 
- * http://www.izforge.com/izpack/
- * http://developer.berlios.de/projects/izpack/
- * 
- * Copyright 2001 Johannes Lehtinen
- * Copyright 2002 Paul Wilkinson
- * Copyright 2004 Gaganis Giorgos
- *
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- *     
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.izforge.izpack.compiler;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-
-import com.izforge.izpack.CustomData;
-import com.izforge.izpack.GUIPrefs;
-import com.izforge.izpack.Info;
-import com.izforge.izpack.Pack;
-import com.izforge.izpack.Panel;
-import com.izforge.izpack.compressor.PackCompressor;
-import com.izforge.izpack.util.Debug;
-import com.izforge.izpack.util.VariableSubstitutor;
-
-/**
- * The IzPack compiler class. This is now a java bean style class that can be
- * configured using the object representations of the install.xml
- * configuration. The install.xml configuration is now handled by the
- * CompilerConfig class.
- * 
- * @see CompilerConfig
- * 
- * @author Julien Ponge
- * @author Tino Schwarze
- * @author Chadwick McHenry
- */
-public class Compiler extends Thread
-{
-    /** The IzPack version. */
-    public final static String IZPACK_VERSION = "3.10.0";
-
-    /** The IzPack home directory. */
-    public static String IZPACK_HOME = ".";
-
-    /** The base directory. */
-    protected String basedir;
-
-    /** The installer kind. */
-    protected String kind;
-
-    /** The output jar filename. */
-    protected String output;
-
-    /** Collects and packs files into installation jars, as told. */
-    private IPackager packager = null;
-
-    /** Error code, set to true if compilation succeeded. */
-    private boolean compileFailed = true;
-
-    /** Key/values which are substituted at compile time in the install data */
-    private Properties properties;
-
-    /** Replaces the properties in the install.xml file prior to compiling */
-    private VariableSubstitutor propertySubstitutor;
-    
-    private String compr_format;
-    private int compr_level;
-    private PackagerListener packagerlistener;
-
-    /**
-     * Set the IzPack home directory
-     * @param izHome - the izpack home directory
-     */
-    public static void setIzpackHome(String izHome)
-    {
-        IZPACK_HOME = izHome;
-    }
-
-    /**
-     * The constructor.
-     * 
-     * @param basedir The base directory.
-     * @param kind The installer kind.
-     * @param output The installer filename.
-     * @throws CompilerException
-     */
-    public Compiler(String basedir, String kind, String output) throws CompilerException
-    {
-        this(basedir,kind,output,"default");
-    }
-
-    /**
-     * The constructor.
-     * 
-     * @param basedir The base directory.
-     * @param kind The installer kind.
-     * @param output The installer filename.
-     * @param compr_format The format which should be used for the packs.
-     * @throws CompilerException
-     */
-    public Compiler(String basedir, String kind, String output, String compr_format) throws CompilerException
-    {
-        this(basedir,kind,output, compr_format, -1);
-    }
-
-    /**
-     * The constructor.
-     * 
-     * @param basedir The base directory.
-     * @param kind The installer kind.
-     * @param output The installer filename.
-     * @param compr_format The format which should be used for the packs.
-     * @param compr_level Compression level to be used if supported.
-     * @throws CompilerException
-     */
-    public Compiler(String basedir, String kind, String output, 
-            String compr_format, int compr_level) throws CompilerException
-    {
-        // Default initialisation
-        this.basedir = basedir;
-        this.kind = kind;
-        this.output = output;
-
-        // initialize backed by system properties
-        properties = new Properties(System.getProperties());
-        propertySubstitutor = new VariableSubstitutor(properties);
-
-        // add izpack built in property
-        setProperty("izpack.version", IZPACK_VERSION);
-        setProperty("basedir", basedir);
-        
-        this.compr_format = compr_format;
-        this.compr_level = compr_level;
-    }
-
-    /**
-     * Initializes the given packager class
-     * @param classname
-     * @throws CompilerException
-     */
-    public void initPackager(String classname) throws CompilerException{
-        try {
-            packager = PackagerFactory.getPackager(classname);
-            packager.initPackCompressor(this.compr_format, this.compr_level);
-            PackCompressor compressor = packager.getCompressor();
-            if (compressor != null){
-                compressor.setCompiler(this);
-            }
-            if (this.packagerlistener != null){
-                packager.setPackagerListener(this.packagerlistener);
-            }
-        }
-        catch (Exception e){
-            Debug.trace(e);
-            throw new CompilerException("Error loading packager class: " +  classname);
-        }
-    }
-    
-    /**
-     * Returns the packager listener.
-     * @return the packager listener
-     */
-    public PackagerListener getPackagerListener()
-    {
-        return packager.getPackagerListener();
-    }
-    /**
-     * Sets the packager listener.
-     * 
-     * @param listener The listener.
-     */
-    public void setPackagerListener(PackagerListener listener)
-    {
-        if (packager != null){
-            packager.setPackagerListener(listener);
-        }
-        else {
-            this.packagerlistener = listener;
-        }
-    }
-
-    /**
-     * Access the installation kind.
-     * @return the installation kind.
-     */
-    public String getKind()
-    {
-        return kind;
-    }
-    /**
-     * Get the packager variables.
-     * @return the packager variables
-     */
-    public Properties getVariables()
-    {
-        return packager.getVariables();
-    }
-
-    /** Compiles. */
-    public void compile()
-    {
-        start();
-    }
-
-    /** The run() method. */
-    public void run()
-    {
-        try
-        {
-            createInstaller(); // Execute the compiler - may send info to
-            // System.out
-        }
-        catch (CompilerException ce)
-        {
-            System.out.println(ce.getMessage() + "\n");
-        }
-        catch (Exception e)
-        {
-            if (Debug.stackTracing())
-            {
-                e.printStackTrace();
-            }
-            else
-            {
-                System.out.println("ERROR: " + e.getMessage());
-            }
-        }
-    }
-
-    /**
-     * Compiles the installation.
-     * 
-     * @exception Exception Description of the Exception
-     */
-    public void createInstaller() throws Exception
-    {
-        // Add the class files from the chosen compressor.
-        if( packager.getCompressor().getContainerPaths() != null )
-        {
-            String [] containerPaths = packager.getCompressor().getContainerPaths();
-            String [][] decoderClassNames = packager.getCompressor().getDecoderClassNames();
-            for( int i = 0; i < containerPaths.length; ++i)
-            {
-                URL compressorURL = null;
-                if( containerPaths[i] != null )
-                    compressorURL = findIzPackResource(containerPaths[i],"pack compression Jar file");
-                if( decoderClassNames[i] != null && decoderClassNames[i].length > 0)
-                    addJarContent(compressorURL, Arrays.asList(decoderClassNames[i]));
-            }
-            
-            
-        }
-  
-        // We ask the packager to create the installer
-        packager.createInstaller(new File(output));
-        this.compileFailed = false;
-    }
-
-    /**
-     * Returns whether the installation was successful or not.
-     * @return whether the installation was successful or not
-     */
-    public boolean wasSuccessful()
-    {
-        return !this.compileFailed;
-    }
-
-    /**
-     * Replaces placeholder in the given string with the associated strings.
-     * @param value to be substituted
-     * @return the substituted string
-     */
-    public String replaceProperties(String value)
-    {
-        return propertySubstitutor.substitute(value, "at");
-    }
-
-    /**
-     * Sets GUI preferences to the packager.
-     * @param prefs preferences to be set
-     */
-    public void setGUIPrefs(GUIPrefs prefs)
-    {
-        packager.setGUIPrefs(prefs);
-    }
-    /**
-     * Sets an Info object to the packager.
-     * @param info Info object to be set
-     * @throws Exception
-     */
-    public void setInfo(Info info) throws Exception
-    {
-        packager.setInfo(info);
-    }
-
-    /**
-     * Returns the install packager.
-     * @return the install packager.
-     */
-    public IPackager getPackager()
-    {
-        return packager;
-    }
-    /**
-     * Returns the properties currently known to the compileer.
-     * @return the properties currently known to the compileer
-     */
-    public Properties getProperties()
-    {
-        return properties;
-    }
-
-    /**
-     * Get the value of a property currerntly known to izpack.
-     * 
-     * @param name the name of the property
-     * @return the value of the property, or null
-     */
-    public String getProperty(String name)
-    {
-        return properties.getProperty(name);
-    }
-
-    /**
-     * Add a name value pair to the project property set. Overwriting any existing value except system properties.
-     * 
-     * @param name the name of the property
-     * @param value the value to set
-     * @return an indicator if the name value pair was added.
-     */
-    public boolean setProperty(String name, String value)
-    {
-        if (System.getProperties().containsKey(name)) {
-            return false;
-        }
-        properties.put(name, value);
-        return true;
-    }
-
-    /**
-     * Add a name value pair to the project property set. It is <i>not</i> replaced it is already
-     * in the set of properties.
-     * 
-     * @param name the name of the property
-     * @param value the value to set
-     * @return true if the property was not already set
-     */
-    public boolean addProperty(String name, String value)
-    {
-        String old = properties.getProperty(name);
-        if (old == null)
-        {
-            properties.put(name, value);
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Add jar content to the installation.
-     * @param content 
-     */
-    public void addJarContent(URL content)
-    {
-        packager.addJarContent(content);
-    }
-
-    /**
-     * Adds a jar file content to the installer. Package structure is maintained. Need mechanism to
-     * copy over signed entry information. If the given file list is null the hole contents of the
-     * jar file will be copied else only the listed.
-     * 
-     * @param content The url of the jar to add to the installer. We use a URL so the jar may be
-     * nested within another.
-     * @param files to be copied
-     */
-    public void addJarContent(URL content, List files)
-    {
-        packager.addJarContent(content, files);
-    }
-
-    /**
-     * Add a custom jar to the installation.
-     * 
-     * @param ca
-     * @param url
-     */
-    public void addCustomJar(CustomData ca, URL url)
-    {
-        packager.addCustomJar(ca, url);
-    }
-    /**
-     * Add a lang pack to the installation.
-     * @param iso3
-     * @param iso3xmlURL
-     * @param iso3FlagURL
-     */
-    public void addLangPack(String iso3, URL iso3xmlURL, URL iso3FlagURL)
-    {
-        packager.addLangPack(iso3, iso3xmlURL, iso3FlagURL);
-    }
-    /**
-     * Add a native library to the installation.
-     * @param name
-     * @param url
-     * @throws Exception
-     */
-    public void addNativeLibrary(String name, URL url) throws Exception
-    {
-        packager.addNativeLibrary(name, url);
-    }
-    /**
-     * Add an unistaller library.
-     * @param data
-     */
-    public void addNativeUninstallerLibrary(CustomData data)
-    {
-        packager.addNativeUninstallerLibrary(data);
-    }
-    /**
-     * Add a pack to the installation.
-     * @param pack
-     */
-    public void addPack(PackInfo pack)
-    {
-        packager.addPack(pack);
-    }
-    /**
-     * Add a panel jar to the installation.
-     * @param panel
-     * @param url
-     */
-    public void addPanelJar(Panel panel, URL url)
-    {
-        packager.addPanelJar(panel, url);        
-    }
-    /**
-     * Add a resource to the installation.
-     * @param name
-     * @param url
-     */
-    public void addResource(String name, URL url)
-    {
-        packager.addResource(name, url);
-    }
-
-    /**
-     * Checks whether the dependencies stated in the configuration file are correct. Specifically it
-     * checks that no pack point to a non existent pack and also that there are no circular
-     * dependencies in the packs.
-     * @throws CompilerException 
-     */
-    public void checkDependencies() throws CompilerException
-    {
-        checkDependencies(packager.getPacksList());
-    }
-    
-    /**
-     * Checks whether the excluded packs exist. (simply calles the other function)
-     * @throws CompilerException
-     */
-    public void checkExcludes() throws CompilerException
-    {
-       checkExcludes(packager.getPacksList());
-    }
-    
-    /**
-     * This checks if there are more than one preselected packs per excludeGroup.
-     * @param packs list of packs which should be checked
-     * @throws CompilerException 
-     */
-    public void checkExcludes(List packs) throws CompilerException
-    {
-        for(int q=0; q<packs.size(); q++)
-        {
-            PackInfo packinfo1 = (PackInfo) packs.get(q);
-            Pack pack1 = packinfo1.getPack();
-            for(int w = 0; w < q; w++)
-            {
-
-                PackInfo packinfo2 = (PackInfo) packs.get(w);
-                Pack pack2 = packinfo2.getPack();
-                if(pack1.excludeGroup != null && pack2.excludeGroup != null)
-                {
-                    if(pack1.excludeGroup.equals(pack2.excludeGroup))
-                    {
-                        if(pack1.preselected && pack2.preselected)
-                        {
-                            parseError("Packs "+pack1.name+" and "+pack2.name+
-                                    " belong to the same excludeGroup "+pack1.excludeGroup+
-                            " and are both preselected. This is not allowed.");
-                        }
-                    }
-                }
-            }
-            
-        }
-    }
-    /**
-     * Checks whether the dependencies among the given Packs. Specifically it
-     * checks that no pack point to a non existent pack and also that there are no circular
-     * dependencies in the packs.
-     * @param packs - List<Pack> representing the packs in the installation
-     * @throws CompilerException 
-     */
-    public void checkDependencies(List packs) throws CompilerException
-    {
-        // Because we use package names in the configuration file we assosiate
-        // the names with the objects
-        Map names = new HashMap();
-        for (int i = 0; i < packs.size(); i++)
-        {
-            PackInfo pack = (PackInfo) packs.get(i);
-            names.put(pack.getPack().name, pack);
-        }
-        int result = dfs(packs, names);
-        // @todo More informative messages to include the source of the error
-        if (result == -2)
-            parseError("Circular dependency detected");
-        else if (result == -1) parseError("A dependency doesn't exist");
-    }
-
-    /**
-     * We use the dfs graph search algorithm to check whether the graph is acyclic as described in:
-     * Thomas H. Cormen, Charles Leiserson, Ronald Rivest and Clifford Stein. Introduction to
-     * algorithms 2nd Edition 540-549,MIT Press, 2001
-     * 
-     * @param packs The graph
-     * @param names The name map
-     * @return -2 if back edges exist, else 0
-     */
-    private int dfs(List packs, Map names)
-    {
-        Map edges = new HashMap();
-        for (int i = 0; i < packs.size(); i++)
-        {
-            PackInfo pack = (PackInfo) packs.get(i);
-            if (pack.colour == PackInfo.WHITE)
-            {
-                if (dfsVisit(pack, names, edges) != 0) return -1;
-            }
-
-        }
-        return checkBackEdges(edges);
-    }
-
-    /**
-     * This function checks for the existence of back edges.
-     * @param edges map to be checked
-     * @return -2 if back edges exist, else 0
-     */
-    private int checkBackEdges(Map edges)
-    {
-        Set keys = edges.keySet();
-        for (Iterator iterator = keys.iterator(); iterator.hasNext();)
-        {
-            final Object key = iterator.next();
-            int color = ((Integer) edges.get(key)).intValue();
-            if (color == PackInfo.GREY) { return -2; }
-        }
-        return 0;
-
-    }
-
-    /**
-     * This class is used for the classification of the edges
-     */
-    private class Edge
-    {
-
-        PackInfo u;
-
-        PackInfo v;
-
-        Edge(PackInfo u, PackInfo v)
-        {
-            this.u = u;
-            this.v = v;
-        }
-    }
-
-    private int dfsVisit(PackInfo u, Map names, Map edges)
-    {
-        u.colour = PackInfo.GREY;
-        List deps = u.getDependencies();
-        if (deps != null)
-        {
-            for (int i = 0; i < deps.size(); i++)
-            {
-                String name = (String) deps.get(i);
-                PackInfo v = (PackInfo) names.get(name);
-                if (v == null)
-                {
-                    System.out.println("Failed to find dependency: "+name);
-                    return -1;
-                }
-                Edge edge = new Edge(u, v);
-                if (edges.get(edge) == null) edges.put(edge, new Integer(v.colour));
-
-                if (v.colour == PackInfo.WHITE)
-                {
-
-                    final int result = dfsVisit(v, names, edges);
-                    if (result != 0) return result;
-                }
-            }
-        }
-        u.colour = PackInfo.BLACK;
-        return 0;
-    }
-
-    /**
-     * Look for an IzPack resource either in the compiler jar, or within IZPACK_HOME. The path must
-     * not be absolute. The path must use '/' as the fileSeparator (it's used to access the jar
-     * file). If the resource is not found, a CompilerException is thrown indicating fault in the
-     * parent element.
-     * 
-     * @param path the relative path (using '/' as separator) to the resource.
-     * @param desc the description of the resource used to report errors
-     * @return a URL to the resource.
-     * @throws CompilerException 
-     */
-    public URL findIzPackResource(String path, String desc)
-            throws CompilerException
-    {
-        URL url = getClass().getResource("/" + path);
-        if (url == null)
-        {
-            File resource = new File(path);
-            if (!resource.isAbsolute()) resource = new File(IZPACK_HOME, path);
-
-            if (!resource.exists()) // fatal
-                parseError(desc + " not found: " + resource);
-
-            try
-            {
-                url = resource.toURL();
-            }
-            catch (MalformedURLException how)
-            {
-                parseError(desc + "(" + resource + ")", how);
-            }
-        }
-
-        return url;
-    }
-
-    /**
-     * Create parse error with consistent messages. Includes file name. For use When parent is
-     * unknown.
-     * 
-     * @param message Brief message explaining error
-     * @throws CompilerException 
-     */
-    public void parseError(String message) throws CompilerException
-    {
-        this.compileFailed = true;
-        throw new CompilerException(message);
-    }
-    /**
-     * Create parse error with consistent messages. Includes file name. For use When parent is
-     * unknown.
-     * 
-     * @param message Brief message explaining error
-     * @param how throwable which was catched
-     * @throws CompilerException 
-     */
-    public void parseError(String message, Throwable how) throws CompilerException
-    {
-        this.compileFailed = true;
-        throw new CompilerException(message, how);
-    }
-
-    /**
-     * The main method if the compiler is invoked by a command-line call.
-     * This simply calls the CompilerConfig.main method.
-     * 
-     * @param args The arguments passed on the command-line.
-     */
-    public static void main(String[] args)
-    {
-        CompilerConfig.main(args);
-    }
-
-    // -------------------------------------------------------------------------
-    // ------------- Listener stuff ------------------------- START ------------
-
-    /**
-     * This method parses install.xml for defined listeners and put them in the right position. If
-     * posible, the listeners will be validated. Listener declaration is a fragmention in
-     * install.xml like : &lt;listeners&gt; &lt;listener compiler="PermissionCompilerListener"
-     * installer="PermissionInstallerListener"/1gt; &lt;/listeners&gt;
-     * 
-     * @param type The listener type.
-     * @param className The class name.
-     * @param jarPath The jar path.
-     * @param constraints The list of constraints.
-     * @throws Exception Thrown in case an error occurs.
-     */
-    public void addCustomListener(int type, String className, String jarPath, List constraints) throws Exception
-    {
-        jarPath = replaceProperties(jarPath);
-        URL url = findIzPackResource(jarPath, "CustomAction jar file");
-        List filePaths = getContainedFilePaths(url);
-        String fullClassName = getFullClassName(url, className);
-        CustomData ca = new CustomData(fullClassName, filePaths, constraints, type);
-        packager.addCustomJar(ca, url);
-    }
-
-    /**
-     * Returns a list which contains the pathes of all files which are included in the given url.
-     * This method expects as the url param a jar.
-     * 
-     * @param url url of the jar file
-     * @return full qualified paths of the contained files
-     * @throws Exception
-     */
-    private List getContainedFilePaths(URL url) throws Exception
-    {
-        JarInputStream jis = new JarInputStream(url.openStream());
-        ZipEntry zentry = null;
-        ArrayList fullNames = new ArrayList();
-        while ((zentry = jis.getNextEntry()) != null)
-        {
-            String name = zentry.getName();
-            // Add only files, no directory entries.
-            if (!zentry.isDirectory()) fullNames.add(name);
-        }
-        jis.close();
-        return (fullNames);
-    }
-
-    /**
-     * Returns the qualified class name for the given class. This method expects as the url param a
-     * jar file which contains the given class. It scans the zip entries of the jar file.
-     * 
-     * @param url url of the jar file which contains the class
-     * @param className short name of the class for which the full name should be resolved
-     * @return full qualified class name
-     * @throws Exception
-     */
-    private String getFullClassName(URL url, String className) throws Exception
-    {
-        JarInputStream jis = new JarInputStream(url.openStream());
-        ZipEntry zentry = null;
-        while ((zentry = jis.getNextEntry()) != null)
-        {
-            String name = zentry.getName();
-            int lastPos = name.lastIndexOf(".class");
-            if (lastPos < 0)
-            {
-                continue; // No class file.
-            }
-            name = name.replace('/', '.');
-            int pos = -1;
-            if (className != null)
-            {
-                pos = name.indexOf(className);
-            }
-            if (name.length() == pos + className.length() + 6) // "Main" class
-            // found
-            {
-                jis.close();
-                return (name.substring(0, lastPos));
-            }
-        }
-        jis.close();
-        return (null);
-    }
-
-    // -------------------------------------------------------------------------
-    // ------------- Listener stuff ------------------------- END ------------
-
-    /**
-     * Used to handle the packager messages in the command-line mode.
-     * 
-     * @author julien created October 26, 2002
-     */
-    static class CmdlinePackagerListener implements PackagerListener
-    {
-
-        /**
-         * Print a message to the console at default priority (MSG_INFO).
-         * 
-         * @param info The information.
-         */
-        public void packagerMsg(String info)
-        {
-            packagerMsg(info, MSG_INFO);
-        }
-
-        /**
-         * Print a message to the console at the specified priority.
-         * 
-         * @param info The information.
-         * @param priority priority to be used for the message prefix
-         */
-        public void packagerMsg(String info, int priority)
-        {
-            final String prefix;
-            switch (priority)
-            {
-            case MSG_DEBUG:
-                prefix = "[ DEBUG ] ";
-                break;
-            case MSG_ERR:
-                prefix = "[ ERROR ] ";
-                break;
-            case MSG_WARN:
-                prefix = "[ WARNING ] ";
-                break;
-            case MSG_INFO:
-            case MSG_VERBOSE:
-            default: // don't die, but don't prepend anything
-                prefix = "";
-            }
-
-            System.out.println(prefix + info);
-        }
-
-        /** Called when the packager starts. */
-        public void packagerStart()
-        {
-            System.out.println("[ Begin ]");
-            System.out.println();
-        }
-
-        /** Called when the packager stops. */
-        public void packagerStop()
-        {
-            System.out.println();
-            System.out.println("[ End ]");
-        }
-    }
-
-}

Copied: izpack-src/tags/3.10.1/src/lib/com/izforge/izpack/compiler/Compiler.java (from rev 1797, izpack-src/branches/3.10/src/lib/com/izforge/izpack/compiler/Compiler.java)




More information about the izpack-changes mailing list