diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 00000000000..05c4a686a04
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,40 @@
+version: 2
+jobs:
+  build:
+    working_directory: ~/dd-trace-java
+    docker:
+      - image: circleci/openjdk:8-jdk
+
+    steps:
+      - checkout
+
+      - restore_cache:
+          key: dd-trace-java-{{ checksum "build.gradle" }}-{{ checksum "dd-java-agent/build.gradle" }}-{{ checksum "dd-trace/build.gradle" }}
+
+      - run:
+          name: Run Tests
+          command: ./gradlew clean shadowJar check
+
+      - save_cache:
+          paths:
+            - ~/.gradle
+          key: dd-trace-java-{{ checksum "build.gradle" }}-{{ checksum "dd-java-agent/build.gradle" }}-{{ checksum "dd-trace/build.gradle" }}
+
+      - store_test_results:
+          path: dd-java-agent/build/test-results
+      - store_test_results:
+          path: dd-java-agent-ittests/build/test-results
+      - store_test_results:
+          path: dd-trace/build/test-results
+
+      - store_artifacts:
+          path: dd-java-agent/build/reports
+      - store_artifacts:
+          path: dd-java-agent-ittests/build/reports
+      - store_artifacts:
+          path: dd-trace/build/reports
+
+      - store_artifacts:
+          path: dd-java-agent/build/libs
+      - store_artifacts:
+          path: dd-trace/build/libs
diff --git a/.cirleci/config.yml b/.cirleci/config.yml
deleted file mode 100644
index 80d24657a20..00000000000
--- a/.cirleci/config.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-version: 2
-jobs:
-  build:
-
-    working_directory: ~/dd-trace-java
-
-    docker:
-      - image: circleci/openjdk:8-jdk
-
-    steps:
-
-      - checkout
-
-      - restore_cache:
-          key: 'dd-trace-java-{{ checksum "pom.xml" }}-{{ checksum "dd-java-agent/pom.xml" }}-{{ checksum "dd-trace/pom.xml" }}'
-
-      - run: mvn -q install -DskipTests dependency:go-offline
-
-      - save_cache:
-          paths:
-            - ~/.m2
-          key: 'dd-trace-java-{{ checksum "pom.xml" }}-{{ checksum "dd-java-agent/pom.xml" }}-{{ checksum "dd-trace/pom.xml" }}'
-
-      - run: mvn package
-
-      - store_test_results:
-          path: dd-java-agent/target/surefire-reports
-      - store_test_results:
-          path: dd-java-agent-ittests/target/surefire-reports
-      - store_test_results:
-          path: dd-trace/target/surefire-reports
-
-      - store_artifacts:
-          path: dd-java-agent/target/dd-java-agent.jar
diff --git a/.gitignore b/.gitignore
index 7b8ece855c8..b026398146b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@ target
 
 # Gradle #
 #########
+!/gradle/wrapper/*
 /.gradle
 */build/
 dd-trace-examples/**/build/
