[izpack-changes] r1834 - in izpack-src/trunk: . bin/langpacks/installer src src/dist-files src/doc-ng/XHTML src/lib/com/izforge/izpack/compiler src/lib/com/izforge/izpack/installer

noreply at berlios.de noreply at berlios.de
Mon May 14 13:45:48 CEST 2007


Author: jponge
Date: 2007-05-14 13:45:44 +0200 (Mon, 14 May 2007)
New Revision: 1834

Modified:
   izpack-src/trunk/Versions.txt
   izpack-src/trunk/bin/langpacks/installer/fra.xml
   izpack-src/trunk/src/build.xml
   izpack-src/trunk/src/dist-files/IzPack-install.xml
   izpack-src/trunk/src/doc-ng/XHTML/node9.html
   izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java
   izpack-src/trunk/src/lib/com/izforge/izpack/installer/AutomatedInstaller.java
Log:
Merged -r1817:1833 from branches/3.10

Modified: izpack-src/trunk/Versions.txt
===================================================================
--- izpack-src/trunk/Versions.txt	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/Versions.txt	2007-05-14 11:45:44 UTC (rev 1834)
@@ -1,6 +1,10 @@
 [ The list of the different public versions of IzPack ]
 
+<<<<<<< .courant
   > Next major release
+=======
+  > 3.10.2 (build 2007.05.11)
+>>>>>>> .fusion-droit.r1833
 
 - Added ignore as possible value for failure argument in executables (Dennis Reil)
 - Added Conditional expressions (Dennis Reil)
@@ -18,7 +22,7 @@
 - Locale support of Shortcut specification file (Klaus Bartz using a hint of Loic)
 - Enabled distributed pack-definitions (Hans Aikema based on patch by Syed Khadeer)
 
-  > 3.10.2
+  > 3.10.2 (build 2007.05.11)
 
 - Vista/Java6 fixes (Stefan Wachter via Julien Ponge)
 - Dutch Langpack fixes (Hans Aikema)
@@ -26,6 +30,8 @@
 - Indonesian Langpack fixes (Thomas Santosa via Hans Aikema)
 - UserInputPanel and InstallerFrame: enable the next button for search dialogs (Michael Hagedorn via Julien Ponge)
 - VariableSubstitutor: new Java source files support (Max Fedorov via Julien Ponge)
+- French langpack updates (Loic, via Julien Ponge)
+- Documentation update (Scott Plante via Julien Ponge)
 - AutomatedUninstaller.writeUninstallData() out of sync with InstallerFrame fixed (Marius Nicolae via Marc Eppelmann)
 
   > 3.10.1 (build 2007.03.29)

Modified: izpack-src/trunk/bin/langpacks/installer/fra.xml
===================================================================
--- izpack-src/trunk/bin/langpacks/installer/fra.xml	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/bin/langpacks/installer/fra.xml	2007-05-14 11:45:44 UTC (rev 1834)
@@ -86,6 +86,11 @@
     <str id="InstallPanel.overwrite.title" txt="Le fichier existe déjà."/>
     <str id="InstallPanel.overwrite.question" txt="Le fichier suivant existe déjà. Faut-il l'écraser ?"/>
     
+    <!-- InstallationGroupPanel strings -->
+    <str id="InstallationGroupPanel.colNameSelected" txt="Groupe à installer" />
+    <str id="InstallationGroupPanel.colNameInstallType" txt="Description" />
+    <str id="InstallationGroupPanel.colNameSize" txt="Taille" />
+	
     <!-- FinishPanel strings -->
     <str id="FinishPanel.success" txt="L'installation est réussie !"/>
     <str id="FinishPanel.done" txt="Terminer"/>

Modified: izpack-src/trunk/src/build.xml
===================================================================
--- izpack-src/trunk/src/build.xml	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/src/build.xml	2007-05-14 11:45:44 UTC (rev 1834)
@@ -204,7 +204,7 @@
 
     <property file="src/ant.properties" />
     <property name="ver" value="3.10" />
