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();