[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>&lt;additionaldata&gt;</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