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>

Reply via email to