http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/spring-boot-dm/pom.xml ---------------------------------------------------------------------- diff --git a/spring-boot-dm/pom.xml b/spring-boot-dm/pom.xml new file mode 100644 index 0000000..3fea333 --- /dev/null +++ b/spring-boot-dm/pom.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <parent> + <artifactId>camel</artifactId> + <groupId>org.apache.camel</groupId> + <version>2.18.0-SNAPSHOT</version> + </parent> + + <modelVersion>4.0.0</modelVersion> + <artifactId>camel-spring-boot-dm</artifactId> + <packaging>pom</packaging> + + <name>Camel :: Spring-Boot :: Dependency Management</name> + <description>Camel Spring-Boot Dependency Management POM</description> + <modules> + <module>camel-starter-parent</module> + <module>camel-spring-boot-bom</module> + </modules> + + <properties> + <!-- Spring-Boot target version --> + <spring-boot-version>1.4.0.RELEASE</spring-boot-version> + + <!-- The following dependencies should be aligned with the ones in standard camel parent --> + <egit-github-core-version>2.1.5</egit-github-core-version> + <geronimo-jms-spec-version>1.1.1</geronimo-jms-spec-version> + <geronimo-jpa2-spec-version>1.1</geronimo-jpa2-spec-version> + <google-guava-version>19.0</google-guava-version> + <hadoop2-version>2.7.2</hadoop2-version> + <junit-version>4.12</junit-version> + <log4j2-version>2.6.2</log4j2-version> + <maven-checkstyle-plugin-version>2.17</maven-checkstyle-plugin-version> + <maven-checkstyle-version>6.17</maven-checkstyle-version> + <netty-version>4.1.5.Final</netty-version> + <!--<netty-version>4.0.36.Final</netty-version>--> + + <!-- The following versions should be aligned with the ones in spring-boot-repo/spring-boot-dependencies/pom.xml (for the targeted version of spring-boot) --> + <hibernate-version>5.0.9.Final</hibernate-version> + <jetty-version>9.3.11.v20160721</jetty-version> + </properties> + + <build> + <plugins> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>${maven-checkstyle-plugin-version}</version> + <dependencies> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-buildtools</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>com.puppycrawl.tools</groupId> + <artifactId>checkstyle</artifactId> + <version>${maven-checkstyle-version}</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>validate</id> + <phase>validate</phase> + <configuration> + <includeResources>false</includeResources> + <configLocation>camel-checkstyle.xml</configLocation> + <consoleOutput>true</consoleOutput> + <failsOnError>true</failsOnError> + <linkXRef>false</linkXRef> + <suppressionsLocation>camel-checkstyle-suppressions.xml</suppressionsLocation> + <encoding>UTF-8</encoding> + <sourceDirectory>${basedir}/src</sourceDirectory> + <excludes>**/archetype-resources/**/*.java</excludes> + </configuration> + <goals> + <goal>checkstyle</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>${maven-compiler-plugin-version}</version> + <configuration> + <source>${jdk.version}</source> + <target>${jdk.version}</target> + <maxmem>512M</maxmem> + <fork>${compiler.fork}</fork> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <attach>true</attach> + <source>${jdk.version}</source> + <quiet>true</quiet> + <bottom>Apache Camel</bottom> + <detectOfflineLinks>false</detectOfflineLinks> + <javadocVersion>${jdk.version}</javadocVersion> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <configuration> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + + </plugins> + </build> + +</project> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelHbaseTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelHbaseTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelHbaseTest.java index 2060a3c..20cd0d7 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelHbaseTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelHbaseTest.java @@ -36,7 +36,11 @@ public class CamelHbaseTest extends AbstractSpringBootTestSupport { public static ITestConfig createTestConfig() { return new ITestConfigBuilder() .module(inferModuleName(CamelHbaseTest.class)) - //.dependency(DependencyResolver.withVersion("org.apache.hadoop:hadoop-hdfs")) + // Because HBase uses Hadoop 2.5.1 in test scope + .dependency("org.apache.hadoop:hadoop-common:" + DependencyResolver.resolveParentProperty("${hadoop2-version}")) + .dependency("org.apache.hadoop:hadoop-auth:" + DependencyResolver.resolveParentProperty("${hadoop2-version}")) + .dependency("org.apache.hadoop:hadoop-mapreduce-client-core:" + DependencyResolver.resolveParentProperty("${hadoop2-version}")) + .dependency("org.apache.hadoop:hadoop-yarn-common:" + DependencyResolver.resolveParentProperty("${hadoop2-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfluxdbTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfluxdbTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfluxdbTest.java index 6687a8c..5351987 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfluxdbTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfluxdbTest.java @@ -35,6 +35,7 @@ public class CamelInfluxdbTest extends AbstractSpringBootTestSupport { public static ITestConfig createTestConfig() { return new ITestConfigBuilder() .module(inferModuleName(CamelInfluxdbTest.class)) + .unitTestExclusionPattern(".*(\\.integration\\..*|IntegrationTest$|AbstractInfluxDbTest$)") .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java index 67e89a4..392ffa3 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java @@ -134,6 +134,7 @@ public final class ArquillianPackager { } List<MavenDependencyExclusion> commonExclusions = new LinkedList<>(); + commonExclusions.add(MavenDependencies.createExclusion("commons-logging", "commons-logging")); commonExclusions.add(MavenDependencies.createExclusion("org.slf4j", "slf4j-log4j12")); commonExclusions.add(MavenDependencies.createExclusion("log4j", "log4j")); commonExclusions.add(MavenDependencies.createExclusion("log4j", "log4j-slf4j-impl")); @@ -150,11 +151,14 @@ public final class ArquillianPackager { commonExclusions.add(MavenDependencies.createExclusion(ex)); } - MavenDependencyExclusion[] commonExclutionArray = commonExclusions.toArray(new MavenDependencyExclusion[]{}); - // Module dependencies - List<MavenDependency> moduleDependencies = new LinkedList<>(); + List<MavenDependency> additionalDependencies = new LinkedList<>(); + for (String canonicalForm : config.getAdditionalDependencies()) { + MavenCoordinate coord = MavenCoordinates.createCoordinate(canonicalForm); + MavenDependency dep = MavenDependencies.createDependency(coord, ScopeType.RUNTIME, false); + additionalDependencies.add(dep); + } // String mainArtifactId = config.getModuleName() + "-starter"; // MavenCoordinate mainJar = MavenCoordinates.createCoordinate(config.getMavenGroup(), mainArtifactId, version, PackagingType.JAR, null); @@ -162,94 +166,43 @@ public final class ArquillianPackager { // MavenDependency mainDep = MavenDependencies.createDependency(mainJar, ScopeType.COMPILE, false); // moduleDependencies.add(mainDep); - for (String canonicalForm : config.getAdditionalDependencies()) { - MavenCoordinate coord = MavenCoordinates.createCoordinate(canonicalForm); - MavenDependency dep = MavenDependencies.createDependency(coord, ScopeType.RUNTIME, false); - moduleDependencies.add(dep); - } + List<String> testProvidedDependencies = new LinkedList<>(); + List<ScopeType> scopes = new LinkedList<>(); if (config.getIncludeProvidedDependencies() || config.getIncludeTestDependencies() || config.getUnitTestEnabled()) { - StringBuilder dependencies = new StringBuilder(); - List<ScopeType> scopes = new LinkedList<>(); if (config.getIncludeTestDependencies() || config.getUnitTestEnabled()) { - dependencies.append(DependencyResolver.getDependencies(config.getModuleBasePath() + "/pom.xml", ScopeType.TEST.toString())); + testProvidedDependencies.addAll(DependencyResolver.getDependencies(config.getModuleBasePath() + "/pom.xml", ScopeType.TEST.toString())); scopes.add(ScopeType.TEST); } if (config.getIncludeProvidedDependencies()) { - dependencies.append(DependencyResolver.getDependencies(config.getModuleBasePath() + "/pom.xml", ScopeType.PROVIDED.toString())); + testProvidedDependencies.addAll(DependencyResolver.getDependencies(config.getModuleBasePath() + "/pom.xml", ScopeType.PROVIDED.toString())); scopes.add(ScopeType.PROVIDED); } - File resolverFile = createResolverPom(config, dependencies.toString()); - - boolean failIfNoDependencies = false; - List<MavenResolvedArtifact> moduleArtifacts; - try { - moduleArtifacts = Arrays.asList(resolver(config) - .loadPomFromFile(resolverFile) - .importDependencies(scopes.toArray(new ScopeType[0])) - .resolve().withoutTransitivity().asResolvedArtifact()); - } catch (IllegalArgumentException e) { - if (failIfNoDependencies) { - throw e; - } - - debug("Error while getting dependencies for test or optional scopes. Message=" + e.getMessage()); - moduleArtifacts = new LinkedList<>(); - } - - List<MavenCoordinate> coordinates = new LinkedList<>(); - - // fill coordinates - for (MavenResolvedArtifact art : moduleArtifacts) { - MavenCoordinate coord = art.getCoordinate(); - -// Set<String> nonStarterModules = new HashSet<>(); -// nonStarterModules.add("camel-test"); -// -// // redirect reference from camel modules to camel starters in test scope -// if (art.getScope() == ScopeType.TEST && art.getCoordinate().getGroupId().equals("org.apache.camel") && art.getCoordinate().getArtifactId().startsWith("camel-") && !nonStarterModules -// .contains(art.getCoordinate().getArtifactId())) { -// coord = MavenCoordinates.createCoordinate(art.getCoordinate().getGroupId(), art.getCoordinate().getArtifactId() + "-starter", art.getCoordinate().getVersion(), art.getCoordinate -// ().getPackaging(), art.getCoordinate().getClassifier()); -// } - - if (!validTestDependency(config, coord)) { - continue; - } - - coordinates.add(coord); - } - - for (MavenCoordinate c : coordinates) { - - // Re-adding exclusions, as Arquillian resolver ignores them - Set<String> pomExclusions = DependencyResolver.getExclusions(config.getModuleBasePath() + "/pom.xml", c.getGroupId(), c.getArtifactId()); - MavenDependencyExclusion[] artExclusions; - if (pomExclusions.isEmpty()) { - artExclusions = commonExclutionArray; - } else { - List<MavenDependencyExclusion> specificExclusions = new LinkedList<>(Arrays.asList(commonExclutionArray)); - for (String spEx : pomExclusions) { - specificExclusions.add(MavenDependencies.createExclusion(spEx)); - } - artExclusions = specificExclusions.toArray(new MavenDependencyExclusion[]{}); - } - + } - MavenDependency dep = MavenDependencies.createDependency(c, ScopeType.RUNTIME, false, artExclusions); - moduleDependencies.add(dep); + List<String> cleanTestProvidedDependencies = new LinkedList<>(); + for (String depXml : testProvidedDependencies) { + if (validTestDependency(config, depXml, commonExclusions)) { + depXml = enforceExclusions(config, depXml, commonExclusions); + depXml = addBOMVersionWhereMissing(config, depXml); + cleanTestProvidedDependencies.add(depXml); } } - File moduleSpringBootPom = createUserPom(config); + File moduleSpringBootPom = createUserPom(config, cleanTestProvidedDependencies); + + List<ScopeType> resolvedScopes = new LinkedList<>(); + resolvedScopes.add(ScopeType.COMPILE); + resolvedScopes.add(ScopeType.RUNTIME); + resolvedScopes.addAll(scopes); List<File> dependencies = new LinkedList<>(); dependencies.addAll(Arrays.asList(resolver(config) .loadPomFromFile(moduleSpringBootPom) - .importRuntimeDependencies() - .addDependencies(moduleDependencies) + .importDependencies(resolvedScopes.toArray(new ScopeType[0])) + .addDependencies(additionalDependencies) .resolve() .withTransitivity() .asFile())); @@ -301,44 +254,20 @@ public final class ArquillianPackager { return external.build(); } - private static File createUserPom(ITestConfig config) throws Exception { + private static File createUserPom(ITestConfig config, List<String> cleanTestProvidedDependencies) throws Exception { String pom; try (InputStream pomTemplate = ArquillianPackager.class.getResourceAsStream("/application-pom.xml")) { pom = IOUtils.toString(pomTemplate); } - Map<String, String> resolvedProperties = new TreeMap<>(); - Pattern propPattern = Pattern.compile("(\\$\\{[^}]*\\})"); - Matcher m = propPattern.matcher(pom); - while (m.find()) { - String property = m.group(); - String resolved = DependencyResolver.resolveSpringBootParentProperty(property); - resolvedProperties.put(property, resolved); - } - - for (String property : resolvedProperties.keySet()) { - pom = pom.replace(property, resolvedProperties.get(property)); + StringBuilder dependencies = new StringBuilder(); + for (String dep : cleanTestProvidedDependencies) { + dependencies.append(dep); + dependencies.append("\n"); } - pom = pom.replace("#{module}", config.getModuleName()); - - File pomFile = new File(config.getModuleBasePath() + "/target/itest-spring-boot-pom.xml"); - try (FileWriter fw = new FileWriter(pomFile)) { - IOUtils.write(pom, fw); - } - - return pomFile; - } - - private static File createResolverPom(ITestConfig config, String dependencies) throws Exception { - - String pom; - try (InputStream pomTemplate = ArquillianPackager.class.getResourceAsStream("/dependency-resolver-pom.xml")) { - pom = IOUtils.toString(pomTemplate); - } - - pom = pom.replace("<!-- DEPENDENCIES -->", dependencies); + pom = pom.replace("<!-- DEPENDENCIES -->", dependencies.toString()); Map<String, String> resolvedProperties = new TreeMap<>(); Pattern propPattern = Pattern.compile("(\\$\\{[^}]*\\})"); @@ -353,7 +282,9 @@ public final class ArquillianPackager { pom = pom.replace(property, resolvedProperties.get(property)); } - File pomFile = new File(config.getModuleBasePath() + "/target/itest-spring-boot-dependency-resolver-pom.xml"); + pom = pom.replace("#{module}", config.getModuleName()); + + File pomFile = new File(config.getModuleBasePath() + "/target/itest-spring-boot-pom.xml"); try (FileWriter fw = new FileWriter(pomFile)) { IOUtils.write(pom, fw); } @@ -361,6 +292,7 @@ public final class ArquillianPackager { return pomFile; } + private static ConfigurableMavenResolverSystem resolver(ITestConfig config) { return Maven.configureResolver().workOffline(config.getMavenOfflineResolution()); } @@ -398,38 +330,75 @@ public final class ArquillianPackager { return cl; } - private static boolean validTestDependency(ITestConfig config, MavenCoordinate coordinate) { - - Pattern[] patterns = new Pattern[]{ - Pattern.compile("^log4j$"), - Pattern.compile("^log4j-slf4j-impl$"), - Pattern.compile("^log4j-core$"), - Pattern.compile("^slf4j-log4j12$"), - Pattern.compile("^slf4j-simple$"), - Pattern.compile("^slf4j-jdk14$"), - Pattern.compile("^logback-classic$"), - Pattern.compile("^logback-core$") - }; + private static boolean validTestDependency(ITestConfig config, String dependencyXml, List<MavenDependencyExclusion> exclusions) { boolean valid = true; - for (Pattern p : patterns) { - if (p.matcher(coordinate.getArtifactId()).matches()) { + for (MavenDependencyExclusion excl : exclusions) { + String groupId = excl.getGroupId(); + String artifactId = excl.getArtifactId(); + + boolean notExclusion = dependencyXml.indexOf("<exclusions>") < 0 || dependencyXml.indexOf(groupId) < dependencyXml.indexOf("<exclusions>"); + + if (dependencyXml.contains(groupId) && dependencyXml.contains(artifactId) && notExclusion) { valid = false; break; } } - if (valid && config.getMavenExclusions().contains(coordinate.getGroupId() + ":" + coordinate.getArtifactId())) { - valid = false; - } - if (!valid) { - debug("Discarded test dependency " + coordinate.toCanonicalForm()); + debug("Discarded test dependency: " + dependencyXml.replace("\n", "").replace("\r", "").replace("\t", "")); } return valid; } + private static String enforceExclusions(ITestConfig config, String dependencyXml, List<MavenDependencyExclusion> exclusions) { + + if (!dependencyXml.contains("<exclusions>")) { + dependencyXml = dependencyXml.replace("</dependency>", "<exclusions></exclusions></dependency>"); + } + + for (MavenDependencyExclusion excl : exclusions) { + String groupId = excl.getGroupId(); + String artifactId = excl.getArtifactId(); + + dependencyXml = dependencyXml.replace("</exclusions>", "<exclusion><groupId>" + groupId + "</groupId><artifactId>" + artifactId + "</artifactId></exclusion></exclusions>"); + } + + return dependencyXml; + } + + private static String addBOMVersionWhereMissing(ITestConfig config, String dependencyXml) throws Exception { + + if (dependencyXml.contains("<version>")) { + return dependencyXml; + } + + String groupId = textBetween(dependencyXml, "<groupId>", "</groupId>"); + String artifactId = textBetween(dependencyXml, "<artifactId>", "</artifactId>"); + + String version = DependencyResolver.resolveCamelParentBOMVersion(groupId, artifactId); + if (version != null) { + String after = "</artifactId>"; + int split = dependencyXml.indexOf(after) + after.length(); + dependencyXml = dependencyXml.substring(0, split) + "<version>" + version + "</version>" + dependencyXml.substring(split); + } + + return dependencyXml; + } + + private static String textBetween(String text, String start, String end) { + int sp = text.indexOf(start); + int rsp = sp + start.length(); + int ep = text.indexOf(end); + if (sp < 0 || ep < 0 || ep <= rsp) { + return null; + } + + String res = text.substring(rsp, ep); + return res; + } + private static boolean excludeDependencyRegex(List<File> dependencies, String regex) { Pattern pattern = Pattern.compile(regex); int count = 0; http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/DependencyResolver.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/DependencyResolver.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/DependencyResolver.java index fa2adef..e7ff4cd 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/DependencyResolver.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/DependencyResolver.java @@ -19,6 +19,8 @@ package org.apache.camel.itest.springboot.util; import java.io.StringWriter; import java.util.Collections; import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; import java.util.Set; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -54,7 +56,7 @@ public final class DependencyResolver { /** * Retrieves a list of dependencies of the given scope */ - public static String getDependencies(String pom, String scope) throws Exception { + public static List<String> getDependencies(String pom, String scope) throws Exception { String expression = "/project/dependencies/dependency[scope='" + scope + "']"; DocumentBuilder builder = factory.newDocumentBuilder(); @@ -62,20 +64,20 @@ public final class DependencyResolver { XPath xpath = xPathfactory.newXPath(); XPathExpression expr = xpath.compile(expression); - StringBuilder res = new StringBuilder(); + List<String> dependencies = new LinkedList<>(); NodeList nodes = (NodeList) expr.evaluate(doc, XPathConstants.NODESET); - for(int i=0; i<nodes.getLength(); i++) { + for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); - try(StringWriter writer = new StringWriter()) { + try (StringWriter writer = new StringWriter()) { Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); transformer.transform(new DOMSource(node), new StreamResult(writer)); String xml = writer.toString(); - res.append(xml + "\n"); + dependencies.add(xml); } } - return res.toString(); + return dependencies; } /** @@ -166,6 +168,10 @@ public final class DependencyResolver { return groupArtifact + ":" + version; } + public static String resolveCamelParentBOMVersion(String groupId, String artifactId) throws Exception { + return xpath("../../parent/pom.xml", "/project/dependencyManagement/dependencies/dependency[groupId='" + groupId + "' and artifactId='" + artifactId + "']/version/text()"); + } + public static String resolveParentProperty(String property) { property = resolveSpringBootParentProperty(property); if (property != null && !isResolved(property)) { @@ -176,7 +182,7 @@ public final class DependencyResolver { } public static String resolveSpringBootParentProperty(String property) { - return resolveProperty("../../parent-spring-boot/pom.xml", property, 0); + return resolveProperty("../../spring-boot-dm/camel-starter-parent/pom.xml", property, 0); } public static String resolveCamelParentProperty(String property) { @@ -192,7 +198,7 @@ public final class DependencyResolver { property = resolveProperty("../pom.xml", property, 0); } if (property != null && !isResolved(property)) { - property = resolveProperty("../../parent-spring-boot/pom.xml", property, 0); + property = resolveProperty("../../spring-boot-dm/camel-starter-parent/pom.xml", property, 0); } return property; http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/JarExporter.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/JarExporter.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/JarExporter.java index 16bcc90..b68ac46 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/JarExporter.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/JarExporter.java @@ -32,7 +32,7 @@ public class JarExporter { public void exportJar() throws Exception { Archive<?> archive = ArquillianPackager.springBootPackage(new ITestConfigBuilder() - .module("camel-hbase") + .module("camel-jetty9") .build()); new ZipExporterImpl(archive).exportTo(new File("target/export.zip"), true); http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/resources/application-pom.xml ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/resources/application-pom.xml b/tests/camel-itest-spring-boot/src/test/resources/application-pom.xml index 8fbb685..a651f21 100644 --- a/tests/camel-itest-spring-boot/src/test/resources/application-pom.xml +++ b/tests/camel-itest-spring-boot/src/test/resources/application-pom.xml @@ -33,7 +33,7 @@ <dependency> <!-- Then use camel dependency management --> <groupId>org.apache.camel</groupId> - <artifactId>camel-parent-spring-boot</artifactId> + <artifactId>camel-spring-boot-bom</artifactId> <version>${project.version}</version> <type>pom</type> <scope>import</scope> @@ -55,6 +55,8 @@ <artifactId>junit</artifactId> </dependency> + <!-- DEPENDENCIES --> + </dependencies> </project> http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tests/camel-itest-spring-boot/src/test/resources/dependency-resolver-pom.xml ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/resources/dependency-resolver-pom.xml b/tests/camel-itest-spring-boot/src/test/resources/dependency-resolver-pom.xml deleted file mode 100644 index d8d94ab..0000000 --- a/tests/camel-itest-spring-boot/src/test/resources/dependency-resolver-pom.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - 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 - - 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. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <groupId>com.company</groupId> - <artifactId>spring-boot-dependency-resolver</artifactId> - <version>1.0</version> - - <name>Spring-Boot Dependency Resolver</name> - <description>This POM is used to resolve test and optional dependencies required in integration tests</description> - - <dependencyManagement> - <dependencies> - - <dependency> - <!-- Then use camel dependency management --> - <groupId>org.apache.camel</groupId> - <artifactId>camel-parent-spring-boot</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <dependency> - <!-- Added as fallback for test and optional dependencies --> - <groupId>org.apache.camel</groupId> - <artifactId>camel-parent</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - </dependencies> - </dependencyManagement> - - <dependencies> - - <!-- DEPENDENCIES --> - - </dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/camel/blob/2c8e289b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-fix-dependencies.properties ---------------------------------------------------------------------- diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-fix-dependencies.properties b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-fix-dependencies.properties index 6eaa9b2..1fac224 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-fix-dependencies.properties +++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-fix-dependencies.properties @@ -29,7 +29,14 @@ camel-core=com.github.ben-manes.caffeine:caffeine camel-github=org.eclipse.mylyn.github:org.eclipse.egit.github.core:${egit-github-core-version} camel-guava-eventbus=com.google.guava:guava:${google-guava-version} -camel-jetty9=org.hibernate:hibernate-validator + +# Defaulting to netty4 in the starter +camel-hl7=org.apache.camel:camel-netty4:${project.version} + +# Camel Core requires on APT for the usage of CollectionStringBuffer. +# Remove this dependency if it was a mistake +camel-jetty9=org.hibernate:hibernate-validator,org.apache.camel:apt:${project.version} + camel-jms=org.apache.geronimo.specs:geronimo-jms_1.1_spec:${geronimo-jms-spec-version} camel-jpa=org.apache.geronimo.specs:geronimo-jpa_2.0_spec:${geronimo-jpa2-spec-version} camel-kubernetes=org.hibernate:hibernate-validator