http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/spring-boot-dm/camel-spring-boot-generator-bom/pom.xml ---------------------------------------------------------------------- diff --git a/spring-boot-dm/camel-spring-boot-generator-bom/pom.xml b/spring-boot-dm/camel-spring-boot-generator-bom/pom.xml index 06f0df7..bcf621f 100644 --- a/spring-boot-dm/camel-spring-boot-generator-bom/pom.xml +++ b/spring-boot-dm/camel-spring-boot-generator-bom/pom.xml @@ -34,21 +34,7 @@ <dependencies> - <!-- - The dependency management is organized as follows: - - custom dependencies first (to override values) - - spring-boot dependencies - - camel dependencies - - Dependencies are flattened and a BOM file is generated using a plugin. - --> - - <!-- Additional libraries related to Avro --> - <dependency> - <groupId>org.apache.avro</groupId> - <artifactId>avro</artifactId> - <version>${avro-version}</version> - </dependency> + <!-- Additional libraries related to Avro (version from Camel) --> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro-mapred</artifactId> @@ -56,44 +42,13 @@ </dependency> <dependency> <groupId>org.apache.avro</groupId> - <artifactId>avro-ipc</artifactId> - <classifier>tests</classifier> - <version>${avro-version}</version> - </dependency> - <dependency> - <groupId>org.apache.avro</groupId> <artifactId>avro-mapred</artifactId> <classifier>hadoop2</classifier> <version>${avro-version}</version> </dependency> - <!-- Use the camel version of caffeine --> - <dependency> - <groupId>com.github.ben-manes.caffeine</groupId> - <artifactId>caffeine</artifactId> - <version>${caffeine-version}</version> - </dependency> - - <!-- Use the camel version of Cassandra 3 vs 2 --> - <dependency> - <groupId>com.datastax.cassandra</groupId> - <artifactId>cassandra-driver-core</artifactId> - <version>${cassandra-driver-version}</version> - </dependency> - <dependency> - <groupId>com.datastax.cassandra</groupId> - <artifactId>cassandra-driver-mapping</artifactId> - <version>${cassandra-driver-version}</version> - </dependency> - <!-- Added to match the version of related libraries provided by spring-boot --> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-entitymanager</artifactId> - <version>${hibernate-version}</version> - </dependency> - - <!-- Add a uniform jackson 1 (used in many components) --> + <!-- Add a uniform jackson 1 (version from Camel) --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core</artifactId> @@ -134,27 +89,13 @@ <version>${jna-version}</version> </dependency> - <!-- Overwrite with the version provided in camel --> - <dependency> - <groupId>net.sourceforge.htmlunit</groupId> - <artifactId>htmlunit-core-js</artifactId> - <version>${htmlunit-version}</version> - </dependency> - <dependency> - <groupId>net.sourceforge.htmlunit</groupId> - <artifactId>htmlunit</artifactId> - <version>${htmlunit-version}</version> - </dependency> - <dependency> - <groupId>net.sourceforge.htmlunit</groupId> - <artifactId>htmlunit</artifactId> - <version>${htmlunit-version}</version> - </dependency> - <dependency> - <groupId>org.seleniumhq.selenium</groupId> - <artifactId>htmlunit-driver</artifactId> - <version>${htmlunit-version}</version> - </dependency> + <!-- Added to match the version of related libraries provided by spring-boot --> + <!-- Seems that htmlunit 2.21 is not present in Maven central --> + <!--<dependency>--> + <!--<groupId>net.sourceforge.htmlunit</groupId>--> + <!--<artifactId>htmlunit-core-js</artifactId>--> + <!--<version>${htmlunit-version}</version>--> + <!--</dependency>--> <!-- Added to match the version of related libraries provided by spring-boot --> <dependency> @@ -167,11 +108,6 @@ <artifactId>jetty-rewrite</artifactId> <version>${jetty-version}</version> </dependency> - <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-servlet</artifactId> - <version>${jetty-version}</version> - </dependency> <!-- Added to match the version of related libraries provided by spring-boot --> <dependency> @@ -186,294 +122,18 @@ </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> - <artifactId>websocket-server</artifactId> - <version>${jetty-version}</version> - </dependency> - <dependency> - <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-servlet</artifactId> <version>${jetty-version}</version> </dependency> - <!-- Using the version of ActiveMQ from camel --> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-amqp</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-blueprint</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-broker</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-camel</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-client</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-console</artifactId> - <version>${activemq-version}</version> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-http</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-jaas</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-jdbc-store</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-jms-pool</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-kahadb-store</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-karaf</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-leveldb-store</artifactId> - <version>${activemq-version}</version> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-log4j-appender</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-mqtt</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-openwire-generator</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-openwire-legacy</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-osgi</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-partition</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-pool</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-ra</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-run</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-runtime-config</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-shiro</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-spring</artifactId> - <version>${activemq-version}</version> - <exclusions> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-stomp</artifactId> - <version>${activemq-version}</version> - </dependency> - <dependency> - <groupId>org.apache.activemq</groupId> - <artifactId>activemq-web</artifactId> - <version>${activemq-version}</version> - </dependency> - - <!-- Added to match the version of related libraries provided by Camel --> + <!-- Added to match the version of related libraries provided by Spring-boot --> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-scala_2.11</artifactId> <version>${jackson2-version}</version> </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-jaxrs</artifactId> - <version>${jackson2-version}</version> - </dependency> - - <!-- Using the Camel Version of Jackson --> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-annotations</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-core</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-databind</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-cbor</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-csv</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-smile</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-xml</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.dataformat</groupId> - <artifactId>jackson-dataformat-yaml</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-guava</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-hibernate4</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-hibernate5</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-jdk8</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-joda</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-json-org</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.datatype</groupId> - <artifactId>jackson-datatype-jsr310</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-base</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.module</groupId> - <artifactId>jackson-module-jaxb-annotations</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.module</groupId> - <artifactId>jackson-module-kotlin</artifactId> - <version>${jackson2-version}</version> - </dependency> - <dependency> - <groupId>com.fasterxml.jackson.module</groupId> - <artifactId>jackson-module-parameter-names</artifactId> - <version>${jackson2-version}</version> - </dependency> - <!-- Dependencies from the spring-boot BOM are included after custom dependencies --> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-dependencies</artifactId> - <version>${spring-boot-version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - <!-- Dependencies from Camel parent at the end --> <dependency> <groupId>org.apache.camel</groupId> @@ -500,6 +160,36 @@ </execution> </executions> <configuration> + <checkConflicts> + <boms> + <bom> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-dependencies</artifactId> + <version>${spring-boot-version}</version> + </bom> + <!-- Other BOMs imported by SB should be listed explicitly --> + <bom> + <groupId>org.springframework</groupId> + <artifactId>spring-framework-bom</artifactId> + <version>${spring-version}</version> + </bom> + <bom> + <groupId>org.springframework.data</groupId> + <artifactId>spring-data-releasetrain</artifactId> + <version>${spring-data-releasetrain-version}</version> + </bom> + <bom> + <groupId>org.springframework.integration</groupId> + <artifactId>spring-integration-bom</artifactId> + <version>${spring-integration-version}</version> + </bom> + <bom> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-bom</artifactId> + <version>${spring-security-version}</version> + </bom> + </boms> + </checkConflicts> <dependencies> <includes> <include>*:*</include> @@ -508,15 +198,60 @@ <!-- These artifacts should not be included in the final (generated) BOM --> + <!-- Different versions from the ones provided by spring-boot --> + <exclude>de.flapdoodle*:*</exclude> + <exclude>org.apache.activemq:*</exclude> + <exclude>org.apache.commons:commons-pool2</exclude> + <exclude>org.apache.httpcomponents:httpcore</exclude> + <exclude>org.apache.derby:derby</exclude> + <exclude>org.apache.logging.log4j:*</exclude> + <exclude>org.codehaus.groovy:*</exclude> + <exclude>org.hibernate:hibernate-entitymanager</exclude> + <exclude>org.hsqldb:*</exclude> + <exclude>org.mockito:*</exclude> + + <exclude>org.slf4j:jul-to-slf4j</exclude> + <exclude>org.slf4j:log4j-over-slf4j</exclude> + <exclude>org.slf4j:slf4j-api</exclude> + <exclude>org.slf4j:slf4j-log4j12</exclude> + <exclude>org.slf4j:slf4j-simple</exclude> + + <exclude>org.springframework*:*</exclude> + + <exclude>commons-codec:*</exclude> + <exclude>commons-collections:*</exclude> + <exclude>commons-dbcp:*</exclude> + <exclude>commons-pool:*</exclude> + + <exclude>com.github.ben-manes.caffeine:caffeine</exclude> + <exclude>com.datastax.cassandra:*</exclude> + + <exclude>com.fasterxml.jackson.core:jackson-annotations</exclude> + <exclude>com.fasterxml.jackson.core:jackson-core</exclude> + <exclude>com.fasterxml.jackson.core:jackson-databind</exclude> + <exclude>com.fasterxml.jackson.dataformat:jackson-dataformat-cbor</exclude> + <exclude>com.fasterxml.jackson.dataformat:jackson-dataformat-smile</exclude> + <exclude>com.fasterxml.jackson.dataformat:jackson-dataformat-xml</exclude> + <exclude>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml</exclude> + <exclude>com.fasterxml.jackson.datatype:jackson-datatype-jaxrs</exclude> + <exclude>com.fasterxml.jackson.datatype:jackson-datatype-joda</exclude> + <exclude>com.fasterxml.jackson.jaxrs:jackson-jaxrs-base</exclude> + <exclude>com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider</exclude> + <exclude>com.fasterxml.jackson.module:jackson-module-jaxb-annotations</exclude> + + <exclude>com.google.code.gson:*</exclude> + <exclude>javax.servlet:javax.servlet-api</exclude> + <exclude>junit:*</exclude> + <exclude>net.sf.ehcache:ehcache</exclude> + + <exclude>xml-apis:*</exclude> + <!-- Different versions required by some modules --> <exclude>com.google.inject:*</exclude> <exclude>com.google.guava:*</exclude> - <exclude>com.google.code.gson:*</exclude> <exclude>org.scala-lang:*</exclude> <exclude>org.apache.lucene:*</exclude> - <!-- Changed name to dse-driver in version 3 --> - <exclude>com.datastax.cassandra:cassandra-driver-dse</exclude> <!-- Unrelated --> <exclude>org.apache.servicemix.bundles:*</exclude>
http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/spring-boot-dm/camel-spring-boot-generator-bom/target-template-pom.xml ---------------------------------------------------------------------- diff --git a/spring-boot-dm/camel-spring-boot-generator-bom/target-template-pom.xml b/spring-boot-dm/camel-spring-boot-generator-bom/target-template-pom.xml index bb9a4a3..5a44e07 100644 --- a/spring-boot-dm/camel-spring-boot-generator-bom/target-template-pom.xml +++ b/spring-boot-dm/camel-spring-boot-generator-bom/target-template-pom.xml @@ -15,8 +15,6 @@ 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"> @@ -38,24 +36,4 @@ </dependencies> </dependencyManagement> - <build> - <pluginManagement> - <plugins> - <!-- Useful when using the BOM as parent --> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <version>${spring-boot-version}</version> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - </build> - </project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/spring-boot-dm/camel-starter-parent/pom.xml ---------------------------------------------------------------------- diff --git a/spring-boot-dm/camel-starter-parent/pom.xml b/spring-boot-dm/camel-starter-parent/pom.xml index 8416640..983a8f5 100644 --- a/spring-boot-dm/camel-starter-parent/pom.xml +++ b/spring-boot-dm/camel-starter-parent/pom.xml @@ -40,14 +40,23 @@ <!--<artifactId>log4j-to-slf4j</artifactId>--> <!--<version>${log4j2-version}</version>--> <!--</dependency>--> + </dependencies> <dependencyManagement> <dependencies> + <!-- The spring-boot dependencies will be used by end users, so it's ok to use it in the parent --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-dependencies</artifactId> + <version>${spring-boot-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <!-- What's in the user BOM is OK for the parent --> - <!-- It normally includes the spring-boot dependencies first then the camel ones (with some exceptions) --> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-dependencies</artifactId> http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/spring-boot-dm/pom.xml ---------------------------------------------------------------------- diff --git a/spring-boot-dm/pom.xml b/spring-boot-dm/pom.xml index 93318e8..51d1f50 100644 --- a/spring-boot-dm/pom.xml +++ b/spring-boot-dm/pom.xml @@ -41,19 +41,12 @@ <spring-boot-version>1.4.0.RELEASE</spring-boot-version> <!-- The following dependencies should be aligned with the ones in standard camel parent --> - <activemq-version>5.14.0</activemq-version> <avro-version>1.8.1</avro-version> - <caffeine-version>2.3.3</caffeine-version> - <cassandra-driver-version>3.1.0</cassandra-driver-version> <cassandra-driver-guava-version>18.0</cassandra-driver-guava-version> <jackson-version>1.9.12</jackson-version> - <htmlunit-version>2.22</htmlunit-version> - <log4j2-version>2.6.2</log4j2-version> <egit-github-core-version>2.1.5</egit-github-core-version> <google-guava-version>19.0</google-guava-version> - <geronimo-jms-spec-version>1.1.1</geronimo-jms-spec-version> - <geronimo-jpa2-spec-version>1.1</geronimo-jpa2-spec-version> <lucene3-version>3.6.0</lucene3-version> <scala-version>2.11.7</scala-version> <scalaxml-version>1.0.4</scalaxml-version> @@ -69,14 +62,17 @@ <cassandra-netty-version-testing>4.0.37.Final</cassandra-netty-version-testing> <!-- 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) --> - <commons-beanutils-version>1.9.2</commons-beanutils-version> - <hibernate-version>5.0.9.Final</hibernate-version> - <jackson2-version>2.7.6</jackson2-version> + <jackson2-version>2.8.1</jackson2-version> <jetty9-version>9.3.11.v20160721</jetty9-version> <jetty-version>${jetty9-version}</jetty-version> - <jetty-jsp-version>2.2.0.v201112011158</jetty-jsp-version> <jna-version>4.2.2</jna-version> + <htmlunit-version>2.21</htmlunit-version> + <log4j2-version>2.6.2</log4j2-version> <slf4j-version>1.7.21</slf4j-version> + <spring-version>4.3.2.RELEASE</spring-version> + <spring-data-releasetrain-version>Hopper-SR2</spring-data-releasetrain-version> + <spring-integration-version>4.3.1.RELEASE</spring-integration-version> + <spring-security-version>4.1.1.RELEASE</spring-security-version> </properties> <build> http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/pom.xml ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/pom.xml b/tests/camel-itest-spring-boot/pom.xml index bec1d65..8f64e68 100644 --- a/tests/camel-itest-spring-boot/pom.xml +++ b/tests/camel-itest-spring-boot/pom.xml @@ -63,6 +63,25 @@ <!-- Test dependencies --> <dependency> + <groupId>org.eclipse.aether</groupId> + <artifactId>aether-impl</artifactId> + <version>${aether-version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.aether</groupId> + <artifactId>aether-transport-file</artifactId> + <version>${aether-version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.aether</groupId> + <artifactId>aether-transport-http</artifactId> + <version>${aether-version}</version> + <scope>test</scope> + </dependency> + + <dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> <version>${arquillian-version}</version> @@ -150,55 +169,6 @@ <rerunFailingTestsCount>1</rerunFailingTestsCount> <includes> <include>**/*Test.java</include> - - <!-- Modules to verify --> - - <!--<include>org.apache.camel.itest.springboot.CamelAhcTest</include> fail--> - <!--<include>org.apache.camel.itest.springboot.CamelApnsTest</include> fail--> - - - <!--<include>org.apache.camel.itest.springboot.CamelCacheTest</include> 1--> - <!--<include>org.apache.camel.itest.springboot.CamelConsulTest</include> 5--> - <!--<include>org.apache.camel.itest.springboot.CamelHttp4Test</include> 1--> - <!--<include>org.apache.camel.itest.springboot.CamelIbatisTest</include> 32--> - <!--<include>org.apache.camel.itest.springboot.CamelJgroupsTest</include> 6--> - <!--<include>org.apache.camel.itest.springboot.CamelJibxTest</include> 6--> - <!--<include>org.apache.camel.itest.springboot.CamelJpaTest</include> 5/56--> - <!--<include>org.apache.camel.itest.springboot.CamelMailTest</include> 1--> - <!--<include>org.apache.camel.itest.springboot.CamelMybatisTest</include> 30--> - <!--<include>org.apache.camel.itest.springboot.CamelQuartzTest</include> 7--> - - <!--<include>org.apache.camel.itest.springboot.CamelRestletTest</include> 3--> - - - - <!--<include>org.apache.camel.itest.springboot.CamelSparkRestTest</include> 23/23--> - - <!--<include>org.apache.camel.itest.springboot.CamelSpringBootTest</include> XX CHECK--> - - <!--<include>org.apache.camel.itest.springboot.CamelSpringTest</include> 30/1085--> - - <!--<include>org.apache.camel.itest.springboot.CamelSwaggerJavaTest</include> 1 -> org.apache.camel.tools.apt.helper.CollectionStringBuffer--> - - <!--<include>org.apache.camel.itest.springboot.CamelUndertowTest</include> 1 -> org.apache.camel.tools.apt.helper.CollectionStringBuffer--> - - - <!--<include>org.apache.camel.itest.springboot.CamelZipkinTest</include> 1 CHECK --> - - <!-- TBC --> - <!--<include>**/*CamelMongodbTest.java</include>--> - <!--<include>**/*CamelMongodbGridfsTest.java</include>--> - <!--<include>**/*Netty*Test.java</include>--> - - - - - <!-- OK --> - <!--<include>org.apache.camel.itest.springboot.CamelScriptTest</include> 17/44 OK . Test framework problem with JavaScript--> - - <!--<include>org.apache.camel.itest.springboot.CamelServletTest</include> 1 OK . Excluded arquillian test --> - - </includes> <systemProperties> <!-- Test configuration --> @@ -215,7 +185,7 @@ </property> <property> <name>itest.springboot.includeTestDependencies</name> - <value>true</value> + <value>false</value> </property> <property> <name>itest.springboot.mavenOfflineResolution</name> http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfig.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfig.java b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfig.java index 516b49c..c4d332b 100644 --- a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfig.java +++ b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfig.java @@ -69,6 +69,8 @@ public class ITestConfig implements Serializable { private Set<String> ignoreLibraryMismatch; + private Map<String, String> testLibraryVersions; + public ITestConfig() { } @@ -240,6 +242,14 @@ public class ITestConfig implements Serializable { this.ignoreLibraryMismatch = ignoreLibraryMismatch; } + public Map<String, String> getTestLibraryVersions() { + return testLibraryVersions; + } + + public void setTestLibraryVersions(Map<String, String> testLibraryVersions) { + this.testLibraryVersions = testLibraryVersions; + } + @Override public String toString() { final StringBuilder sb = new StringBuilder("ITestConfig{"); @@ -264,6 +274,7 @@ public class ITestConfig implements Serializable { sb.append(", systemProperties=").append(systemProperties); sb.append(", useCustomLog=").append(useCustomLog); sb.append(", ignoreLibraryMismatch=").append(ignoreLibraryMismatch); + sb.append(", testLibraryVersions=").append(testLibraryVersions); sb.append('}'); return sb.toString(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java index 960af66..fbb94e7 100644 --- a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java +++ b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java @@ -148,6 +148,14 @@ public class ITestConfigBuilder { return this; } + public ITestConfigBuilder testLibraryVersion(String groupIdArtifactId, String version) { + if (config.getTestLibraryVersions() == null) { + config.setTestLibraryVersions(new HashMap<>()); + } + config.getTestLibraryVersions().put(groupIdArtifactId, version); + return this; + } + public ITestConfig build() { // Checking conditions @@ -232,6 +240,10 @@ public class ITestConfigBuilder { config.setIgnoreLibraryMismatch(new HashSet<>()); } + if (config.getTestLibraryVersions() == null) { + config.setTestLibraryVersions(new HashMap<>()); + } + return config; } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/command/UnitTestCommand.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/command/UnitTestCommand.java b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/command/UnitTestCommand.java index 82ccfc2..f4ea534 100644 --- a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/command/UnitTestCommand.java +++ b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/command/UnitTestCommand.java @@ -94,7 +94,7 @@ public class UnitTestCommand extends AbstractTestCommand implements Command { logger.info("Found admissible test class: {}", cn); classes.add(clazz); } - } catch(Throwable t) { + } catch (Throwable t) { logger.warn("Test class {} has thrown an exception during initialization", cn); logger.debug("Exception for test cass " + cn + " is:", t); } @@ -112,8 +112,9 @@ public class UnitTestCommand extends AbstractTestCommand implements Command { }); Result result = runner.run(classes.toArray(new Class[]{})); - logger.info("Success: " + result.wasSuccessful() + " - Test Run: " + result.getRunCount() + " - Failures: " + result.getFailureCount() + " - Ignored Tests: " + result - .getIgnoreCount()); + logger.info(config.getModuleName() + " unit tests. " + + "Success: " + result.wasSuccessful() + " - Test Run: " + result.getRunCount() + " - Failures: " + result.getFailureCount() + + " - Ignored Tests: " + result.getIgnoreCount()); for (Failure f : result.getFailures()) { http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBamTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBamTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBamTest.java index ff257c2..cbd8551 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBamTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelBamTest.java @@ -38,7 +38,6 @@ public class CamelBamTest extends AbstractSpringBootTestSupport { .module(inferModuleName(CamelBamTest.class)) .resource("components/bam-persistence.xml", "META-INF/persistence.xml") .resource("components/bam-spring.xml", "META-INF/spring/spring.xml") - .dependency("org.hibernate:hibernate-entitymanager:" + DependencyResolver.resolveSpringBootParentProperty("${hibernate-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIbatisTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIbatisTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIbatisTest.java deleted file mode 100644 index da96353..0000000 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIbatisTest.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * 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. - */ -package org.apache.camel.itest.springboot; - -import org.apache.camel.itest.springboot.util.ArquillianPackager; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.shrinkwrap.api.Archive; -import org.junit.Test; -import org.junit.runner.RunWith; - - -@RunWith(Arquillian.class) -public class CamelIbatisTest extends AbstractSpringBootTestSupport { - - @Deployment - public static Archive<?> createSpringBootPackage() throws Exception { - return ArquillianPackager.springBootPackage(createTestConfig()); - } - - public static ITestConfig createTestConfig() { - return new ITestConfigBuilder() - .module(inferModuleName(CamelIbatisTest.class)) - .resource("components/ibatis-SqlMapConfig.xml", "SqlMapConfig.xml") - .build(); - } - - @Test - public void componentTests() throws Exception { - this.runComponentTest(config); - this.runModuleUnitTestsIfEnabled(config); - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIgniteTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIgniteTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIgniteTest.java index ee65750..0eb4ea6 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIgniteTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelIgniteTest.java @@ -17,6 +17,7 @@ package org.apache.camel.itest.springboot; import org.apache.camel.itest.springboot.util.ArquillianPackager; +import org.apache.camel.itest.springboot.util.DependencyResolver; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; @@ -36,6 +37,7 @@ public class CamelIgniteTest extends AbstractSpringBootTestSupport { return new ITestConfigBuilder() .module(inferModuleName(CamelIgniteTest.class)) .unitTestExclusionPattern(".*(\\.integration\\..*|IntegrationTest$|AbstractIgniteTest$)") + .testLibraryVersion("com.google.guava:guava", DependencyResolver.resolveCamelParentProperty("${google-guava-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfinispanTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfinispanTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfinispanTest.java index 848ba70..8b0d368 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfinispanTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelInfinispanTest.java @@ -17,6 +17,7 @@ package org.apache.camel.itest.springboot; import org.apache.camel.itest.springboot.util.ArquillianPackager; +import org.apache.camel.itest.springboot.util.DependencyResolver; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; @@ -36,7 +37,8 @@ public class CamelInfinispanTest extends AbstractSpringBootTestSupport { return new ITestConfigBuilder() .module(inferModuleName(CamelInfinispanTest.class)) .disableJmx("org.infinispan:*") - // arquillian fails, bu the tests pass + // arquillian fails, but the tests pass + .dependency("org.apache.logging.log4j:log4j-jcl:" + DependencyResolver.resolveParentProperty("${log4j2-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelJcloudsTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelJcloudsTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelJcloudsTest.java deleted file mode 100644 index da82c81..0000000 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelJcloudsTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/** - * 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. - */ -package org.apache.camel.itest.springboot; - -import org.apache.camel.itest.springboot.util.ArquillianPackager; -import org.apache.camel.itest.springboot.util.DependencyResolver; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.shrinkwrap.api.Archive; -import org.junit.Test; -import org.junit.runner.RunWith; - - -@RunWith(Arquillian.class) -public class CamelJcloudsTest extends AbstractSpringBootTestSupport { - - @Deployment - public static Archive<?> createSpringBootPackage() throws Exception { - return ArquillianPackager.springBootPackage(createTestConfig()); - } - - public static ITestConfig createTestConfig() { - return new ITestConfigBuilder() - .module(inferModuleName(CamelJcloudsTest.class)) - //.dependency(DependencyResolver.withVersion("com.google.inject:guice")) - //.dependency(DependencyResolver.withVersion("com.google.guava:guava")) - .build(); - } - - @Test - public void componentTests() throws Exception { - this.runComponentTest(config); - this.runModuleUnitTestsIfEnabled(config); - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelQuartzTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelQuartzTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelQuartzTest.java deleted file mode 100644 index 1df01cc..0000000 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelQuartzTest.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - * 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. - */ -package org.apache.camel.itest.springboot; - -import org.apache.camel.itest.springboot.util.ArquillianPackager; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.shrinkwrap.api.Archive; -import org.junit.Test; -import org.junit.runner.RunWith; - - -@RunWith(Arquillian.class) -public class CamelQuartzTest extends AbstractSpringBootTestSupport { - - @Deployment - public static Archive<?> createSpringBootPackage() throws Exception { - return ArquillianPackager.springBootPackage(createTestConfig()); - } - - public static ITestConfig createTestConfig() { - return new ITestConfigBuilder() - .module(inferModuleName(CamelQuartzTest.class)) - .unitTestExclusionPattern(".*(\\.integration\\..*|IntegrationTest$|BaseQuartzTest$|QuartzTwoCamelContextSameNameClashTest$)") // unrelated test - .build(); - } - - @Test - public void componentTests() throws Exception { - this.runComponentTest(config); - this.runModuleUnitTestsIfEnabled(config); - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRestletTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRestletTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRestletTest.java index cb21b04..36e30c0 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRestletTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelRestletTest.java @@ -36,7 +36,8 @@ public class CamelRestletTest extends AbstractSpringBootTestSupport { public static ITestConfig createTestConfig() { return new ITestConfigBuilder() .module(inferModuleName(CamelRestletTest.class)) - //.dependency(DependencyResolver.withVersion("org.hibernate:hibernate-validator")) + .unitTestExclusionPattern(".*(\\.integration\\..*|IntegrationTest$|RestletConfigurationTest$)") + .testLibraryVersion("com.google.guava:guava", DependencyResolver.resolveCamelParentProperty("${google-guava-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSparkRestTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSparkRestTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSparkRestTest.java deleted file mode 100644 index 02cda23..0000000 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSparkRestTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 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. - */ -package org.apache.camel.itest.springboot; - -import org.apache.camel.itest.springboot.util.ArquillianPackager; -import org.apache.camel.itest.springboot.util.DependencyResolver; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.shrinkwrap.api.Archive; -import org.junit.Test; -import org.junit.runner.RunWith; - - -@RunWith(Arquillian.class) -public class CamelSparkRestTest extends AbstractSpringBootTestSupport { - - @Deployment - public static Archive<?> createSpringBootPackage() throws Exception { - return ArquillianPackager.springBootPackage(createTestConfig()); - } - - public static ITestConfig createTestConfig() { - return new ITestConfigBuilder() - .module(inferModuleName(CamelSparkRestTest.class)) - //.dependency(DependencyResolver.withVersion("org.hibernate:hibernate-validator")) - .build(); - } - - @Test - public void componentTests() throws Exception { - this.runComponentTest(config); - this.runModuleUnitTestsIfEnabled(config); - } - - -} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSpringTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSpringTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSpringTest.java index 14502c0..959d189 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSpringTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelSpringTest.java @@ -17,6 +17,7 @@ package org.apache.camel.itest.springboot; import org.apache.camel.itest.springboot.util.ArquillianPackager; +import org.apache.camel.itest.springboot.util.DependencyResolver; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; @@ -36,6 +37,7 @@ public class CamelSpringTest extends AbstractSpringBootTestSupport { return new ITestConfigBuilder() .module(inferModuleName(CamelSpringTest.class)) .unitTestExclusionPattern(".*(\\.integration\\..*|IntegrationTest$|ManagedRefEndpointTest$|SpringLogProcessorWithProvidedLoggerTest$|SpringManagedCamelContextTest$)") + .testLibraryVersion("com.google.guava:guava", DependencyResolver.resolveCamelParentProperty("${google-guava-version}")) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/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 6986d03..6342204 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 @@ -117,11 +117,11 @@ public final class ArquillianPackager { } if (config.getUseCustomLog()) { - ark = ark.addAsResource("spring-logback.xml", CLASSES_FOLDER + "/spring-logback.xml"); + ark = ark.addAsResource("spring-logback.xml", "/spring-logback.xml"); } for (Map.Entry<String, String> res : config.getResources().entrySet()) { - ark = ark.addAsResource(res.getKey(), CLASSES_FOLDER + "/" + res.getValue()); + ark = ark.addAsResource(res.getKey(), "/" + res.getValue()); } String version = System.getProperty("version_org.apache.camel:camel-core"); @@ -196,43 +196,44 @@ public final class ArquillianPackager { List<String> cleanTestProvidedDependenciesXml = new LinkedList<>(); for (String depXml : testProvidedDependenciesXml) { if (validTestDependency(config, depXml, commonExclusions)) { + depXml = useBOMVersionIfPresent(config, depXml); depXml = enforceExclusions(config, depXml, commonExclusions); depXml = switchToStarterIfPresent(config, depXml); cleanTestProvidedDependenciesXml.add(depXml); } } - List<MavenResolvedArtifact> testDependencies = new LinkedList<>(); - if (!cleanTestProvidedDependenciesXml.isEmpty()) { +// List<MavenResolvedArtifact> testDependencies = new LinkedList<>(); +// if (!cleanTestProvidedDependenciesXml.isEmpty()) { +// +// File testProvidedResolverPom = createResolverPom(config, cleanTestProvidedDependenciesXml); +// +// testDependencies.addAll(Arrays.asList(resolver(config) +// .loadPomFromFile(testProvidedResolverPom) +// .importDependencies(scopes.toArray(new ScopeType[0])) +// .resolve() +// .withTransitivity() +// .asResolvedArtifact())); +// } - File testProvidedResolverPom = createResolverPom(config, cleanTestProvidedDependenciesXml); + File moduleSpringBootPom = createUserPom(config, cleanTestProvidedDependenciesXml); - testDependencies.addAll(Arrays.asList(resolver(config) - .loadPomFromFile(testProvidedResolverPom) - .importDependencies(scopes.toArray(new ScopeType[0])) - .resolve() - .withTransitivity() - .asResolvedArtifact())); - } - - File moduleSpringBootPom = createUserPom(config); - -// List<ScopeType> resolvedScopes = new LinkedList<>(); -// resolvedScopes.add(ScopeType.COMPILE); -// resolvedScopes.add(ScopeType.RUNTIME); -// resolvedScopes.addAll(scopes); + List<ScopeType> resolvedScopes = new LinkedList<>(); + resolvedScopes.add(ScopeType.COMPILE); + resolvedScopes.add(ScopeType.RUNTIME); + resolvedScopes.addAll(scopes); List<MavenResolvedArtifact> runtimeDependencies = new LinkedList<>(); runtimeDependencies.addAll(Arrays.asList(resolver(config) .loadPomFromFile(moduleSpringBootPom) - .importRuntimeDependencies() + .importDependencies(resolvedScopes.toArray(new ScopeType[0])) .addDependencies(additionalDependencies) .resolve() .withTransitivity() .asResolvedArtifact())); - List<MavenResolvedArtifact> dependencyArtifacts = merge(config, runtimeDependencies, testDependencies); + List<MavenResolvedArtifact> dependencyArtifacts = runtimeDependencies; //merge(config, runtimeDependencies, testDependencies); lookForVersionMismatch(config, dependencyArtifacts); List<File> dependencies = new LinkedList<>(); @@ -307,13 +308,20 @@ public final class ArquillianPackager { ignore.add("org.apache.parquet"); ignore.add("org.apache.velocity"); ignore.add("org.apache.qpid:qpid-jms-client"); + ignore.add("org.ow2.asm"); // No problem ignore.add("org.codehaus.plexus"); ignore.add("org.jboss.arquillian.container"); + ignore.add("org.jboss:"); + ignore.add("org.hibernate:hibernate-validator"); // does not match with hibernate-core ignore.add("org.mortbay.jetty:servlet-api-2.5"); ignore.add("org.scala-lang:scala-compiler"); ignore.add("org.easytesting"); ignore.add("net.openhft"); + ignore.add("net.sourceforge.htmlunit:htmlunit-core-js"); // v 2.21 does not exist ignore.add("org.springframework.data"); + ignore.add("org.springframework.security:spring-security-jwt"); + ignore.add("org.springframework.social"); + ignore.add("org.webjars"); // No problem ignore.add("stax:stax-api"); ignore.add("xml-apis:xml-apis-ext"); @@ -443,10 +451,11 @@ public final class ArquillianPackager { return a.getCoordinate().getGroupId() + ":" + a.getCoordinate().getArtifactId() + ":" + a.getCoordinate().getType() + ":" + a.getCoordinate().getClassifier(); } - private static File createResolverPom(ITestConfig config, List<String> cleanTestProvidedDependencies) throws Exception { + + private static File createUserPom(ITestConfig config, List<String> cleanTestProvidedDependencies) throws Exception { String pom; - try (InputStream pomTemplate = ArquillianPackager.class.getResourceAsStream("/dependency-resolver-pom.xml")) { + try (InputStream pomTemplate = ArquillianPackager.class.getResourceAsStream("/application-pom.xml")) { pom = IOUtils.toString(pomTemplate); } @@ -473,36 +482,6 @@ public final class ArquillianPackager { pom = pom.replace("#{module}", config.getModuleName()); - File pomFile = new File(config.getModuleBasePath() + "/target/itest-spring-boot-dependency-resolver-pom.xml"); - try (FileWriter fw = new FileWriter(pomFile)) { - IOUtils.write(pom, fw); - } - - return pomFile; - } - - private static File createUserPom(ITestConfig config) 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.resolveParentProperty(property); - resolvedProperties.put(property, resolved); - } - - for (String property : resolvedProperties.keySet()) { - pom = pom.replace(property, resolvedProperties.get(property)); - } - - 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); @@ -585,6 +564,32 @@ public final class ArquillianPackager { return dependencyXml; } + private static String useBOMVersionIfPresent(ITestConfig config, String dependencyXml) { + + String groupId = textBetween(dependencyXml, "<groupId>", "</groupId>"); + String artifactId = textBetween(dependencyXml, "<artifactId>", "</artifactId>"); + + String bomVersion = config.getTestLibraryVersions().get(groupId + ":" + artifactId); + if (bomVersion == null) { + bomVersion = BOMResolver.getInstance().getBOMVersion(groupId, artifactId); + } + + if (bomVersion != null) { + if (dependencyXml.contains("<version>")) { + int from = dependencyXml.indexOf("<version>") + 9; + int to = dependencyXml.indexOf("</version>"); + + dependencyXml = dependencyXml.substring(0, from) + bomVersion + dependencyXml.substring(to); + } else { + String kw = "</artifactId>"; + int pos = dependencyXml.indexOf(kw) + kw.length(); + dependencyXml = dependencyXml.substring(0, pos) + "<version>" + bomVersion + "</version>" + dependencyXml.substring(pos); + } + } + + return dependencyXml; + } + private static String textBetween(String text, String start, String end) { int sp = text.indexOf(start); int rsp = sp + start.length(); http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/BOMResolver.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/BOMResolver.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/BOMResolver.java new file mode 100644 index 0000000..55e08af --- /dev/null +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/BOMResolver.java @@ -0,0 +1,166 @@ +/** + * 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. + */ +package org.apache.camel.itest.springboot.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.nio.file.Files; +import java.nio.file.attribute.BasicFileAttributes; +import java.nio.file.attribute.FileTime; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import org.apache.commons.io.FileUtils; +import org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.artifact.Artifact; +import org.eclipse.aether.artifact.DefaultArtifact; +import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; +import org.eclipse.aether.deployment.DeployRequest; +import org.eclipse.aether.graph.Dependency; +import org.eclipse.aether.impl.DefaultServiceLocator; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.RemoteRepository; +import org.eclipse.aether.resolution.ArtifactDescriptorRequest; +import org.eclipse.aether.resolution.ArtifactDescriptorResult; +import org.eclipse.aether.spi.connector.RepositoryConnectorFactory; +import org.eclipse.aether.spi.connector.transport.TransporterFactory; +import org.eclipse.aether.transport.file.FileTransporterFactory; +import org.eclipse.aether.transport.http.HttpTransporterFactory; + +import static org.apache.camel.itest.springboot.util.LocationUtils.camelRoot; + +public final class BOMResolver { + + private static final String LOCAL_REPO = "target/maven-aether-repo"; + + private static final File CACHE_FILE = LocationUtils.camelRoot("tests/camel-itest-spring-boot/target/bom-versions-cache"); + + private static final BOMResolver INSTANCE = new BOMResolver(); + + private Map<String, String> versions; + + @SuppressWarnings("unchecked") + private BOMResolver() { + try { + cleanupLocalRepo(); + + if (canUseCache()) { + try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(CACHE_FILE))) { + this.versions = (Map<String, String>) in.readObject(); + } + } else { + retrieveUpstreamBOMVersions(); + + CACHE_FILE.delete(); + try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(CACHE_FILE))) { + out.writeObject(versions); + } + } + + } catch (Exception e) { + throw new IllegalStateException("Cannot initialize the version resolver"); + } + + } + + private boolean canUseCache() throws IOException { + if (CACHE_FILE.exists()) { + BasicFileAttributes attr = Files.readAttributes(CACHE_FILE.toPath(), BasicFileAttributes.class); + FileTime fileTime = attr != null ? attr.creationTime() : null; + Long time = fileTime != null ? fileTime.toMillis() : null; + // Update the cache every day + return time != null && time.compareTo(System.currentTimeMillis() - 1000 * 60 * 60 * 24) > 0; + } + + return false; + } + + private void retrieveUpstreamBOMVersions() throws Exception { + RepositorySystem system = newRepositorySystem(); + DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); + LocalRepository localRepo = new LocalRepository(LOCAL_REPO); + session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); + + String camelVersion = DependencyResolver.resolveCamelParentProperty("${project.version}"); + + List<Artifact> neededArtifacts = new LinkedList<>(); + neededArtifacts.add(new DefaultArtifact("org.apache.camel:camel:pom:" + camelVersion).setFile(camelRoot("pom.xml"))); + neededArtifacts.add(new DefaultArtifact("org.apache.camel:camel-parent:pom:" + camelVersion).setFile(camelRoot("parent/pom.xml"))); + neededArtifacts.add(new DefaultArtifact("org.apache.camel:camel-spring-boot-dm:pom:" + camelVersion).setFile(camelRoot("spring-boot-dm/pom.xml"))); + neededArtifacts.add(new DefaultArtifact("org.apache.camel:camel-spring-boot-dependencies:pom:" + camelVersion).setFile(camelRoot("spring-boot-dm/camel-spring-boot-dependencies/pom.xml"))); + Artifact camelSpringBootParent = new DefaultArtifact("org.apache.camel:camel-starter-parent:pom:" + camelVersion).setFile(camelRoot("spring-boot-dm/camel-starter-parent/pom.xml")); + neededArtifacts.add(camelSpringBootParent); + + RemoteRepository localRepoDist = new RemoteRepository.Builder("org.apache.camel.itest.springboot", "default", new File(LOCAL_REPO).toURI().toString()).build(); + + for (Artifact artifact : neededArtifacts) { + DeployRequest deployRequest = new DeployRequest(); + deployRequest.addArtifact(artifact); + deployRequest.setRepository(localRepoDist); + + system.deploy(session, deployRequest); + } + + + RemoteRepository mavenCentral = new RemoteRepository.Builder("central", "default", "http://repo1.maven.org/maven2/").build(); + + ArtifactDescriptorRequest dReq = new ArtifactDescriptorRequest(camelSpringBootParent, Arrays.asList(localRepoDist, mavenCentral), null); + ArtifactDescriptorResult dRes = system.readArtifactDescriptor(session, dReq); + + this.versions = new TreeMap<>(); + for (Dependency dependency : dRes.getManagedDependencies()) { + Artifact a = dependency.getArtifact(); + String key = a.getGroupId() + ":" + a.getArtifactId(); + versions.put(key, dependency.getArtifact().getVersion()); + } + } + + public static BOMResolver getInstance() { + return INSTANCE; + } + + public String getBOMVersion(String groupId, String artifactId) { + return versions.get(groupId + ":" + artifactId); + } + + private void cleanupLocalRepo() throws IOException { + File f = new File(LOCAL_REPO); + if (f.exists()) { + FileUtils.deleteDirectory(f); + } + } + + private RepositorySystem newRepositorySystem() { + DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator(); + locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class); + locator.addService(TransporterFactory.class, FileTransporterFactory.class); + locator.addService(TransporterFactory.class, HttpTransporterFactory.class); + RepositorySystem system = locator.getService(RepositorySystem.class); + return system; + } + + +} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/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 b5f0036..c4b76f5 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 @@ -17,7 +17,6 @@ package org.apache.camel.itest.springboot.util; import java.io.File; -import java.io.IOException; import java.io.StringWriter; import java.util.LinkedList; import java.util.List; @@ -37,6 +36,8 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import static org.apache.camel.itest.springboot.util.LocationUtils.camelRoot; + /** * Resolves the currently used version of a library. Useful to run unit tests directly from the IDE, without passing additional parameters. * It resolves properties present in spring-boot and camel parent. @@ -146,28 +147,4 @@ public final class DependencyResolver { return value != null && !value.startsWith("$"); } - private static File camelRoot(String path) { - return new File(camelRoot(), path); - } - - private static File camelRoot() { - try { - File root = new File(".").getCanonicalFile(); - while (root != null) { - File[] names = root.listFiles(pathname -> pathname.getName().equals("components-starter")); - if (names != null && names.length == 1) { - break; - } - root = root.getParentFile(); - } - - if (root == null) { - throw new IllegalStateException("Cannot find Apache Camel project root directory"); - } - return root; - } catch (IOException e) { - throw new IllegalStateException("Error while getting directory", e); - } - } - } http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/LocationUtils.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/LocationUtils.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/LocationUtils.java new file mode 100644 index 0000000..ad23eec --- /dev/null +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/LocationUtils.java @@ -0,0 +1,51 @@ +/** + * 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. + */ +package org.apache.camel.itest.springboot.util; + +import java.io.File; +import java.io.IOException; + +public final class LocationUtils { + + private LocationUtils() { + } + + public static File camelRoot(String path) { + return new File(camelRoot(), path); + } + + public static File camelRoot() { + try { + File root = new File(".").getCanonicalFile(); + while (root != null) { + File[] names = root.listFiles(pathname -> pathname.getName().equals("components-starter")); + if (names != null && names.length == 1) { + break; + } + root = root.getParentFile(); + } + + if (root == null) { + throw new IllegalStateException("Cannot find Apache Camel project root directory"); + } + return root; + } catch (IOException e) { + throw new IllegalStateException("Error while getting directory", e); + } + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/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 74fa755..8dbc1be 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 @@ -30,8 +30,15 @@ <dependencyManagement> <dependencies> + <!-- The two BOMs --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-dependencies</artifactId> + <version>${spring-boot-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> <dependency> - <!-- Only the BOM --> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-dependencies</artifactId> <version>${project.version}</version> http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/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 f48cf62..0000000 --- a/tests/camel-itest-spring-boot/src/test/resources/dependency-resolver-pom.xml +++ /dev/null @@ -1,75 +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>${project.version}</version> - - <name>Spring-Boot Dependency Resolver</name> - <description>This POM is used to resolve test and provided dependencies required in integration tests</description> - - <dependencyManagement> - <dependencies> - - <dependency> - <!-- BOM first --> - <groupId>org.apache.camel</groupId> - <artifactId>camel-spring-boot-dependencies</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-starter-parent</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - <dependency> - <!-- Added as fallback for test and provided dependencies --> - <groupId>org.apache.camel</groupId> - <artifactId>camel-parent</artifactId> - <version>${project.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - - </dependencies> - </dependencyManagement> - - <dependencies> - - <!-- Adding the starter as provided dependency --> - <dependency> - <groupId>org.apache.camel</groupId> - <artifactId>#{module}-starter</artifactId> - <scope>provided</scope> - </dependency> - - <!-- DEPENDENCIES --> - - </dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/camel/blob/b1dfcabe/tooling/archetypes/camel-archetype-spring-boot/src/main/resources/archetype-resources/pom.xml ---------------------------------------------------------------------- diff --git a/tooling/archetypes/camel-archetype-spring-boot/src/main/resources/archetype-resources/pom.xml b/tooling/archetypes/camel-archetype-spring-boot/src/main/resources/archetype-resources/pom.xml index eb61f14..b3d28f4 100755 --- a/tooling/archetypes/camel-archetype-spring-boot/src/main/resources/archetype-resources/pom.xml +++ b/tooling/archetypes/camel-archetype-spring-boot/src/main/resources/archetype-resources/pom.xml @@ -37,6 +37,13 @@ <dependencyManagement> <dependencies> <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-dependencies</artifactId> + <version>${spring.boot-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-dependencies</artifactId> <version>${camel-version}</version>
