You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by co...@apache.org on 2001/07/18 05:16:05 UTC

cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs Available.java ExecuteJava.java

conor       01/07/17 20:16:05

  Modified:    src/main/org/apache/tools/ant AntClassLoader.java
               src/main/org/apache/tools/ant/taskdefs Available.java
                        ExecuteJava.java
  Log:
  More classloader improvements
  
  Revision  Changes    Path
  1.30      +19 -22    jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java
  
  Index: AntClassLoader.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- AntClassLoader.java	2001/07/18 02:29:34	1.29
  +++ AntClassLoader.java	2001/07/18 03:16:05	1.30
  @@ -629,10 +629,6 @@
           return useParentFirst;
       }
   
  -
  -
  -
  -
       /**
        * Finds the resource with the given name. A resource is 
        * some data (images, audio, text, etc)
  @@ -730,22 +726,18 @@
                   }
               }
               else {
  -                ZipFile zipFile = null;
  -                try {
  +                ZipFile zipFile = (ZipFile)zipFiles.get(file);
  +                if (zipFile == null) {
                       zipFile = new ZipFile(file);
  -
  -                    ZipEntry entry = zipFile.getEntry(resourceName);
  -                    if (entry != null) {
  -                        try {
  -                            return new URL("jar:file:"+file.toString()+"!/"+entry);
  -                        } catch (MalformedURLException ex) {
  -                            return null;
  -                        }
  -                    }
  +                    zipFiles.put(file, zipFile);                    
                   }
  -                finally {
  -                    if (zipFile != null) {
  -                        zipFile.close();
  +
  +                ZipEntry entry = zipFile.getEntry(resourceName);
  +                if (entry != null) {
  +                    try {
  +                        return new URL("jar:file:"+file.toString()+"!/"+entry);
  +                    } catch (MalformedURLException ex) {
  +                        return null;
                       }
                   }
               }
  @@ -937,10 +929,7 @@
           }
       }
   
  -    public void buildStarted(BuildEvent event) {
  -    }
  -
  -    public void buildFinished(BuildEvent event) {
  +    public void cleanup() {
           pathComponents = null;
           project = null;
           for (Enumeration e = zipFiles.elements(); e.hasMoreElements(); ) {
  @@ -952,6 +941,14 @@
                   // ignore
               }
           }
  +        zipFiles = new Hashtable();
  +    }
  +    
  +    public void buildStarted(BuildEvent event) {
  +    }
  +
  +    public void buildFinished(BuildEvent event) {
  +        cleanup();
       }
   
       public void targetStarted(BuildEvent event) {
  
  
  
  1.23      +3 -0      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Available.java
  
  Index: Available.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/Available.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Available.java	2001/07/12 13:26:42	1.22
  +++ Available.java	2001/07/18 03:16:05	1.23
  @@ -164,6 +164,9 @@
           }
   
           this.project.setProperty(property, value);
  +        if (loader != null) {
  +            loader.cleanup();
  +        }
       }
   
       private boolean checkFile() {
  
  
  
  1.13      +1 -0      jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java
  
  Index: ExecuteJava.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ExecuteJava.java	2001/07/18 02:29:34	1.12
  +++ ExecuteJava.java	2001/07/18 03:16:05	1.13
  @@ -145,6 +145,7 @@
           } finally {
               if (loader != null) {
                   loader.resetThreadContextLoader();
  +                loader.cleanup();
               }
               if (sysProperties != null) {
                   sysProperties.restoreSystem();