diff --git a/build.gradle b/build.gradle
index f49372ea6fe..f9bd04a3b91 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,7 +12,7 @@ subprojects {
 
     task packageSources(type: Jar) {
         classifier = 'sources'
-        from sourceSets.main.allSource\
+        from sourceSets.main.allSource
     }
     artifacts.archives packageSources
     repositories {
diff --git a/circle.yml b/circle.yml
deleted file mode 100644
index 04e15dd4607..00000000000
--- a/circle.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-machine:
-  java:
-    version: openjdk8
-
-dependencies:
-  override:
-    - mvn --fail-never -q dependency:go-offline || true
-
-dependencies:
-  override:
-    - mvn -q -DskipTests clean install dependency:resolve-plugins dependency:go-offline
-
-test:
-  override:
-    - mvn test
-  post:
-    - mkdir -p $CIRCLE_TEST_REPORTS/junit/
-    - find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
diff --git a/dd-java-agent-ittests/build.gradle b/dd-java-agent-ittests/build.gradle
index 0207d986ee7..e9bf71af788 100644
--- a/dd-java-agent-ittests/build.gradle
+++ b/dd-java-agent-ittests/build.gradle
@@ -31,8 +31,9 @@ dependencies {
 }
 
 test {
+    jvmArgs "-Ddd.trace.configurationFile=${project.buildDir}/resources/test/dd-trace.yaml"
     jvmArgs "-javaagent:${project(':dd-java-agent').buildDir}/libs/dd-java-agent-${project.version}-shadow.jar"
     jvmArgs "-Dorg.jboss.byteman.verbose=true"
 }
 
-test.dependsOn project(':dd-java-agent').shadowJar
\ No newline at end of file
+test.dependsOn project(':dd-java-agent').shadowJar
diff --git a/dd-java-agent-ittests/pom.xml b/dd-java-agent-ittests/pom.xml
deleted file mode 100644
index 255b7527128..00000000000
--- a/dd-java-agent-ittests/pom.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-
-    4.0.0
-
-    
-        com.datadoghq
-        dd-trace-java
-        0.1.2-SNAPSHOT
-    
-
-    dd-java-agent-ittests
-    dd-java-agent-ittests
-    Datadog Java Agent integration tests
-    https://github.com/datadog/dd-trace-java
-    jar
-
-    
-        true
-        0.1.2-SNAPSHOT
-        
-        true
-    
-
-    
-
-        
-        
-            com.datadoghq
-            dd-java-agent
-            ${dd-trace.version}
-            test
-        
-        
-        
-            com.google.auto.service
-            auto-service
-            1.0-rc3
-            compile
-        
-
-
-        
-        
-            ch.qos.logback
-            logback-classic
-            1.2.3
-            test
-        
-        
-            io.opentracing
-            opentracing-mock
-            ${opentracing.version}
-            test
-        
-        
-            junit
-            junit
-            4.12
-            test
-        
-        
-            org.assertj
-            assertj-core
-            3.6.2
-            test
-        
-        
-            org.mockito
-            mockito-core
-            2.7.22
-            test
-        
-
-        
-        
-            org.mongodb
-            mongo-java-driver
-            3.4.2
-            test
-        
-
-        
-        
-            org.eclipse.jetty
-            jetty-server
-            9.4.1.v20170120
-            test
-        
-        
-            org.eclipse.jetty
-            jetty-servlet
-            9.4.1.v20170120
-            test
-        
-
-        
-        
-            org.apache.tomcat.embed
-            tomcat-embed-core
-            8.0.41
-            test
-        
-        
-            org.apache.tomcat.embed
-            tomcat-embed-jasper
-            8.0.41
-            test
-        
-
-        
-        
-            com.amazonaws
-            aws-java-sdk
-            1.11.119
-            test
-            
-                
-                    org.apache.httpcomponents
-                    httpclient
-                
-            
-        
-
-        
-        
-            com.squareup.okhttp3
-            okhttp
-            3.6.0
-            test
-        
-
-        
-        
-            org.apache.httpcomponents
-            httpclient
-            4.5.3
-            test
-        
-
-        
-        
-            com.datastax.cassandra
-            cassandra-driver-core
-            3.2.0
-            
-                
-                
-                    io.netty
-                    netty-handler
-                
-            
-            test
-
-        
-        
-            org.cassandraunit
-            cassandra-unit
-            3.1.3.2
-            test
-            
-                
-                
-                    io.netty
-                    netty-handler
-                
-            
-        
-
-        
-        
-            org.elasticsearch.client
-            transport
-            5.4.1
-            test
-        
-        
-            org.apache.logging.log4j
-            log4j-api
-            2.8.2
-            test
-        
-        
-            org.apache.logging.log4j
-            log4j-core
-            2.8.2
-            test
-        
-
-
-        
-        
-            javax.jms
-            javax.jms-api
-            2.0.1
-            test
-        
-        
-            org.apache.activemq.tooling
-            activemq-junit
-            5.14.5
-            test
-        
-        
-            org.apache.activemq
-            activemq-broker
-            5.14.5
-            test
-        
-
-
-    
-    
-        
-            
-                org.apache.maven.plugins
-                maven-surefire-plugin
-                2.19
-                
-                    
-                        -javaagent:${M2_REPO}/com/datadoghq/dd-java-agent/${project.version}/dd-java-agent-${project.version}.jar
-                        -Dorg.jboss.byteman.verbose=true
-                    
-                    ${skipTests}
-                
-            
-            
-                org.apache.maven.plugins
-                maven-shade-plugin
-                2.4.3
-                
-                    
-                        package
-                        
-                            shade
-                        
-                        
-                            
-                                
-                                    otarules.btm
-                                
-                            
-                        
-                    
-                
-            
-        
-    
-
-
\ No newline at end of file
diff --git a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/integration/AAgentIntegration.java b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/integration/AAgentIntegration.java
index bef110b9310..1f4ede85b90 100644
--- a/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/integration/AAgentIntegration.java
+++ b/dd-java-agent-ittests/src/test/java/com/datadoghq/trace/agent/integration/AAgentIntegration.java
@@ -1,5 +1,6 @@
 package com.datadoghq.trace.agent.integration;
 
+import java.lang.reflect.Field;
 import org.junit.Before;
 
 import com.datadoghq.trace.DDTracer;
@@ -14,10 +15,14 @@ public class AAgentIntegration {
 
 	@Before
 	public void beforeTest() throws Exception {
+
 		try{
 			GlobalTracer.register(tracer);
 		}catch(Exception e){
-			//DO NOTHING IF ALREADY REGISTERED
+			// Force it using reflexion, I'm proud of this solution
+			final Field field = GlobalTracer.class.getDeclaredField("tracer");
+			field.setAccessible(true);
+			field.set(null, tracer);
 		}
 		writer.start();
 	}
diff --git a/dd-java-agent/build.gradle b/dd-java-agent/build.gradle
index 51c2cdb5942..a661cfd5d8e 100644
--- a/dd-java-agent/build.gradle
+++ b/dd-java-agent/build.gradle
@@ -1,10 +1,8 @@
 plugins {
-    id 'application'
     id "com.github.johnrengelman.shadow" version "2.0.1"
 }
 
 description = 'dd-java-agent'
-mainClassName = "com.datadoghq.trace.agent.AnnotationsTracingAgent"
 
 dependencies {
     compile project(':dd-trace')
@@ -14,7 +12,6 @@ dependencies {
     compile group: 'org.reflections', name: 'reflections', version: '0.9.11'
     compile group: 'com.google.auto.service', name: 'auto-service', version: '1.0-rc3'
 
-
     compile(group: 'io.opentracing.contrib', name: 'opentracing-web-servlet-filter', version: '0.0.9') {
         exclude(module: 'jetty-servlet')
     }
@@ -46,7 +43,7 @@ dependencies {
     testCompile group: 'junit', name: 'junit', version: '4.12'
     testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'
     testCompile group: 'org.mockito', name: 'mockito-core', version: '2.7.22'
-    testCompile group: 'ch.qos.logback', name: 'logback-classic' , version: '1.2.3'
+    testCompile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
     compileOnly group: 'org.eclipse.jetty', name: 'jetty-servlet', version: '9.3.6.v20151106'
     compileOnly group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '9.0.0.M1'
     compileOnly group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
@@ -81,7 +78,24 @@ shadowJar {
 
 //    mergeServiceFiles()
 
-    relocate('', 'dd.deps.') {
-        exclude '%ant[META-INF/**/*]'
-    }
+    // Various tests fail when these are uncommented:
+//    relocate 'ch.qos.logback', 'dd.deps.ch.qos.logback'
+//    relocate 'com.google', 'dd.deps.com.google'
+//    relocate 'org.jboss.byteman', 'dd.deps.org.jboss.byteman'
+//    relocate 'org.slf4j', 'dd.deps.org.slf4j'
+
+    relocate 'com.fasterxml', 'dd.deps.com.fasterxml'
+    relocate 'javassist', 'dd.deps.javassist'
+    relocate 'org.reflections', 'dd.deps.org.reflections'
+    relocate 'org.yaml', 'dd.deps.org.yaml'
+
+    //Exclude Java 9 compiled classes:
+    exclude 'org/jboss/byteman/agent/JigsawAccessEnablerGenerator.class'
+    exclude 'org/jboss/byteman/agent/JigsawAccessManager$1.class'
+    exclude 'org/jboss/byteman/agent/JigsawAccessManager.class'
+    exclude 'org/jboss/byteman/layer/LayerFactory.class'
+    exclude 'org/jboss/byteman/layer/LayerModuleFinder$1.class'
+    exclude 'org/jboss/byteman/layer/LayerModuleFinder.class'
+    exclude 'org/jboss/byteman/layer/LayerModuleReader.class'
+    exclude 'org/jboss/byteman/layer/LayerModuleReference.class'
 }
diff --git a/dd-java-agent/pom.xml b/dd-java-agent/pom.xml
deleted file mode 100644
index 09d21ad43fa..00000000000
--- a/dd-java-agent/pom.xml
+++ /dev/null
@@ -1,395 +0,0 @@
-
-
-
-    4.0.0
-
-    
-        com.datadoghq
-        dd-trace-java
-        0.1.2-SNAPSHOT
-    
-
-    dd-java-agent
-    dd-java-agent
-    Datadog Java Agent for tracing
-    https://github.com/datadog/dd-trace-java
-    jar
-
-
-    
-        
-        0.1.2-SNAPSHOT
-        
-        0.1.0
-        0.0.9
-        0.0.2
-        0.0.5
-        0.0.2
-        0.0.2
-        0.0.2
-        0.0.2
-        0.0.2
-        0.0.3
-        
-        1.7
-    
-
-    
-        
-        
-            com.datadoghq
-            dd-trace
-            ${dd-trace.version}
-        
-        
-            com.datadoghq
-            dd-trace-annotations
-            ${dd-trace.version}
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-agent
-            ${ot.agent.version}
-        
-
-        
-        
-            org.reflections
-            reflections
-            0.9.11
-        
-        
-            com.google.auto.service
-            auto-service
-            1.0-rc3
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-web-servlet-filter
-            ${ot.contrib.webservlet.version}
-            
-                
-                    org.eclipse.jetty
-                    jetty-servlet
-                
-            
-        
-        
-            org.eclipse.jetty
-            jetty-servlet
-            9.3.6.v20151106
-            provided
-        
-        
-            org.apache.tomcat.embed
-            tomcat-embed-core
-            9.0.0.M1
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-mongo-driver
-            ${ot.contrib.mongo.version}
-            
-                
-                    org.mongodb
-                    mongodb-driver-async
-                
-                
-                    org.mongodb
-                    mongo-java-driver
-                
-            
-        
-        
-            org.mongodb
-            mongo-java-driver
-            3.4.2
-            provided
-        
-        
-            org.mongodb
-            mongodb-driver-async
-            3.4.2
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-jdbc
-            ${ot.contrib.jdbc.version}
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-okhttp3
-            ${ot.contrib.okhttp.version}
-            
-                
-                    com.squareup.okhttp3
-                    okhttp
-                
-            
-        
-        
-            com.squareup.okhttp3
-            okhttp
-            3.6.0
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-jms-2
-            ${ot.contrib.jms.version}
-            
-                
-                    javax.jms
-                    javax.jms-api
-                
-            
-        
-        
-            javax.jms
-            javax.jms-api
-            2.0.1
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-aws-sdk
-            ${ot.contrib.aws.version}
-            
-                
-                    com.amazonaws
-                    aws-java-sdk
-                
-            
-        
-        
-            com.amazonaws
-            aws-java-sdk
-            1.11.119
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-cassandra-driver
-            ${ot.contrib.cassandra.version}
-            
-                
-                    com.datastax.cassandra
-                    cassandra-driver-core
-                
-            
-        
-        
-            com.datastax.cassandra
-            cassandra-driver-core
-            3.2.0
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-elasticsearch-client
-            ${ot.contrib.elasticsearch.version}
-            
-                
-                    org.elasticsearch.client
-                    transport
-                
-            
-        
-        
-            org.elasticsearch.client
-            transport
-            5.4.1
-            provided
-        
-
-        
-        
-            io.opentracing.contrib
-            opentracing-apache-httpclient
-            ${ot.contrib.httpclient.version}
-            
-                
-                    org.apache.httpcomponents
-                    httpclient
-                
-            
-        
-        
-            org.apache.httpcomponents
-            httpclient
-            4.5.3
-            provided
-        
-
-
-        
-        
-            ch.qos.logback
-            logback-classic
-            1.2.3
-            test
-        
-        
-            io.opentracing
-            opentracing-mock
-            ${opentracing.version}
-            test
-        
-        
-            junit
-            junit
-            4.12
-            test
-        
-        
-            org.assertj
-            assertj-core
-            3.6.2
-            test
-        
-        
-            org.mockito
-            mockito-core
-            2.7.22
-            test
-        
-
-    
-    
-        ${project.artifactId}
-        
-            
-            
-                org.apache.maven.plugins
-                maven-compiler-plugin
-                3.6.1
-                
-                    ${java.version}
-                    ${java.version}
-                
-            
-            
-                org.apache.maven.plugins
-                maven-shade-plugin
-                2.4.3
-                
-                    
-                        package
-                        
-                            shade
-                        
-                        
-                            
-                            
-                            
-                                
-                                    io.opentracing.contrib:opentracing-agent
-                                    
-                                        org/jboss/byteman/layer/LayerFactory.class
-                                        org/jboss/byteman/agent/JigsawAccessManager$1.class
-                                        org/jboss/byteman/layer/LayerModuleReader.class
-                                        org/jboss/byteman/layer/LayerModuleFinder$1.class
-                                        org/jboss/byteman/agent/JigsawAccessEnablerGenerator.class
-                                        org/jboss/byteman/agent/JigsawAccessManager.class
-                                        org/jboss/byteman/layer/LayerModuleFinder.class
-                                        org/jboss/byteman/layer/LayerModuleReference.class
-                                    
-                                
-                                
-                                    org.jboss.byteman:byteman
-                                    
-                                        org/jboss/byteman/layer/LayerFactory.class
-                                        org/jboss/byteman/agent/JigsawAccessManager$1.class
-                                        org/jboss/byteman/layer/LayerModuleReader.class
-                                        org/jboss/byteman/layer/LayerModuleFinder$1.class
-                                        org/jboss/byteman/agent/JigsawAccessEnablerGenerator.class
-                                        org/jboss/byteman/agent/JigsawAccessManager.class
-                                        org/jboss/byteman/layer/LayerModuleFinder.class
-                                        org/jboss/byteman/layer/LayerModuleReference.class
-                                    
-                                
-                            
-                            
-                                
-                                    javassist
-                                    shaded.javassist
-                                
-                                
-                                    org.reflections
-                                    shaded.org.reflections
-                                
-                                
-                                    com.fasterxml
-                                    shaded.com.fasterxml
-                                
-                                
-                                    com.google
-                                    shaded.com.google
-                                
-                                
-                                    org.yaml
-                                    shaded.org.yaml
-                                
-                                
-                                    org.slf4j
-                                    shaded.org.slf4j
-                                
-                            
-                            
-                                
-                                    otarules.btm
-                                
-                                
-                                    
-                                        com.datadoghq.trace.agent.AnnotationsTracingAgent
-                                        com.datadoghq.trace.agent.AnnotationsTracingAgent
-                                        true
-                                        true
-                                        ./${project.artifactId}.jar
-                                    
-                                
-                            
-                        
-                    
-                
-            
-        
-    
-
-
\ No newline at end of file
diff --git a/dd-trace-examples/async-tracing/pom.xml b/dd-trace-examples/async-tracing/pom.xml
deleted file mode 100644
index 885ce4c28a6..00000000000
--- a/dd-trace-examples/async-tracing/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-    4.0.0
-    
-        com.datadoghq
-        dd-trace-examples
-        0.1.2-SNAPSHOT
-    
-
-    async-tracing
-    async-tracing
-
-    
-        true
-        
-        0.1.2-SNAPSHOT
-        
-        0.0.5
-    
-
-    
-        
-            com.datadoghq
-            dd-trace
-            ${dd-trace.version}
-        
-        
-            io.opentracing.contrib
-            opentracing-spanmanager
-            ${opentracing.spanmanager.version}
-        
-    
-
-
-
diff --git a/dd-trace-examples/dropwizard-mongo-client/build.gradle b/dd-trace-examples/dropwizard-mongo-client/build.gradle
index fe644996c42..6e6721c35d5 100644
--- a/dd-trace-examples/dropwizard-mongo-client/build.gradle
+++ b/dd-trace-examples/dropwizard-mongo-client/build.gradle
@@ -1,6 +1,10 @@
 description = 'dropwizard-mongo-client'
 dependencies {
     compile project(':dd-trace-annotations')
+
+    compile group: 'io.opentracing', name: 'opentracing-api', version: '0.+'
+    compile group: 'io.opentracing', name: 'opentracing-util', version: '0.+'
+
     compile group: 'io.dropwizard', name: 'dropwizard-core', version: '0.9.2'
     compile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.4.2'
     compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '3.7.0'
diff --git a/dd-trace-examples/dropwizard-mongo-client/pom.xml b/dd-trace-examples/dropwizard-mongo-client/pom.xml
deleted file mode 100644
index 71b6ff52785..00000000000
--- a/dd-trace-examples/dropwizard-mongo-client/pom.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-    4.0.0
-
-    
-        com.datadoghq
-        dd-trace-examples
-        0.1.2-SNAPSHOT
-    
-
-    dropwizard-mongo-client
-    dropwizard-mongo-client
-    jar
-
-    
-        true
-        
-        0.1.2-SNAPSHOT
-    
-
-
-    
-        
-        
-            com.datadoghq
-            dd-trace-annotations
-            ${dd-trace.version}
-        
-
-        
-        
-            io.opentracing
-            opentracing-api
-            ${opentracing.version}
-        
-        
-            io.opentracing
-            opentracing-util
-            ${opentracing.version}
-        
-
-        
-        
-            io.dropwizard
-            dropwizard-core
-            0.9.2
-        
-        
-            org.mongodb
-            mongo-java-driver
-            3.4.2
-        
-        
-            com.squareup.okhttp3
-            okhttp
-            3.7.0
-        
-    
-
-
diff --git a/dd-trace-examples/pom.xml b/dd-trace-examples/pom.xml
deleted file mode 100644
index 9c2669f4948..00000000000
--- a/dd-trace-examples/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-    
-        dd-trace-java
-        com.datadoghq
-        0.1.2-SNAPSHOT
-    
-    4.0.0
-
-    dd-trace-examples
-    pom
-
-    
-        async-tracing
-        dropwizard-mongo-client
-        spring-boot-jdbc
-    
-
-    
-        true
-        
-        1.8
-    
-
-    
-        
-            
-                
-                    maven-compiler-plugin
-                    3.6.1
-                    
-                        ${java.version}
-                        ${java.version}
-                        true
-                        512m
-                        false
-                    
-                
-            
-        
-    
-
-
\ No newline at end of file
diff --git a/dd-trace-examples/spring-boot-jdbc/pom.xml b/dd-trace-examples/spring-boot-jdbc/pom.xml
deleted file mode 100644
index ee00edecfbd..00000000000
--- a/dd-trace-examples/spring-boot-jdbc/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-    4.0.0
-
-    
-        com.datadoghq
-        dd-trace-examples
-        0.1.2-SNAPSHOT
-    
-
-    spring-boot-jdbc
-    jar
-    spring-boot-jdbc
-
-    
-        true
-        UTF-8
-        UTF-8
-        1.8
-    
-
-            
-        
-        
-            mysql
-            mysql-connector-java
-        
-
-        
-        
-            org.springframework.boot
-            spring-boot-starter-web
-        
-        
-            org.springframework.boot
-            spring-boot-starter-data-jpa
-        
-
-    
-
-    
-        
-            
-                
-                org.springframework.boot
-                spring-boot-dependencies
-                1.5.3.RELEASE
-                pom
-                import
-            
-        
-    
-
-    
-        
-            
-                src/main/resources
-                true
-            
-        
-        
-            
-                
-                
-                
-                
-                    
-                        
-                    
-                    
-                
-            
-            
-                org.springframework.boot
-                spring-boot-maven-plugin
-                1.5.3.RELEASE
-            
-        
-    
-
-
diff --git a/dd-trace/build.gradle b/dd-trace/build.gradle
index 7655fbd6d82..3443ea1c64c 100644
--- a/dd-trace/build.gradle
+++ b/dd-trace/build.gradle
@@ -17,6 +17,9 @@ dependencies {
     testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2'
     testCompile group: 'org.mockito', name: 'mockito-core', version: '2.7.22'
     testCompile group: 'ch.qos.logback', name: 'logback-classic' , version: '1.2.3'
+    testCompile group: 'org.spockframework', name: 'spock-core', version: '1.0-groovy-2.4'
+    testCompile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.4.4'
+    testCompile group: 'io.ratpack', name: 'ratpack-groovy-test', version: '1.4.6'
 }
 
 shadowJar {
@@ -24,7 +27,12 @@ shadowJar {
 
     classifier 'shadow'
 
-    relocate('', 'dd.deps.') {
-        exclude '%ant[META-INF/**/*]'
-    }
+    relocate 'ch.qos.logback', 'dd.deps.ch.qos.logback'
+    relocate 'com.fasterxml', 'dd.deps.com.fasterxml'
+    relocate 'com.google', 'dd.deps.com.google'
+    relocate 'javassist', 'dd.deps.javassist'
+    relocate 'org.jboss.byteman', 'dd.deps.org.jboss.byteman'
+    relocate 'org.reflections', 'dd.deps.org.reflections'
+    relocate 'org.slf4j', 'dd.deps.org.slf4j'
+    relocate 'org.yaml', 'dd.deps.org.yaml'
 }
diff --git a/dd-trace/pom.xml b/dd-trace/pom.xml
deleted file mode 100644
index 1705c724634..00000000000
--- a/dd-trace/pom.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-
-
-    4.0.0
-
-    
-        com.datadoghq
-        dd-trace-java
-        0.1.2-SNAPSHOT
-    
-
-    dd-trace
-    dd-trace
-    Datadog core library
-    https://github.com/datadog/dd-trace-java
-    jar
-
-    
-
-        
-        
-            io.opentracing
-            opentracing-api
-            ${opentracing.version}
-        
-        
-            io.opentracing
-            opentracing-noop
-            ${opentracing.version}
-        
-        
-            io.opentracing
-            opentracing-util
-            ${opentracing.version}
-        
-        
-            io.opentracing.contrib
-            opentracing-tracerresolver
-            0.1.0
-        
-
-        
-        
-            com.fasterxml.jackson.core
-            jackson-databind
-            2.8.8
-        
-        
-            com.fasterxml.jackson.dataformat
-            jackson-dataformat-yaml
-            2.8.8
-        
-
-        
-        
-            org.slf4j
-            slf4j-api
-            1.7.25
-        
-
-        
-        
-            com.google.auto.service
-            auto-service
-            1.0-rc3
-        
-
-        
-        
-            ch.qos.logback
-            logback-classic
-            1.2.3
-            test
-        
-        
-            junit
-            junit
-            4.12
-            test
-        
-        
-            org.assertj
-            assertj-core
-            3.6.2
-            test
-        
-        
-            org.mockito
-            mockito-core
-            2.7.22
-            test
-        
-        
-            org.spockframework
-            spock-core
-            1.0-groovy-2.4
-            test
-        
-        
-            org.codehaus.groovy
-            groovy-all
-            2.4.4
-            test
-        
-        
-            io.ratpack
-            ratpack-groovy-test
-            1.4.6
-            test
-        
-    
-
-    
-        
-            
-                org.apache.maven.plugins
-                maven-javadoc-plugin
-                2.10.4
-                
-                    
-                        attach-javadocs
-                        
-                            jar
-                        
-                    
-                
-            
-            
-                org.apache.maven.plugins
-                maven-shade-plugin
-                2.4.3
-                
-                    
-                        package
-                        
-                            shade
-                        
-                        
-                            
-                                
-                                    com.fasterxml
-                                    shaded.com.fasterxml
-                                
-                                
-                                    com.google
-                                    shaded.com.google
-                                
-                                
-                                    org.yaml
-                                    shaded.org.yaml
-                                
-                                
-                                    org.slf4j
-                                    shaded.org.slf4j
-                                
-                            
-                        
-                    
-                
-            
-            
-                org.apache.maven.plugins
-                maven-compiler-plugin
-                
-                    ${java.version}
-                    ${java.version}
-                
-            
-        
-    
-
-
\ No newline at end of file
diff --git a/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java b/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java
index ebe3c520eed..e89b34fef9a 100644
--- a/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java
+++ b/dd-trace/src/main/java/com/datadoghq/trace/resolver/FactoryUtils.java
@@ -20,6 +20,7 @@ public static  A loadConfigFromFilePropertyOrResource(String systemProperty,
 		String filePath = System.getProperty(systemProperty);
 		if(filePath!=null){
 			try {
+				logger.info("Loading config from file " + filePath);
 				return objectMapper.readValue(new File(filePath), targetClass);
 			} catch (Exception e) {
 				logger.error("Cannot read provided configuration file "+ filePath +". Using the default one.", e);
@@ -35,10 +36,10 @@ public static  A loadConfigFromResource(String resourceName, Class targetC
 		A config = null;
 		try {
 			Enumeration iter = classLoader.getResources(resourceName);
-			while (iter.hasMoreElements()) {
-				config = objectMapper.readValue(iter.nextElement().openStream(), targetClass);
-
-				break; // ONLY the closest resource file is taken into account
+			if (iter.hasMoreElements()) {
+				URL url = iter.nextElement();
+				logger.info("Loading config from resource " + url);
+				config = objectMapper.readValue(url.openStream(), targetClass);
 			}
 		} catch (IOException e) {
 			logger.warn("Could not load configuration file {}.", resourceName);
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000000..220f18244b3
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a5a582ee8ef..cb5250d38a7 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Fri Jun 30 11:21:26 PDT 2017
+#Thu Jul 06 17:54:32 EDT 2017
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 954a7f33295..00000000000
--- a/pom.xml
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-    4.0.0
-
-    com.datadoghq
-    dd-trace-java
-    0.1.2-SNAPSHOT
-    pom
-
-    
-    dd-trace-java
-    Datadog tracing in Java
-    https://github.com/datadog/dd-trace-java
-
-    
-        
-            The MIT License (MIT)
-            http://opensource.org/licenses/MIT
-            repo
-        
-    
-
-    
-        
-            datadog
-            Datadog developers
-            dev@datadoghq.com
-        
-    
-
-    
-        https://github.com/datadog/dd-trace-java
-        scm:git:git://github.com/datadog/dd-trace-java.git
-        scm:git:git@github.com:datadog/dd-trace-java.git
-        HEAD
-    
-
-    
-        dd-trace
-        dd-java-agent
-        dd-java-agent-ittests
-        dd-trace-examples
-        dd-trace-annotations
-    
-
-    
-        true
-        0.30.0
-        1.7
-        UTF-8
-    
-
-    
-        
-            nexus-local
-            http://localhost:8081/nexus/content/repositories/snapshots
-        
-        
-            nexus-local
-            http://localhost:8081/nexus/content/repositories/snapshots
-        
-        
-            
-            
-        
-        
-            
-            
-        
-    
-
-    
-        
-            
-            
-                org.apache.maven.plugins
-                maven-source-plugin
-                2.4
-                
-                    
-                        attach-sources
-                        
-                            jar
-                        
-                    
-                
-            
-
-            
-            
-                org.apache.maven.plugins
-                maven-javadoc-plugin
-                2.10.4
-                
-                    
-                        attach-javadocs
-                        
-                            jar
-                        
-                    
-                
-            
-
-            
-            
-                org.apache.maven.plugins
-                maven-gpg-plugin
-                1.5
-                
-                    
-                        sign-artifacts
-                        deploy
-                        
-                            sign
-                        
-                    
-                
-            
-
-            
-            
-                org.apache.maven.plugins
-                maven-compiler-plugin
-                3.6.1
-                
-                    ${java.version}
-                    ${java.version}
-                
-            
-
-            
-            
-                maven-deploy-plugin
-                2.8.2
-                
-                    
-                        default-deploy
-                        deploy
-                        
-                            deploy
-                        
-                    
-                
-            
-            
-                org.apache.maven.plugins
-                maven-release-plugin
-                2.5.3
-                
-                    true
-                    false
-                    release
-                    deploy
-                    
-                        **/pom.xml
-                    
-                
-            
-        
-    
-
-
\ No newline at end of file