ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peterrei...@apache.org
Subject svn commit: r440476 - in /ant/core/trunk: ./ src/main/org/apache/tools/ant/taskdefs/ src/main/org/apache/tools/ant/taskdefs/optional/splash/ src/main/org/apache/tools/ant/util/
Date Tue, 05 Sep 2006 20:38:36 GMT
Author: peterreilly
Date: Tue Sep  5 13:38:35 2006
New Revision: 440476

URL: http://svn.apache.org/viewvc?view=rev&rev=440476
Log:
Bugzilla 35619: remove dependency on sun internal base64 encoder

Added:
    ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java   (with props)
Modified:
    ant/core/trunk/CONTRIBUTORS
    ant/core/trunk/WHATSNEW
    ant/core/trunk/build.xml
    ant/core/trunk/contributors.xml
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/splash/SplashTask.java

Modified: ant/core/trunk/CONTRIBUTORS
URL: http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
Binary files - no diff available.

Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Tue Sep  5 13:38:35 2006
@@ -28,6 +28,8 @@
 * trim the driver attribute on the <sql> task. Bugzilla report 21228.
 * Allow (jar) files as well as directories to be given to jdepend.
   Bugzilla report 28865.
+* Convert SplashTask to use NOT sun internal classes.
+  Bugzilla report 35619.
 
 Changes from Ant 1.6.5 to Ant 1.7.0Beta1
 ========================================

Modified: ant/core/trunk/build.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/build.xml?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
--- ant/core/trunk/build.xml (original)
+++ ant/core/trunk/build.xml Tue Sep  5 13:38:35 2006
@@ -190,13 +190,6 @@
     <filename name="${ant.package}/taskdefs/email/UUMailer*"/>
   </selector>
 
-  <selector id="needs.sun.b64">
-    <or>
-      <filename name="${optional.package}/splash/SplashTask*"/>
-      <filename name="${optional.package}/splash/SplashScreenTest.java"/>
-    </or>
-  </selector>
-
   <!-- depends on external libraries -->
   <selector id="needs.trax">
     <or>
@@ -503,8 +496,6 @@
       </and>
     </condition>
 
-    <available property="base64.present" classname="sun.misc.BASE64Encoder"/>
-
     <property name="build.tests.resolved" location="${build.tests}"/>
     <condition property="tests.are.on.system.classpath">
       <or>
@@ -651,7 +642,6 @@
             <selector refid="needs.jdk1.5+" unless="jdk1.5+"/>
             <selector refid="not.in.kaffe" if="kaffe"/>
             <selector refid="needs.sun.uue" unless="sunuue.present"/>
-            <selector refid="needs.sun.b64" unless="base64.present"/>
 
             <selector refid="needs.trax" unless="trax.present"/>
             <selector refid="needs.apache-resolver" unless="apache.resolver.present"/>

Modified: ant/core/trunk/contributors.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Tue Sep  5 13:38:35 2006
@@ -971,16 +971,20 @@
     <last>Ferguson</last>
   </name>
   <name>
+    <first>Wolf</first>
+    <last>Siberski</last>
+  </name>
+  <name>
     <first>Wolfgang</first>
-    <last>Frech</last>
+    <last>Baer</last>
   </name>
   <name>
     <first>Wolfgang</first>
-    <last>Werner</last>
+    <last>Frech</last>
   </name>
   <name>
-    <first>Wolf</first>
-    <last>Siberski</last>
+    <first>Wolfgang</first>
+    <last>Werner</last>
   </name>
   <name>
     <first>Yohann</first>

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Get.java Tue Sep  5 13:38:35 2006
@@ -336,80 +336,12 @@
         this.pword = p;
     }
 
