conor       2003/03/22 01:53:16

  Modified:    docs/manual/CoreTasks Tag: ANT_15_BRANCH jar.html
                        manifest.html
               src/main/org/apache/tools/ant/taskdefs Tag: ANT_15_BRANCH
                        Jar.java ManifestTask.java
  Log:
  Merge
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.16.2.7  +5 -0      ant/docs/manual/CoreTasks/jar.html
  
  Index: jar.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/jar.html,v
  retrieving revision 1.16.2.6
  retrieving revision 1.16.2.7
  diff -u -w -u -r1.16.2.6 -r1.16.2.7
  --- jar.html  19 Feb 2003 08:13:58 -0000      1.16.2.6
  +++ jar.html  22 Mar 2003 09:53:15 -0000      1.16.2.7
  @@ -144,6 +144,11 @@
       <td valign="top">whether to create an <A 
HREF="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#JAR%20Index";>index 
list</A> to speed up classloading.  This is a JDK 1.3+ specific feature.  
Defaults to false. </td>
       <td valign="top" align="center">No</td>
     </tr>
  +  <tr>
  +    <td valign="top">manifestencoding</td>
  +    <td valign="top">The encoding used to read the JAR manifest, when a 
manifest file is specified.</td>
  +    <td valign="top" align="center">No, defaults to the platform 
encoding.</td>
  +  </tr>
   </table>
   
   <h3>Nested elements</h3>
  
  
  
  1.4.2.3   +5 -0      ant/docs/manual/CoreTasks/manifest.html
  
  Index: manifest.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/manifest.html,v
  retrieving revision 1.4.2.2
  retrieving revision 1.4.2.3
  diff -u -w -u -r1.4.2.2 -r1.4.2.3
  --- manifest.html     4 Sep 2002 11:21:12 -0000       1.4.2.2
  +++ manifest.html     22 Mar 2003 09:53:15 -0000      1.4.2.3
  @@ -39,6 +39,11 @@
       <td valign="top">One of "update" or "replace", default is "replace".</td>
       <td valign="top" align="center">No</td>
     </tr>
  +  <tr>
  +    <td valign="top">encoding</td>
  +    <td valign="top">The encoding used to read the existing manifest when 