-    <property name="rel" value="1" />
+    <property name="rel" value="2" />
     <property name="build.number" value="${ver}.${rel}" />
 
     <property name="src.dir" value="${basedir}/src/lib" />

Modified: izpack-src/trunk/src/dist-files/IzPack-install.xml
===================================================================
--- izpack-src/trunk/src/dist-files/IzPack-install.xml	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/src/dist-files/IzPack-install.xml	2007-05-14 11:45:44 UTC (rev 1834)
@@ -23,11 +23,13 @@
     <!-- The info section -->
     <info>
         <appname>IzPack</appname>
-        <appversion>3.10.1</appversion>
+        <appversion>3.10.2</appversion>
         <authors>
             <author email="" name="Julien Ponge (maintainer and original developer)"/>
 
             <author email="" name="Klaus Bartz (developer)"/>
+            <author email="" name="Hans Aikema (developer)" />
+            <author email="" name="Marc Eppelmann (developer)" />
             <author email="" name="Fabrice Mirabile (developer)"/>
             <author email="" name="Dennis Reil (developer)" />
             <author email="" name="JBoss/RedHat: Vladimir Ralev (developers)" />
@@ -40,6 +42,11 @@
             <author email="" name="Stefan Wachter (contributor)" />
             <author email="" name="Romain Guy (contributor)" />
             <author email="" name="Melih Cetin (contributor)" />
+            <author email="" name="Thomas Santosa (contributor)" />
+            <author email="" name="Michael Hagedorn (contributor)" />
+            <author email="" name="Max Fedorov (contributor)" />
+            <author email="" name="Scott Plante (contributor)" />
+            <author email="" name="Marius Nicolae (contributor)" />
 
             <author email=""
                     name="... the (many) other developers and contributors to the previous releases!"/>

Modified: izpack-src/trunk/src/doc-ng/XHTML/node9.html
===================================================================
--- izpack-src/trunk/src/doc-ng/XHTML/node9.html	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/src/doc-ng/XHTML/node9.html	2007-05-14 11:45:44 UTC (rev 1834)
@@ -450,20 +450,26 @@
         [IzPackRoot]/src/lib/[MyPackagePath]/MyCompilerListener.java</tt>.
       </li>
       <li>
-        Add a "compile.simple" antcall in to <tt>[IzPackRoot]/src/build.xml</tt>. 
+        Add a "<tt>build-compiler-listener</tt>" macro call in to the 
+        <tt>build.listeners</tt> target in <tt>[IzPackRoot]/src/build.xml</tt>.
+        Note that the name attribute value in the build-instealler-listener 
+        must match <tt>CompilerListener</tt> implementation class name (not 
+        including the package). You should include the actual Listener
+        implementation, as well as any other classes required by the listener.
 <pre>
-&lt;antcall target="compile.listener.simple"&gt;
-  &lt;param name="listener" value="MyCompilerListener"/&gt;
-  &lt;param name="listener-dir" value="MyCompilerListener"/&gt;
-  &lt;param name="listener-include" value="[MyPackagePath]"/&gt;
-&lt;/antcall&gt;
+        &lt;build-compiler-listener name="MyCompilerListener"&gt;
+            &lt;include name="[MyPackagePath]/MyCompilerListener.java"/&gt;
+            &lt;include name="[MyPackagePath]/SomeOtherHelperClass.java"/&gt;
+        &lt;/build-compiler-listener&gt;
 </pre>
       </li>
       <li>
         Run <tt>[IzPackRoot]/src/build.xml</tt>.
+        An <tt>ant</tt> alone will execute the required targets.
       </li>
       <li>
-        Add a "listeners" ELEMENT with a "listener" ELEMENT with a "compiler" attribute in to [MyProjectPath]/install.xml 
+        Add a "listeners" ELEMENT with a "listener" ELEMENT with a "compiler"
+        attribute in to [MyProjectPath]/install.xml 
 <pre>
   &lt;listeners&gt;
     &lt;listener compiler="MyCompilerListener" /&gt;
