You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/04/20 15:10:19 UTC

[2/3] camel git commit: Close GroovyClassLoader

Close GroovyClassLoader

it avoids to have files that can't be deleted on Windows

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/39376f59
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/39376f59
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/39376f59

Branch: refs/heads/master
Commit: 39376f59d04ce35e1ca290ab14e3412a7030d2d1
Parents: 6eb2abe
Author: Aurelien Pupier <ap...@redhat.com>
Authored: Thu Apr 20 14:06:20 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Apr 20 17:07:31 2017 +0200

----------------------------------------------------------------------
 .../maven/DefaultMavenArtifactProvider.java     | 41 ++++++++++----------
 1 file changed, 21 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/39376f59/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/DefaultMavenArtifactProvider.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/DefaultMavenArtifactProvider.java b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/DefaultMavenArtifactProvider.java
index 99d0a47..1a7f3cb 100644
--- a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/DefaultMavenArtifactProvider.java
+++ b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/DefaultMavenArtifactProvider.java
@@ -73,26 +73,27 @@ public class DefaultMavenArtifactProvider implements MavenArtifactProvider {
 
             Grape.setEnableAutoDownload(true);
 
-            final ClassLoader classLoader = new GroovyClassLoader();
-
-            Map<String, Object> param = new HashMap<>();
-            param.put("classLoader", classLoader);
-            param.put("group", groupId);
-            param.put("module", artifactId);
-            param.put("version", version);
-            // no need to download transitive dependencies as we only need to check the component or connector itself
-            param.put("validate", false);
-            param.put("transitive", false);
-
-            LOG.debug("Downloading {}:{}:{}", groupId, artifactId, version);
-            Grape.grab(param);
-
-            // the classloader can load content from the downloaded JAR
-            if (camelCatalog != null) {
-                scanCamelComponents(camelCatalog, classLoader, names);
-            }
-            if (camelConnectorCatalog != null) {
-                scanCamelConnectors(camelConnectorCatalog, classLoader, groupId, artifactId, version, names);
+            try (final GroovyClassLoader classLoader = new GroovyClassLoader()){
+
+            	Map<String, Object> param = new HashMap<>();
+            	param.put("classLoader", classLoader);
+            	param.put("group", groupId);
+            	param.put("module", artifactId);
+            	param.put("version", version);
+            	// no need to download transitive dependencies as we only need to check the component or connector itself
+            	param.put("validate", false);
+            	param.put("transitive", false);
+
+            	LOG.debug("Downloading {}:{}:{}", groupId, artifactId, version);
+            	Grape.grab(param);
+
+            	// the classloader can load content from the downloaded JAR
+            	if (camelCatalog != null) {
+            		scanCamelComponents(camelCatalog, classLoader, names);
+            	}
+            	if (camelConnectorCatalog != null) {
+            		scanCamelConnectors(camelConnectorCatalog, classLoader, groupId, artifactId, version, names);
+            	}
             }
 
         } catch (Exception e) {