updating.</td>
  +    <td valign="top" align="center">No, defaults to UTF-8 encoding.</td>
  +  </tr>
   </table>
   
   <h3>Nested elements</h3>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.51.2.18 +45 -7     ant/src/main/org/apache/tools/ant/taskdefs/Jar.java
  
  Index: Jar.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Jar.java,v
  retrieving revision 1.51.2.17
  retrieving revision 1.51.2.18
  diff -u -w -u -r1.51.2.17 -r1.51.2.18
  --- Jar.java  12 Mar 2003 11:29:10 -0000      1.51.2.17
  +++ Jar.java  22 Mar 2003 09:53:15 -0000      1.51.2.18
  @@ -61,6 +61,7 @@
   import java.io.FileInputStream;
   import java.io.IOException;
   import java.io.InputStream;
  +import java.io.UnsupportedEncodingException;
   import java.io.InputStreamReader;
   import java.io.OutputStreamWriter;
   import java.io.PrintWriter;
  @@ -129,6 +130,9 @@
       /** the manifest specified by the 'manifest' attribute **/
       private Manifest manifest;
   
  +    /** The encoding to use when reading in a manifest file */
  +    private String manifestEncoding;
  +    
       /**
        * The file found from the 'manifest' attribute.  This can be
        * either the location of a manifest, or the name of a jar added
  @@ -178,6 +182,14 @@
       }
   
       /**
  +     * Set whether or not to create an index list for classes.
  +     * This may speed up classloading in some cases.
  +     */
  +    public void setManifestEncoding(String manifestEncoding) {
  +        this.manifestEncoding = manifestEncoding;
  +    }
  +
  +    /**
        * Allows the manifest for the archive file to be provided inline
        * in the build file rather than in an external file.
        *
  @@ -217,8 +229,15 @@
           InputStreamReader isr = null;
           try {
               fis = new FileInputStream(manifestFile);
  -            isr = new InputStreamReader(fis, "UTF-8");
  +            if (manifestEncoding == null) {
  +                isr = new InputStreamReader(fis);
  +            } else {
  +                isr = new InputStreamReader(fis, manifestEncoding);
  +            }
               newManifest = getManifest(isr);
  +        } catch (UnsupportedEncodingException e) {
  +            throw new BuildException("Unsupported encoding while reading 
manifest: "
  +                                     + e.getMessage(), e);
           } catch (IOException e) {
               throw new BuildException("Unable to read manifest file: "
                                        + manifestFile
  @@ -470,11 +489,22 @@
               // If this is the same name specified in 'manifest', this
               // is the manifest to use
               log("Found manifest " + file, Project.MSG_VERBOSE);
  +            try {
               if (is != null) {
  -                manifest = getManifest(new InputStreamReader(is, "UTF-8"));
  +                    InputStreamReader isr;
  +                    if (manifestEncoding == null) {
  +                        isr = new InputStreamReader(is);
  +                    } else {
  +                        isr = new InputStreamReader(is, manifestEncoding);
  +                    }
  +                    manifest = getManifest(isr);
               } else {
                   manifest = getManifest(file);
               }
  +            } catch (UnsupportedEncodingException e) {
  +                throw new BuildException("Unsupported encoding while reading 
" 
  +                    + "manifest: " + e.getMessage(), e);
  +            }
           } else if (filesetManifestConfig != null &&
                      !filesetManifestConfig.getValue().equals("skip")) {
               // we add this to our group of fileset manifests
  @@ -484,8 +514,13 @@
               try {
                   Manifest newManifest = null;
                   if (is != null) {
  -                    newManifest 
  -                        = getManifest(new InputStreamReader(is, "UTF-8"));
  +                    InputStreamReader isr;
  +                    if (manifestEncoding == null) {
  +                        isr = new InputStreamReader(is);
  +                    } else {
  +                        isr = new InputStreamReader(is, manifestEncoding);
  +                    }
  +                    newManifest = getManifest(isr);
                   } else {
                       newManifest = getManifest(file);
                   }
  @@ -495,6 +530,9 @@
                   } else {
                       filesetManifest.merge(newManifest);
                   }
  +            } catch (UnsupportedEncodingException e) {
  +                throw new BuildException("Unsupported encoding while reading 
" 
  +                    + "manifest: " + e.getMessage(), e);
               } catch (ManifestException e) {
                   log("Manifest in file " + file + " is invalid: "
                       + e.getMessage(), Project.MSG_ERR);
  
  
  
  1.1.2.4   +18 -1     
ant/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
  
  Index: ManifestTask.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ManifestTask.java,v
  retrieving revision 1.1.2.3
  retrieving revision 1.1.2.4
  diff -u -w -u -r1.1.2.3 -r1.1.2.4
  --- ManifestTask.java 16 Feb 2003 03:24:43 -0000      1.1.2.3
  +++ ManifestTask.java 22 Mar 2003 09:53:15 -0000      1.1.2.4
  @@ -98,6 +98,11 @@
       private Mode mode;
   
       /**
  +     * The encoding of the manifest file
  +     */
  +    private String encoding;
  +    
  +    /**
        * Helper class for Manifest's mode attribute.
        */
       public static class Mode extends EnumeratedAttribute {
  @@ -150,6 +155,14 @@
       }
   
       /**
  +     * The encoding to use for reading in an existing manifest file
  +     * @param encoding the maniofets file encoding.
  +     */
  +    public void setEncoding(String encoding) {
  +        this.encoding = encoding;
  +    }
  +
  +    /**
        * Update policy: either "update" or "replace"; default is "replace".
        * @param m the mode value - update or replace.
        */
  @@ -176,7 +189,11 @@
               InputStreamReader isr = null;
               try {
                   fis = new FileInputStream(manifestFile);
  +                if (encoding == null) {
                   isr = new InputStreamReader(fis, "UTF-8");
  +                } else {
  +                    isr = new InputStreamReader(fis, encoding);
  +                }
                   current = new Manifest(isr);
               } catch (ManifestException m) {
                   error = new BuildException("Existing manifest " + 
manifestFile
  
  
  

Reply via email to