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/03/09 10:41:31 UTC
[4/4] camel git commit: CAMEL-10975: camel-catalog-maven - Allow to
configure temp folder
CAMEL-10975: camel-catalog-maven - Allow to configure temp folder
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fe0db8a4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fe0db8a4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fe0db8a4
Branch: refs/heads/master
Commit: fe0db8a46c45fe0af6a1558d8d7e58248f1bf4b1
Parents: 2702714
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Mar 9 11:32:45 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Mar 9 11:41:11 2017 +0100
----------------------------------------------------------------------
.../catalog/maven/ConnectorArtifactHelper.java | 8 ++++----
.../maven/DefaultMavenArtifactProvider.java | 18 +++++++++++++++---
.../catalog/maven/MavenArtifactProvider.java | 15 ++++++++++++---
.../catalog/maven/MavenArtifactProviderTest.java | 2 ++
.../catalog/maven/MavenVersionManagerTest.java | 2 ++
.../camel/catalog/rest/CamelCatalogRest.java | 7 +++++++
.../catalog/rest/CamelConnectorCatalogRest.java | 7 +++++++
7 files changed, 49 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ConnectorArtifactHelper.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ConnectorArtifactHelper.java b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ConnectorArtifactHelper.java
index 98aeab0..6fcb1bc 100644
--- a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ConnectorArtifactHelper.java
+++ b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/ConnectorArtifactHelper.java
@@ -5,9 +5,9 @@
* 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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * 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.
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
import static org.apache.camel.catalog.CatalogHelper.loadText;
-public class ConnectorArtifactHelper {
+public final class ConnectorArtifactHelper {
private static final Logger LOG = LoggerFactory.getLogger(ComponentArtifactHelper.class);
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/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 6fa68d6..3a7c2a2 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
@@ -5,9 +5,9 @@
* 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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * 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.
@@ -45,6 +45,13 @@ public class DefaultMavenArtifactProvider implements MavenArtifactProvider {
private static final Logger LOG = LoggerFactory.getLogger(DefaultMavenArtifactProvider.class);
+ private String cacheDirectory;
+
+ @Override
+ public void setCacheDirectory(String directory) {
+ this.cacheDirectory = directory;
+ }
+
public void addMavenRepository(String name, String url) {
Map<String, Object> repo = new HashMap<>();
repo.put("name", name);
@@ -58,6 +65,11 @@ public class DefaultMavenArtifactProvider implements MavenArtifactProvider {
final Set<String> names = new LinkedHashSet<>();
try {
+ if (cacheDirectory != null) {
+ LOG.debug("Using cache directory: {}", cacheDirectory);
+ System.setProperty("grape.root", cacheDirectory);
+ }
+
Grape.setEnableAutoDownload(true);
final ClassLoader classLoader = new GroovyClassLoader();
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java
index 309a463..8a96808 100644
--- a/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java
+++ b/platforms/camel-catalog-maven/src/main/java/org/apache/camel/catalog/maven/MavenArtifactProvider.java
@@ -5,9 +5,9 @@
* 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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * 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.
@@ -27,6 +27,15 @@ import org.apache.camel.catalog.connector.CamelConnectorCatalog;
public interface MavenArtifactProvider {
/**
+ * Configures the directory for the download cache.
+ * <p/>
+ * The default folder is <tt>USER_HOME/.groovy/grape</tt>
+ *
+ * @param directory the directory.
+ */
+ void setCacheDirectory(String directory);
+
+ /**
* To add a 3rd party Maven repository.
*
* @param name the repository name
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenArtifactProviderTest.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenArtifactProviderTest.java b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenArtifactProviderTest.java
index 84b5e0b..2fde0ed 100644
--- a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenArtifactProviderTest.java
+++ b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenArtifactProviderTest.java
@@ -35,6 +35,7 @@ public class MavenArtifactProviderTest extends TestCase {
public void testAddComponent() {
CamelCatalog camelCatalog = new DefaultCamelCatalog();
MavenArtifactProvider provider = new DefaultMavenArtifactProvider();
+ provider.setCacheDirectory("target/cache");
int before = camelCatalog.findComponentNames().size();
@@ -51,6 +52,7 @@ public class MavenArtifactProviderTest extends TestCase {
CamelCatalog camelCatalog = new DefaultCamelCatalog();
CamelConnectorCatalog camelConnectorCatalog = new DefaultCamelConnectorCatalog();
MavenArtifactProvider provider = new DefaultMavenArtifactProvider();
+ provider.setCacheDirectory("target/cache");
int before = camelCatalog.findComponentNames().size();
List<ConnectorDto> list = camelConnectorCatalog.findConnector("foo", false);
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
index 4b8abf9..785acbd 100644
--- a/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
+++ b/platforms/camel-catalog-maven/src/test/java/org/apache/camel/catalog/maven/MavenVersionManagerTest.java
@@ -24,8 +24,10 @@ import org.apache.camel.catalog.CamelCatalog;
import org.apache.camel.catalog.CatalogHelper;
import org.apache.camel.catalog.DefaultCamelCatalog;
import org.apache.camel.catalog.springboot.SpringBootRuntimeProvider;
+import org.junit.Ignore;
import org.junit.Test;
+@Ignore("Cannot run on CI servers so run manually")
public class MavenVersionManagerTest extends TestCase {
private static final String COMPONENTS_CATALOG = "org/apache/camel/catalog/components.properties";
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelCatalogRest.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelCatalogRest.java b/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelCatalogRest.java
index e81d795..24fe206 100644
--- a/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelCatalogRest.java
+++ b/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelCatalogRest.java
@@ -289,6 +289,13 @@ public class CamelCatalogRest {
}
@POST
+ @Path("/mavenCacheDirectory/{name}")
+ @ApiOperation(value = "Configures the Maven cache directory to use when downloading artifacts")
+ public void mavenCacheDirectory(@ApiParam("The name of the cache directory") @PathParam("name") String name) {
+ maven.setCacheDirectory(name);
+ }
+
+ @POST
@Path("/addMavenRepository/{name}/{url}")
@ApiOperation(value = "Adds a third party Maven repository to use for downloading Maven artifacts")
public void addMavenRepository(@ApiParam("The name of the Maven repository") @PathParam("name") String name,
http://git-wip-us.apache.org/repos/asf/camel/blob/fe0db8a4/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelConnectorCatalogRest.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelConnectorCatalogRest.java b/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelConnectorCatalogRest.java
index e87124c..364bbf5 100644
--- a/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelConnectorCatalogRest.java
+++ b/platforms/camel-catalog-rest/src/main/java/org/apache/camel/catalog/rest/CamelConnectorCatalogRest.java
@@ -102,6 +102,13 @@ public class CamelConnectorCatalogRest {
}
@POST
+ @Path("/mavenCacheDirectory/{name}")
+ @ApiOperation(value = "Configures the Maven cache directory to use when downloading artifacts")
+ public void mavenCacheDirectory(@ApiParam("The name of the cache directory") @PathParam("name") String name) {
+ maven.setCacheDirectory(name);
+ }
+
+ @POST
@Path("/addMavenRepository/{name}/{url}")
@ApiOperation(value = "Adds a third party Maven repository to use for downloading Maven artifacts")
public void addMavenRepository(@ApiParam("The name of the Maven repository") @PathParam("name") String name,