@@ -471,7 +477,7 @@
 </pre>
       </li>
       <li>
-        Compile with 
+        Compile with the following command, or an ant task you have set up.
 <pre>
 java -jar [IzPackRoot]/lib/compiler.jar -HOME [IzPackRoot]
   [MyProjectPath]/install.xml -b [MyProductPath] -o

Modified: izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/compiler/Compiler.java	2007-05-14 11:45:44 UTC (rev 1834)
@@ -64,7 +64,7 @@
 public class Compiler extends Thread
 {
     /** The IzPack version. */
-    public final static String IZPACK_VERSION = "3.10.1";
+    public final static String IZPACK_VERSION = "3.10.2";
 
     /** The IzPack home directory. */
     public static String IZPACK_HOME = ".";

Modified: izpack-src/trunk/src/lib/com/izforge/izpack/installer/AutomatedInstaller.java
===================================================================
--- izpack-src/trunk/src/lib/com/izforge/izpack/installer/AutomatedInstaller.java	2007-05-12 21:42:52 UTC (rev 1833)
+++ izpack-src/trunk/src/lib/com/izforge/izpack/installer/AutomatedInstaller.java	2007-05-14 11:45:44 UTC (rev 1834)
@@ -28,15 +28,17 @@
 import java.io.ObjectOutputStream;
 import java.io.OutputStreamWriter;
 import java.io.ByteArrayOutputStream;
+
 import java.util.Iterator;
 import java.util.Map;
 import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.Vector;
 import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.TreeMap;
-import java.util.Vector;
+import java.util.zip.ZipEntry;
 import java.util.zip.ZipException;
-import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
 import net.n3.nanoxml.NonValidator;
@@ -107,6 +109,7 @@
         this.panelInstanceCount = new TreeMap();
     }
 
