[izpack-changes] r1663 - in izpack-src/trunk: . src src/doc-ng/XHTML src/doc-ng/docbooks src/lib/com/izforge/izpack/ant src/lib/com/izforge/izpack/compiler src/lib/com/izforge/izpack/panels
noreply at berlios.de
noreply at berlios.de
Mon Dec 4 20:16:56 CET 2006
Author: jponge
Date: 2006-12-04 20:16:38 +0100 (Mon, 04 Dec 2006)
New Revision: 1663
Modified:
izpack-src/trunk/IzPack-head.iml
izpack-src/trunk/IzPack-head.ipr
izpack-src/trunk/Versions.txt
izpack-src/trunk/src/build.xml
izpack-src/trunk/src/doc-ng/XHTML/node4.html
izpack-src/trunk/src/doc-ng/XHTML/node5.html
izpack-src/trunk/src/doc-ng/docbooks/node4.xml
izpack-src/trunk/src/lib/com/izforge/izpack/ant/IzPackTask.java
izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java
izpack-src/trunk/src/lib/com/izforge/izpack/compiler/CompilerConfig.java
izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Packager.java
izpack-src/trunk/src/lib/com/izforge/izpack/panels/UserInputPanel.java
Log:
Merged from branch-3.9 r1619:r1662
Modified: izpack-src/trunk/IzPack-head.iml
===================================================================
--- izpack-src/trunk/IzPack-head.iml 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/IzPack-head.iml 2006-12-04 19:16:38 UTC (rev 1663)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="4" relativePaths="true" type="JAVA_MODULE">
<component name="ModuleRootManager" />
- <component name="NewModuleRootManager">
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
<output url="file://$MODULE_DIR$/.idea-classes" />
<exclude-output />
<content url="file://$MODULE_DIR$">
Modified: izpack-src/trunk/IzPack-head.ipr
===================================================================
--- izpack-src/trunk/IzPack-head.ipr 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/IzPack-head.ipr 2006-12-04 19:16:38 UTC (rev 1663)
@@ -10,13 +10,19 @@
<properties />
</buildFile>
</component>
+ <component name="BuildJarProjectSettings">
+ <option name="BUILD_JARS_ON_MAKE" value="false" />
+ </component>
+ <component name="CodeStyleProjectProfileManger">
+ <option name="PROJECT_PROFILE" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ </component>
<component name="CodeStyleSettingsManager">
<option name="PER_PROJECT_SETTINGS" />
<option name="USE_PER_PROJECT_SETTINGS" value="false" />
</component>
<component name="CompilerConfiguration">
<option name="DEFAULT_COMPILER" value="Javac" />
- <option name="CLEAR_OUTPUT_DIRECTORY" value="false" />
<option name="DEPLOY_AFTER_MAKE" value="0" />
<resourceExtensions>
<entry name=".+\.(properties|xml|html|dtd|tld)" />
@@ -39,6 +45,20 @@
<option name="myForwardDirection" value="false" />
</component>
<component name="DependencyValidationManager" />
+ <component name="EclipseCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="EclipseEmbeddedCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
<component name="EntryPointsManager">
<entry_points />
</component>
@@ -48,6 +68,36 @@
<option name="OUTPUT_DIRECTORY" />
</component>
<component name="GUI Designer component loader factory" />
+ <component name="IdProvider" IDEtalkID="F66F8E4B88443419F1E5C108B16FCE75" />
+ <component name="InspectionProjectProfileManager">
+ <option name="PROJECT_PROFILE" value="Project Default" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ <scopes />
+ <profiles>
+ <profile version="1.0" is_locked="false">
+ <option name="myName" value="Project Default" />
+ <option name="myLocal" value="false" />
+ <used_levels>
+ <error>
+ <option name="myName" value="ERROR" />
+ <option name="myVal" value="400" />
+ </error>
+ <warning>
+ <option name="myName" value="WARNING" />
+ <option name="myVal" value="300" />
+ </warning>
+ <information>
+ <option name="myName" value="INFO" />
+ <option name="myVal" value="200" />
+ </information>
+ <server>
+ <option name="myName" value="SERVER PROBLEM" />
+ <option name="myVal" value="100" />
+ </server>
+ </used_levels>
+ </profile>
+ </profiles>
+ </component>
<component name="JavacSettings">
<option name="DEBUGGING_INFO" value="true" />
<option name="GENERATE_NO_WARNINGS" value="false" />
@@ -69,6 +119,7 @@
<option name="OPTION_DEPRECATED_LIST" value="true" />
<option name="OTHER_OPTIONS" value="" />
<option name="HEAP_SIZE" />
+ <option name="LOCALE" />
<option name="OPEN_IN_BROWSER" value="true" />
</component>
<component name="JikesSettings">
@@ -79,108 +130,131 @@
<option name="IS_EMACS_ERRORS_MODE" value="true" />
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
</component>
+ <component name="LogConsolePreferences">
+ <option name="FILTER_ERRORS" value="false" />
+ <option name="FILTER_WARNINGS" value="false" />
+ <option name="FILTER_INFO" value="true" />
+ <option name="CUSTOM_FILTER" />
+ </component>
<component name="Palette2">
<group name="Swing">
- <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
- <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false">
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
- <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false">
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
- <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false">
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
- <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false">
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
- <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false">
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
- <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false">
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
- <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false">
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
- <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false">
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
- <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false">
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
- <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false">
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
- <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false">
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false">
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false">
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false">
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
- <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false">
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false">
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false">
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
- <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false">
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
- <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false">
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
- <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false">
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
- <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false">
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
</group>
</component>
<component name="ProjectModuleManager">
@@ -189,6 +263,7 @@
</modules>
</component>
<component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="false" project-jdk-name="1.5" />
+ <component name="ProjectRunConfigurationManager" />
<component name="RmicSettings">
<option name="IS_EANABLED" value="false" />
<option name="DEBUGGING_INFO" value="true" />
@@ -196,11 +271,21 @@
<option name="GENERATE_IIOP_STUBS" value="false" />
<option name="ADDITIONAL_OPTIONS_STRING" value="" />
</component>
+ <component name="StarteamVcsAdapter" />
+ <component name="VssVcs" />
<component name="XSLT-Support.FileAssociationsManager" />
+ <component name="com.intellij.jsf.UserDefinedFacesConfigs">
+ <option name="USER_DEFINED_CONFIGS">
+ <value>
+ <list size="0" />
+ </value>
+ </option>
+ </component>
<component name="libraryTable" />
<component name="uidesigner-configuration">
<option name="INSTRUMENT_CLASSES" value="true" />
<option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+ <option name="DEFAULT_LAYOUT_MANAGER" value="GridLayoutManager" />
</component>
<UsedPathMacros />
</project>
Modified: izpack-src/trunk/Versions.txt
===================================================================
--- izpack-src/trunk/Versions.txt 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/Versions.txt 2006-12-04 19:16:38 UTC (rev 1663)
@@ -1,6 +1,7 @@
[ The list of the different public versions of IzPack ]
- > 3.9.1 (build xxxx.xx.xx)
+ > Next release
+
- Added docu: executeForPack, executeclass,logfiledir for ProcessPanel (Fabrice Mirabile)
- Added docu: createForUnselectedPack for UserInputPanel (Fabrice Mirabile)
- Added DataCheckPanel (Fabrice Mirabile & Hal Vaughan)
@@ -9,13 +10,20 @@
- 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, thangs
+- Heading panel strings can be depend on the panelid (Klaus Bartz, thanks
to Stefan Wachter).
- 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)
> 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)
Modified: izpack-src/trunk/src/build.xml
===================================================================
--- izpack-src/trunk/src/build.xml 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/build.xml 2006-12-04 19:16:38 UTC (rev 1663)
@@ -156,6 +156,9 @@
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:
@@ -360,6 +363,7 @@
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/installer/*.java" />
@@ -379,6 +383,7 @@
<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/installer/*.class" />
Modified: izpack-src/trunk/src/doc-ng/XHTML/node4.html
===================================================================
--- izpack-src/trunk/src/doc-ng/XHTML/node4.html 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/doc-ng/XHTML/node4.html 2006-12-04 19:16:38 UTC (rev 1663)
@@ -797,6 +797,9 @@
default value for non-interactive use. Another possible values is <tt>update</tt>. It means that the new file is only installed if it's modification time is newer than the modification time of the
already existing file (note that this is not a reliable mechanism for updates - you cannot detect whether a file was altered after installation this way.) By default it is set to <tt>
update</tt>.</li>
+
+<li><tt>unpack</tt>: if <tt>true</tt> and the file is an archive then its content will be unpacked and added as individual files</li>
+
</ul>
<h4><a name="SECTION00438610000000000000"></a><a name="tag:additionaldata"></a><br />
Modified: izpack-src/trunk/src/doc-ng/XHTML/node5.html
===================================================================
--- izpack-src/trunk/src/doc-ng/XHTML/node5.html 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/doc-ng/XHTML/node5.html 2006-12-04 19:16:38 UTC (rev 1663)
@@ -300,7 +300,7 @@
layout anchor for IzPanels. Valid are "NORTH", "NORTHWEST", "SOUTHWEST", "SOUTH" and
"CENTER". Only panels which are using the layout helper of IzPanels are
supported. These are not all standard panels. At developing custom panels it is
- recommended to use the layout helper with an IzPanelLayout.
+ recommended to use the layout helper with an IzPanelLayout. <br />NOTE: The anchor definition will be used for all panels!
</li>
<li>
<tt>Gaps</tt>:<br />
Modified: izpack-src/trunk/src/doc-ng/docbooks/node4.xml
===================================================================
--- izpack-src/trunk/src/doc-ng/docbooks/node4.xml 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/doc-ng/docbooks/node4.xml 2006-12-04 19:16:38 UTC (rev 1663)
@@ -413,7 +413,7 @@
<itemizedlist spacing="compact"><listitem><para><literal>src</literal>: the file location (relative path) - if this is a directory its content will be added recursively</para></listitem><listitem><para><literal>targetdir</literal>: the destination directory, could be something like <literal>$INSTALL_PATH/subdirX</literal></para></listitem><listitem><para><literal>os</literal>: can optionally specify a target operating system (<literal>unix, windows, mac</literal>) - this means that the file will only be installed on its target operating system</para></listitem><listitem><para><literal>override</literal>: if <literal>true</literal> then if the file is already installed, it will be overwritten. Alternative values: <literal>asktrue</literal> and <literal>askfalse</literal> - ask the user what to do and supply
default value for non-interactive use. Another possible values is <literal>update</literal>. It means that the new file is only installed if it's modification time is newer than the modification time of the
already existing file (note that this is not a reliable mechanism for updates - you cannot detect whether a file was altered after installation this way.) By default it is set to <literal>
-update</literal>.</para></listitem></itemizedlist>
+update</literal>.</para></listitem><listitem><para><literal>unpack</literal>: if true and the file is an archive then its content will be unpacked and added as individual files</para></listitem></itemizedlist>
<para/><section id="SECTION00438610000000000000"><title><?db2html element="br"?>
<literal><additionaldata></literal></title>
Modified: izpack-src/trunk/src/lib/com/izforge/izpack/ant/IzPackTask.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/ant/IzPackTask.java 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/ant/IzPackTask.java 2006-12-04 19:16:38 UTC (rev 1663)
@@ -213,6 +213,7 @@
{
String name = (String) e.nextElement();
String value = properties.getProperty(name);
+ value = fixPathString(value);
c.addProperty(name, value);
}
}
@@ -225,6 +226,7 @@
{
String name = (String) e.nextElement();
String value = (String) projectProps.get(name);
+ value = fixPathString(value);
c.addProperty(name, value);
}
}
@@ -239,7 +241,21 @@
// failed
}
}
-
+
+ private static String fixPathString(String path)
+ {
+ /*
+ * The following code fixes a bug in in codehaus classworlds loader,
+ * which can't handle mixed path strings like "c:\test\../lib/mylib.jar".
+ * The bug is in org.codehaus.classworlds.UrlUtils.normalizeUrlPath().
+ */
+ StringBuffer fixpath = new StringBuffer(path);
+ for(int q=0; q<fixpath.length(); q++)
+ if(fixpath.charAt(q) == '\\')
+ fixpath.setCharAt(q, '/');
+ return fixpath.toString();
+ }
+
/**
* Setter for property input.
*
Modified: izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java 2006-12-04 19:16:38 UTC (rev 1663)
@@ -25,6 +25,21 @@
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;
@@ -33,14 +48,6 @@
import com.izforge.izpack.util.Debug;
import com.izforge.izpack.util.VariableSubstitutor;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-
/**
* The IzPack compiler class. This is now a java bean style class that can be
* configured using the object representations of the install.xml
Modified: izpack-src/trunk/src/lib/com/izforge/izpack/compiler/CompilerConfig.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/compiler/CompilerConfig.java 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/compiler/CompilerConfig.java 2006-12-04 19:16:38 UTC (rev 1663)
@@ -51,6 +51,7 @@
import java.util.Vector;
import java.util.jar.JarInputStream;
import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
import org.apache.tools.ant.DirectoryScanner;
@@ -643,13 +644,17 @@
List osList = OsConstraint.getOsList(f); // TODO: unverified
int override = getOverrideValue(f);
Map additionals = getAdditionals(f);
+ boolean unpack = src.endsWith(".zip") && "true".equalsIgnoreCase(f.getAttribute("unpack"));
File file = new File(src);
if (!file.isAbsolute()) file = new File(basedir, src);
try
{
- addRecursively(file, targetdir, osList, override, pack, additionals);
+ if (unpack)
+ addArchiveContent(file, targetdir, osList, override, pack, additionals);
+ else
+ addRecursively(file, targetdir, osList, override, pack, additionals);
}
catch (Exception x)
{
@@ -673,7 +678,7 @@
try
{
- pack.addFile(file, target, osList, override, additionals);
+ pack.addFile(file, target, osList, override, additionals);
}
catch (FileNotFoundException x)
{
@@ -962,6 +967,37 @@
}
/**
+ * Add files in an archive to a pack
+ * @param archive the archive file to unpack
+ * @parm targetdir the target directory where the content of the archive will be installed
+ * @param osList The target OS constraints.
+ * @param override Overriding behaviour.
+ * @param pack Pack to be packed into
+ * @param additionals Map which contains additional data
+ */
+ protected void addArchiveContent(File archive, String targetdir, List osList, int override, PackInfo pack, Map additionals) throws IOException {
+
+ FileInputStream fin = new FileInputStream(archive);
+ ZipInputStream zin = new ZipInputStream(fin);
+ while (true) {
+ ZipEntry zentry = zin.getNextEntry();
+ if (zentry==null) break;
+ if (zentry.isDirectory()) continue;
+
+ File temp = File.createTempFile("izpack", null);
+ temp.deleteOnExit();
+
+ FileOutputStream out = new FileOutputStream(temp);
+ compiler.getPackager().copyStream(zin, out);
+ out.close();
+
+ pack.addFile(temp, targetdir + "/" + zentry.getName(), osList, override, additionals);
+
+ }
+ fin.close();
+ }
+
+ /**
* Recursive method to add files in a pack.
*
* @param file The file to add.
@@ -2069,6 +2105,10 @@
jarPath = "bin/customActions/" + className + ".jar";
URL url = findIzPackResource(jarPath, "CustomAction jar file", var);
String fullName = getFullClassName(url, className);
+ if (fullName == null){
+ // class not found
+ return null;
+ }
if (url != null)
{
if (getClass().getResource("/" + jarPath) != null)
Modified: izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Packager.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Packager.java 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Packager.java 2006-12-04 19:16:38 UTC (rev 1663)
@@ -733,7 +733,7 @@
* @return the total number of bytes copied
* @exception IOException if an I/O error occurs
*/
- private long copyStream(InputStream in, OutputStream out) throws IOException
+ protected long copyStream(InputStream in, OutputStream out) throws IOException
{
byte[] buffer = new byte[5120];
long bytesCopied = 0;
Modified: izpack-src/trunk/src/lib/com/izforge/izpack/panels/UserInputPanel.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/panels/UserInputPanel.java 2006-12-01 15:39:26 UTC (rev 1662)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/panels/UserInputPanel.java 2006-12-04 19:16:38 UTC (rev 1663)
@@ -2151,8 +2151,21 @@
}
}
- MultiLineLabel label = new MultiLineLabel(description, justify);
-
+ javax.swing.JTextPane label = new javax.swing.JTextPane();
+
+ // Not editable, but still selectable.
+ label.setEditable(false);
+
+ // If html tags are present enable html rendering, otherwise the JTextPane
+ // looks exactly like MultiLineLabel.
+ if(description.startsWith("<html>") && description.endsWith("</html>"))
+ label.setContentType("text/html");
+ label.setText(description);
+
+ // Background color and font to match the label's.
+ label.setBackground(javax.swing.UIManager.getColor("label.backgroud"));
+ label.setMargin(new java.awt.Insets(3, 0, 3, 0));
+
uiElements.add(new Object[] { null, DESCRIPTION, null, constraints, label,
forPacks, forOs});
}
More information about the izpack-changes
mailing list