[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 : <listeners> <listener compiler="PermissionCompilerListener"
- * installer="PermissionInstallerListener"/1gt; </listeners>
- *
- * @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