+   
     /**
      * Writes the uninstalldata.
      * 
@@ -164,130 +167,137 @@
             }
             execStream.flush();
             outJar.closeEntry();
-            
-             Map additionalData = udata.getAdditionalData();
-             if (additionalData != null && !additionalData.isEmpty())
-             {
-                 Iterator keys = additionalData.keySet().iterator();
-                 HashSet exist = new HashSet();
-                 while (keys != null && keys.hasNext())
-                 {
-                     String key = (String) keys.next();
-                     Object contents = additionalData.get(key);
-                     if ("__uninstallLibs__".equals(key))
-                     {
-                         Iterator nativeLibIter = ((List) contents).iterator();
-                         while (nativeLibIter != null && nativeLibIter.hasNext())
-                         {
-                             String nativeLibName = (String) ((List) nativeLibIter.next()).get(0);
-                             byte[] buffer = new byte[5120];
-                             long bytesCopied = 0;
-                             int bytesInBuffer;
-                             outJar.putNextEntry(new ZipEntry("native/" + nativeLibName));
-                             InputStream in = getClass().getResourceAsStream(
-                                     "/native/" + nativeLibName);
-                             while ((bytesInBuffer = in.read(buffer)) != -1)
-                             {
-                                 outJar.write(buffer, 0, bytesInBuffer);
-                                 bytesCopied += bytesInBuffer;
-                             }
-                             outJar.closeEntry();
-                         }
-                     }
-                     else if ("uninstallerListeners".equals(key) || "uninstallerJars".equals(key))
-                     { // It is a ArrayList of ArrayLists which contains the
-                         // full
-                         // package paths of all needed class files.
-                         // First we create a new ArrayList which contains only
-                         // the full paths for the uninstall listener self; thats
-                         // the first entry of each sub ArrayList.
-                         ArrayList subContents = new ArrayList();
- 
-                         // Secound put the class into uninstaller.jar
-                         Iterator listenerIter = ((List) contents).iterator();
-                         while (listenerIter.hasNext())
-                         {
-                             byte[] buffer = new byte[5120];
-                             long bytesCopied = 0;
-                             int bytesInBuffer;
-                             CustomData customData = (CustomData) listenerIter.next();
-                             // First element of the list contains the listener
-                             // class path;
-                             // remind it for later.
-                             if (customData.listenerName != null)
-                                 subContents.add(customData.listenerName);
-                             Iterator liClaIter = customData.contents.iterator();
-                             while (liClaIter.hasNext())
-                             {
-                                 String contentPath = (String) liClaIter.next();
-                                 if (exist.contains(contentPath)) continue;
-                                 exist.add(contentPath);
-                                 try
-                                 {
-                                     outJar.putNextEntry(new ZipEntry(contentPath));
-                                 }
-                                 catch (ZipException ze)
-                                 { // Ignore, or ignore not ?? May be it is a
-                                     // exception because
-                                     // a doubled entry was tried, then we should
-                                     // ignore ...
-                                     Debug.trace("ZipException in writing custom data: "
-                                             + ze.getMessage());
-                                     continue;
-                                 }
-                                 InputStream in = getClass().getResourceAsStream("/" + contentPath);
-                                 if (in != null)
-                                 {
-                                     while ((bytesInBuffer = in.read(buffer)) != -1)
-                                     {
-                                         outJar.write(buffer, 0, bytesInBuffer);
-                                         bytesCopied += bytesInBuffer;
-                                     }
-                                 }
-                                 else
-                                     Debug.trace("custom data not found: " + contentPath);
-                                 outJar.closeEntry();
- 
-                             }
-                         }
-                         // Third we write the list into the
-                         // uninstaller.jar
-                         outJar.putNextEntry(new ZipEntry(key));
-                         ObjectOutputStream objOut = new ObjectOutputStream(outJar);
-                         objOut.writeObject(subContents);
-                         objOut.flush();
-                         outJar.closeEntry();
- 
-                     }
-                     else
-                     {
-                         outJar.putNextEntry(new ZipEntry(key));
-                         if (contents instanceof ByteArrayOutputStream)
-                         {
-                             ((ByteArrayOutputStream) contents).writeTo(outJar);
-                         }
-                         else
-                         {
-                             ObjectOutputStream objOut = new ObjectOutputStream(outJar);
-                             objOut.writeObject(contents);
-                             objOut.flush();
-                         }
-                         outJar.closeEntry();
-                     }
-                 }
-             }
-             // write the files which should be deleted by root for another user
- 
-             outJar.putNextEntry(new ZipEntry(UninstallData.ROOTSCRIPT));
-             ObjectOutputStream rootStream = new ObjectOutputStream(outJar);
- 
-             String rootScript = udata.getRootScript();
 
-             rootStream.writeUTF(rootScript);
- 
-             rootStream.flush();
-             outJar.closeEntry();
+            // ***  ADDED code bellow 
+	    // Write out additional uninstall data
+            // Do not "kill" the installation if there is a problem
+            // with custom uninstall data. Therefore log it to Debug,
+            // but do not throw.
+            Map additionalData = udata.getAdditionalData();
+            if (additionalData != null && !additionalData.isEmpty())
+            {
+                Iterator keys = additionalData.keySet().iterator();
+                HashSet exist = new HashSet();
+                while (keys != null && keys.hasNext())
+                {
+                    String key = (String) keys.next();
+                    Object contents = additionalData.get(key);
+                    if ("__uninstallLibs__".equals(key))
+                    {
+                        Iterator nativeLibIter = ((List) contents).iterator();
+                        while (nativeLibIter != null && nativeLibIter.hasNext())
+                        {
+                            String nativeLibName = (String) ((List) nativeLibIter.next()).get(0);
+                            byte[] buffer = new byte[5120];
+                            long bytesCopied = 0;
+                            int bytesInBuffer;
+                            outJar.putNextEntry(new ZipEntry("native/" + nativeLibName));
+                            InputStream in = getClass().getResourceAsStream(
+                                    "/native/" + nativeLibName);
+                            while ((bytesInBuffer = in.read(buffer)) != -1)
+                            {
+                                outJar.write(buffer, 0, bytesInBuffer);
+                                bytesCopied += bytesInBuffer;
+                            }
+                            outJar.closeEntry();
+                        }
+                    }
+                    else if ("uninstallerListeners".equals(key) || "uninstallerJars".equals(key))
+                    { // It is a ArrayList of ArrayLists which contains the
+                        // full
+                        // package paths of all needed class files.
+                        // First we create a new ArrayList which contains only
+                        // the full paths for the uninstall listener self; thats
+                        // the first entry of each sub ArrayList.
+                        ArrayList subContents = new ArrayList();
 
+                        // Secound put the class into uninstaller.jar
+                        Iterator listenerIter = ((List) contents).iterator();
+                        while (listenerIter.hasNext())
+                        {
+                            byte[] buffer = new byte[5120];
+                            long bytesCopied = 0;
+                            int bytesInBuffer;
+                            CustomData customData = (CustomData) listenerIter.next();
+                            // First element of the list contains the listener
+                            // class path;
+                            // remind it for later.
+                            if (customData.listenerName != null)
+                                subContents.add(customData.listenerName);
+                            Iterator liClaIter = customData.contents.iterator();
+                            while (liClaIter.hasNext())
+                            {
+                                String contentPath = (String) liClaIter.next();
+                                if (exist.contains(contentPath)) continue;
+                                exist.add(contentPath);
+                                try
+                                {
+                                    outJar.putNextEntry(new ZipEntry(contentPath));
+                                }
+                                catch (ZipException ze)
+                                { // Ignore, or ignore not ?? May be it is a
+                                    // exception because
+                                    // a doubled entry was tried, then we should
+                                    // ignore ...
+                                    Debug.trace("ZipException in writing custom data: "
+                                            + ze.getMessage());
+                                    continue;
+                                }
+                                InputStream in = getClass().getResourceAsStream("/" + contentPath);
+                                if (in != null)
+                                {
+                                    while ((bytesInBuffer = in.read(buffer)) != -1)
+                                    {
+                                        outJar.write(buffer, 0, bytesInBuffer);
+                                        bytesCopied += bytesInBuffer;
+                                    }
+                                }
+                                else
+                                    Debug.trace("custom data not found: " + contentPath);
+                                outJar.closeEntry();
+
+                            }
+                        }
+                        // Third we write the list into the
+                        // uninstaller.jar
+                        outJar.putNextEntry(new ZipEntry(key));
+                        ObjectOutputStream objOut = new ObjectOutputStream(outJar);
+                        objOut.writeObject(subContents);
+                        objOut.flush();
+                        outJar.closeEntry();
+
+                    }
+                    else
+                    {
+                        outJar.putNextEntry(new ZipEntry(key));
+                        if (contents instanceof ByteArrayOutputStream)
+                        {
+                            ((ByteArrayOutputStream) contents).writeTo(outJar);
+                        }
+                        else
+                        {
+                            ObjectOutputStream objOut = new ObjectOutputStream(outJar);
+                            objOut.writeObject(contents);
+                            objOut.flush();
+                        }
+                        outJar.closeEntry();
+                    }
+                }
+            }
+            // write the files which should be deleted by root for another user
+
+            outJar.putNextEntry(new ZipEntry(UninstallData.ROOTSCRIPT));
+            ObjectOutputStream rootStream = new ObjectOutputStream(outJar);
+
+            String rootScript = udata.getRootScript();
+
+            rootStream.writeUTF(rootScript);
+
+            rootStream.flush();
+            outJar.closeEntry();
+
+            // ***  ADDED to this point 
+
             // Cleanup
             outJar.flush();
             outJar.close();




More information about the izpack-changes mailing list