-    /*********************************************************************
-    * BASE 64 encoding of a String or an array of bytes.
-    *
-    * Based on RFC 1421.
-    *
-    *********************************************************************/
-
-    protected static class Base64Converter {
-
-        public final char[] alphabet = {
-            'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',  //  0 to  7
-            'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',  //  8 to 15
-            'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',  // 16 to 23
-            'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',  // 24 to 31
-            'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',  // 32 to 39
-            'o', 'p', 'q', 'r', 's', 't', 'u', 'v',  // 40 to 47
-            'w', 'x', 'y', 'z', '0', '1', '2', '3',  // 48 to 55
-            '4', '5', '6', '7', '8', '9', '+', '/'}; // 56 to 63
-
-        public String encode(String s) {
-            return encode(s.getBytes());
-        }
-
-        public String encode(byte[] octetString) {
-            int bits24;
-            int bits6;
-
-            char[] out = new char[((octetString.length - 1) / 3 + 1) * 4];
-            int outIndex = 0;
-            int i = 0;
-
-            while ((i + 3) <= octetString.length) {
-                // store the octets
-                bits24 = (octetString[i++] & 0xFF) << 16;
-                bits24 |= (octetString[i++] & 0xFF) << 8;
-                bits24 |= octetString[i++];
-
-                bits6 = (bits24 & 0x00FC0000) >> 18;
-                out[outIndex++] = alphabet[bits6];
-                bits6 = (bits24 & 0x0003F000) >> 12;
-                out[outIndex++] = alphabet[bits6];
-                bits6  = (bits24 & 0x00000FC0) >> 6;
-                out[outIndex++] = alphabet[bits6];
-                bits6 = (bits24 & 0x0000003F);
-                out[outIndex++] = alphabet[bits6];
-            }
-            if (octetString.length - i == 2) {
-                // store the octets
-                bits24 = (octetString[i] & 0xFF) << 16;
-                bits24 |= (octetString[i + 1] & 0xFF) << 8;
-                bits6 = (bits24 & 0x00FC0000) >> 18;
-                out[outIndex++] = alphabet[bits6];
-                bits6 = (bits24 & 0x0003F000) >> 12;
-                out[outIndex++] = alphabet[bits6];
-                bits6 = (bits24 & 0x00000FC0) >> 6;
-                out[outIndex++] = alphabet[bits6];
-
-                // padding
-                out[outIndex++] = '=';
-            } else if (octetString.length - i == 1) {
-                // store the octets
-                bits24 = (octetString[i] & 0xFF) << 16;
-                bits6 = (bits24 & 0x00FC0000) >> 18;
-                out[outIndex++] = alphabet[bits6];
-                bits6 = (bits24 & 0x0003F000) >> 12;
-                out[outIndex++] = alphabet[bits6];
-
-                // padding
-                out[outIndex++] = '=';
-                out[outIndex++] = '=';
-            }
-            return new String(out);
-        }
-    }
+    /**
+     * Provide this for Backward Compatibility.
+     */
+        
+    protected static class Base64Converter
+        extends org.apache.tools.ant.util.Base64Converter {}
 
     public interface DownloadProgress {
         /**

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/splash/SplashTask.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/splash/SplashTask.java?view=diff&rev=440476&r1=440475&r2=440476
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/splash/SplashTask.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/splash/SplashTask.java
Tue Sep  5 13:38:35 2006
@@ -28,6 +28,7 @@
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;
+import org.apache.tools.ant.util.Base64Converter;
 
 /**
  * Creates a splash screen. The splash screen is displayed
@@ -141,9 +142,11 @@
 
                     conn = url.openConnection();
                     if (user != null && user.length() > 0) {
+                        // converted from sun internal classes to
+                        // new Base64Converter
+                        // utility class extracted from Get task
                         String encodedcreds =
-                            new sun.misc.BASE64Encoder().encode(
-                                (new String(user + ":" + password)).getBytes());
+                            new Base64Converter().encode(user + ":" + password);
                         conn.setRequestProperty("Proxy-Authorization",
                                                 encodedcreds);
                     }

Added: ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java?view=auto&rev=440476
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java (added)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java Tue Sep  5 13:38:35
2006
@@ -0,0 +1,106 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.tools.ant.util;
+
+/**
+ * BASE 64 encoding of a String or an array of bytes.
+ *
+ * Based on RFC 1421.
+ *
+ **/
+public class Base64Converter {
+
+    private final static char[] ALPHABET = {
+        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',  //  0 to  7
+        'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',  //  8 to 15
+        'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',  // 16 to 23
+        'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',  // 24 to 31
+        'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',  // 32 to 39
+        'o', 'p', 'q', 'r', 's', 't', 'u', 'v',  // 40 to 47
+        'w', 'x', 'y', 'z', '0', '1', '2', '3',  // 48 to 55
+        '4', '5', '6', '7', '8', '9', '+', '/'}; // 56 to 63
+
+    /** Provided for BC purposes */
+    public static final char[] alphabet = ALPHABET;
+
+
+    /**
+     * Encode a string into base64 encoding.
+     * @param s the string to encode.
+     * @return the encoded string.
+     */
+    public String encode(String s) {
+        return encode(s.getBytes());
+    }
+
+    /**
+     * Encode a byte array into base64 encoding.
+     * @param octetString the byte array to encode.
+     * @return the encoded string.
+     */
+    public String encode(byte[] octetString) {
+        int bits24;
+        int bits6;
+
+        char[] out = new char[((octetString.length - 1) / 3 + 1) * 4];
+        int outIndex = 0;
+        int i = 0;
+
+        while ((i + 3) <= octetString.length) {
+            // store the octets
+            bits24 = (octetString[i++] & 0xFF) << 16;
+            bits24 |= (octetString[i++] & 0xFF) << 8;
+            bits24 |= octetString[i++];
+
+            bits6 = (bits24 & 0x00FC0000) >> 18;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6 = (bits24 & 0x0003F000) >> 12;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6  = (bits24 & 0x00000FC0) >> 6;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6 = (bits24 & 0x0000003F);
+            out[outIndex++] = ALPHABET[bits6];
+        }
+        if (octetString.length - i == 2) {
+            // store the octets
+            bits24 = (octetString[i] & 0xFF) << 16;
+            bits24 |= (octetString[i + 1] & 0xFF) << 8;
+            bits6 = (bits24 & 0x00FC0000) >> 18;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6 = (bits24 & 0x0003F000) >> 12;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6 = (bits24 & 0x00000FC0) >> 6;
+            out[outIndex++] = ALPHABET[bits6];
+
+            // padding
+            out[outIndex++] = '=';
+        } else if (octetString.length - i == 1) {
+            // store the octets
+            bits24 = (octetString[i] & 0xFF) << 16;
+            bits6 = (bits24 & 0x00FC0000) >> 18;
+            out[outIndex++] = ALPHABET[bits6];
+            bits6 = (bits24 & 0x0003F000) >> 12;
+            out[outIndex++] = ALPHABET[bits6];
+
+            // padding
+            out[outIndex++] = '=';
+            out[outIndex++] = '=';
+        }
+        return new String(out);
+    }
+}

Propchange: ant/core/trunk/src/main/org/apache/tools/ant/util/Base64Converter.java
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message