Author: bodewig
Date: Wed Jan  1 21:55:35 2014
New Revision: 1554684

URL: http://svn.apache.org/r1554684
Log:
When loading resources from jars it seems to be advisable to disable
caching.  PR 54473.  Combining patches by René Krell and Antoine
Levy-Lambert.


Modified:
    ant/core/trunk/CONTRIBUTORS
    ant/core/trunk/WHATSNEW
    ant/core/trunk/contributors.xml
    ant/core/trunk/src/main/org/apache/tools/ant/ArgumentProcessorRegistry.java
    ant/core/trunk/src/main/org/apache/tools/ant/ProjectHelperRepository.java
    ant/core/trunk/src/main/org/apache/tools/ant/helper/ProjectHelper2.java
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Antlib.java
    ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java

Modified: ant/core/trunk/CONTRIBUTORS
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/CONTRIBUTORS?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/CONTRIBUTORS (original)
+++ ant/core/trunk/CONTRIBUTORS Wed Jan  1 21:55:35 2014
@@ -299,6 +299,7 @@ Randy Watler
 Raphael Pierquin
 Ray Waldin
 Remie Bolte
+René Krell
 Richard Evans
 Richard Steele
 Rick Beton

Modified: ant/core/trunk/WHATSNEW
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Wed Jan  1 21:55:35 2014
@@ -36,6 +36,10 @@ Fixed bugs:
    readers.
    Bugzilla Report 54672
 
+ * several places where resources are read from jars will now
+   explicitly disable caching to avoid problems with reloading jars.
+   Bugzilla Report 54473
+
 Other changes:
 --------------
 

Modified: ant/core/trunk/contributors.xml
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/contributors.xml?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/contributors.xml (original)
+++ ant/core/trunk/contributors.xml Wed Jan  1 21:55:35 2014
@@ -1210,6 +1210,10 @@
     <last>Bolte</last>
   </name>
   <name>
+    <first>René</first>
+    <last>Krell</last>
+  </name>
+  <name>
     <first>Richard</first>
     <last>Evans</last>
   </name>

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/ArgumentProcessorRegistry.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/ArgumentProcessorRegistry.java?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/ArgumentProcessorRegistry.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/ArgumentProcessorRegistry.java 
Wed Jan  1 21:55:35 2014
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.List;
@@ -74,7 +75,9 @@ public class ArgumentProcessorRegistry {
                 Enumeration<URL> resources = 
classLoader.getResources(SERVICE_ID);
                 while (resources.hasMoreElements()) {
                     URL resource = resources.nextElement();
-                    ArgumentProcessor processor = 
getProcessorByService(resource.openStream());
+                    URLConnection conn = resource.openConnection();
+                    conn.setDefaultUseCaches(false);
+                    ArgumentProcessor processor = 
getProcessorByService(conn.getInputStream());
                     registerArgumentProcessor(processor);
                 }
             }

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/ProjectHelperRepository.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/ProjectHelperRepository.java?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/ProjectHelperRepository.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/ProjectHelperRepository.java 
Wed Jan  1 21:55:35 2014
@@ -22,6 +22,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.lang.reflect.Constructor;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.Iterator;
@@ -87,8 +88,10 @@ public class ProjectHelperRepository {
                     classLoader.getResources(ProjectHelper.SERVICE_ID);
                 while (resources.hasMoreElements()) {
                     URL resource = resources.nextElement();
+                    URLConnection conn = resource.openConnection();
+                    conn.setDefaultUseCaches(false);
                     projectHelper =
-                        getProjectHelperByService(resource.openStream());
+                        getProjectHelperByService(conn.getInputStream());
                     registerProjectHelper(projectHelper);
                 }
             }

Modified: 
ant/core/trunk/src/main/org/apache/tools/ant/helper/ProjectHelper2.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/helper/ProjectHelper2.java?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/helper/ProjectHelper2.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/helper/ProjectHelper2.java Wed 
Jan  1 21:55:35 2014
@@ -48,6 +48,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Map;
@@ -257,7 +258,9 @@ public class ProjectHelper2 extends Proj
                     inputStream =
                         zf.getInputStream(zf.getEntry(uri.substring(pling + 
1)));
                 } else {
-                    inputStream = url.openStream();
+                    URLConnection conn = url.openConnection();
+                    conn.setDefaultUseCaches(false);
+                    inputStream = conn.getInputStream();
                 }
             }
 

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Antlib.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Antlib.java?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Antlib.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Antlib.java Wed Jan  
1 21:55:35 2014
@@ -20,6 +20,7 @@ package org.apache.tools.ant.taskdefs;
 
 import java.io.IOException;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -63,7 +64,9 @@ public class Antlib extends Task impleme
                                       String uri) {
         // Check if we can contact the URL
         try {
-            antlibUrl.openConnection().connect();
+            URLConnection conn = antlibUrl.openConnection();
+            conn.setDefaultUseCaches(false);
+            conn.connect();
         } catch (IOException ex) {
             throw new BuildException(
                 "Unable to find " + antlibUrl, ex);

Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java?rev=1554684&r1=1554683&r2=1554684&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/XMLCatalog.java Wed Jan  
1 21:55:35 2014
@@ -26,6 +26,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLConnection;
 import java.util.Stack;
 import java.util.Vector;
 import javax.xml.parsers.ParserConfigurationException;
@@ -763,7 +764,12 @@ public class XMLCatalog extends DataType
 
         if (url != null) {
             try {
-                InputStream is = url.openStream();
+                InputStream is = null;
+                URLConnection conn = url.openConnection();
+                if (conn != null) {
+                    conn.setDefaultUseCaches(false);
+                    is = conn.getInputStream();
+                }
                 if (is != null) {
                     source = new InputSource(is);
                     String sysid = url.toExternalForm();


Reply via email to