diff --git a/builder/build.gradle b/builder/build.gradle
index 19d4b7b..9bf7243 100644
--- a/builder/build.gradle
+++ b/builder/build.gradle
@@ -4,6 +4,10 @@
 
 project.ext.baseAndroidVersion = "22.0-SNAPSHOT"
 
+configurations {
+    fakeMaven
+}
+
 dependencies {
     compile "com.android.tools:sdklib:$project.ext.baseAndroidVersion"
     compile "com.android.tools:sdk-common:$project.ext.baseAndroidVersion"
@@ -24,16 +28,48 @@
 version = getVersion()
 archivesBaseName = 'builder'
 
+def getInternalDependencies() {
+    def list = []
+
+    Set<ResolvedArtifact> artifacts = configurations.runtime.resolvedConfiguration.resolvedArtifacts
+    for (ResolvedArtifact artifact : artifacts) {
+        def group = artifact.moduleVersion.id.group
+        if (group.startsWith('com.android.tools') || group == 'base' || group == 'swt') {
+            list << artifact.file
+        }
+    }
+
+    list
+}
+
 jar {
-    from { configurations.runtime.collect { it.directory ? it : zipTree(it) } }
+    // gather the local dependencies and package them in the builder jar.
+    def internalDep = getInternalDependencies()
+    from { internalDep.collect { it.directory ? it : zipTree(it) } }
+}
+
+// add the external dependencies to the fakeMaven configuration.
+task mavenSetup << {
+    Set<ResolvedArtifact> artifacts = configurations.runtime.resolvedConfiguration.resolvedArtifacts
+    for (ResolvedArtifact artifact : artifacts) {
+        def group = artifact.moduleVersion.id.group
+        if (!(group.startsWith('com.android.tools') || group == 'base' || group == 'swt')) {
+            def id = artifact.moduleVersion.id
+            project.dependencies {
+                fakeMaven "${id.group}:${id.name}:${id.version}"
+            }
+        }
+    }
 }
 
 configure(install.repositories.mavenInstaller) {
     // Discard all the dependencies from the POM, as they are packaged in the JAR.
     pom.scopeMappings.mappings.clear()
+    // add the fake ones from fakeMaven
+    pom.scopeMappings.addMapping(300, configurations.fakeMaven, "compile")
 }
 
-task publishLocal(type: Upload) {
+task publishLocal(type: Upload, dependsOn: mavenSetup) {
     configuration = configurations.archives
     repositories {
         mavenDeployer {
@@ -41,6 +77,8 @@
 
             // Discard all the dependencies from the POM, as they are packaged in the JAR.
             pom.scopeMappings.mappings.clear()
+            // add the fake ones from fakeMaven
+            pom.scopeMappings.addMapping(300, configurations.fakeMaven, "compile")
         }
     }
 }
@@ -98,6 +136,8 @@
     }
 }
 
+uploadArchives.dependsOn mavenSetup
+
 
 // custom tasks for creating source/javadoc jars
 task sourcesJar(type: Jar, dependsOn:classes) {
diff --git a/tests/aidl/build.gradle b/tests/aidl/build.gradle
index aedca12..c9c9275 100644
--- a/tests/aidl/build.gradle
+++ b/tests/aidl/build.gradle
@@ -1,9 +1,7 @@
-//
-// A basic Android application that follows all the conventions
-//
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/api/build.gradle b/tests/api/build.gradle
index 668ed4b..b56cb14 100644
--- a/tests/api/build.gradle
+++ b/tests/api/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/applibtest/build.gradle b/tests/applibtest/build.gradle
index 668ed4b..b56cb14 100644
--- a/tests/applibtest/build.gradle
+++ b/tests/applibtest/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/assets/build.gradle b/tests/assets/build.gradle
index 76fc900..aa283a0 100644
--- a/tests/assets/build.gradle
+++ b/tests/assets/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/basic/build.gradle b/tests/basic/build.gradle
index 79b3070..4b355f3 100644
--- a/tests/basic/build.gradle
+++ b/tests/basic/build.gradle
@@ -4,6 +4,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/dependencies/build.gradle b/tests/dependencies/build.gradle
index 5e45c06..dd2281c 100644
--- a/tests/dependencies/build.gradle
+++ b/tests/dependencies/build.gradle
@@ -4,6 +4,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/flavored/build.gradle b/tests/flavored/build.gradle
index 9c35f1c..891d191 100644
--- a/tests/flavored/build.gradle
+++ b/tests/flavored/build.gradle
@@ -4,6 +4,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/flavorlib/build.gradle b/tests/flavorlib/build.gradle
index 76fc900..aa283a0 100644
--- a/tests/flavorlib/build.gradle
+++ b/tests/flavorlib/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/flavorlibWithFailedTests/build.gradle b/tests/flavorlibWithFailedTests/build.gradle
index 76fc900..aa283a0 100644
--- a/tests/flavorlibWithFailedTests/build.gradle
+++ b/tests/flavorlibWithFailedTests/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/flavors/build.gradle b/tests/flavors/build.gradle
index 2eafece..8e91be9 100644
--- a/tests/flavors/build.gradle
+++ b/tests/flavors/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/libsTest/build.gradle b/tests/libsTest/build.gradle
index 76fc900..aa283a0 100644
--- a/tests/libsTest/build.gradle
+++ b/tests/libsTest/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/localJars/app/build.gradle b/tests/localJars/app/build.gradle
index 75b4b6c..362924a 100644
--- a/tests/localJars/app/build.gradle
+++ b/tests/localJars/app/build.gradle
@@ -1,7 +1,3 @@
-//
-// A basic Android application split over a couple of Gradle projects.
-//
-
 apply plugin: 'android'
 
 android {
diff --git a/tests/localJars/build.gradle b/tests/localJars/build.gradle
index cef83b9..cd7e13d 100644
--- a/tests/localJars/build.gradle
+++ b/tests/localJars/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/migrated/build.gradle b/tests/migrated/build.gradle
index 350fd4e..6120613 100644
--- a/tests/migrated/build.gradle
+++ b/tests/migrated/build.gradle
@@ -1,9 +1,8 @@
-//
-// A basic Android application that follows all the conventions
-//
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
+
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/multiproject/app/build.gradle b/tests/multiproject/app/build.gradle
index 11f65ff..d6f8176 100644
--- a/tests/multiproject/app/build.gradle
+++ b/tests/multiproject/app/build.gradle
@@ -1,7 +1,3 @@
-//
-// A basic Android application split over a couple of Gradle projects.
-//
-
 apply plugin: 'android'
 
 android {
diff --git a/tests/multiproject/build.gradle b/tests/multiproject/build.gradle
index cef83b9..cd7e13d 100644
--- a/tests/multiproject/build.gradle
+++ b/tests/multiproject/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/multires/build.gradle b/tests/multires/build.gradle
index 799db02..1d688e8 100644
--- a/tests/multires/build.gradle
+++ b/tests/multires/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/overlay1/build.gradle b/tests/overlay1/build.gradle
index 9d47143..93160af 100644
--- a/tests/overlay1/build.gradle
+++ b/tests/overlay1/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/overlay2/build.gradle b/tests/overlay2/build.gradle
index 5709ef2..e46b210 100644
--- a/tests/overlay2/build.gradle
+++ b/tests/overlay2/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/renderscript/build.gradle b/tests/renderscript/build.gradle
index 4162164..5ecec55 100644
--- a/tests/renderscript/build.gradle
+++ b/tests/renderscript/build.gradle
@@ -1,9 +1,7 @@
-//
-// A basic Android application that follows all the conventions
-//
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/renderscriptInLib/build.gradle b/tests/renderscriptInLib/build.gradle
index 668ed4b..b56cb14 100644
--- a/tests/renderscriptInLib/build.gradle
+++ b/tests/renderscriptInLib/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/renderscriptMultiSrc/build.gradle b/tests/renderscriptMultiSrc/build.gradle
index 4d26111..d707102 100644
--- a/tests/renderscriptMultiSrc/build.gradle
+++ b/tests/renderscriptMultiSrc/build.gradle
@@ -1,9 +1,7 @@
-//
-// A basic Android application that follows all the conventions
-//
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
diff --git a/tests/repo/app/build.gradle b/tests/repo/app/build.gradle
index a571a83..ac7ff81 100644
--- a/tests/repo/app/build.gradle
+++ b/tests/repo/app/build.gradle
@@ -1,11 +1,13 @@
 buildscript {
     repositories {
         maven { url '../../../repo' }
+        maven { url '../../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
     }
 }
+
 apply plugin: 'android'
 apply plugin: 'maven'
 
diff --git a/tests/repo/baseLibrary/build.gradle b/tests/repo/baseLibrary/build.gradle
index e034862..07f40ab 100644
--- a/tests/repo/baseLibrary/build.gradle
+++ b/tests/repo/baseLibrary/build.gradle
@@ -1,11 +1,13 @@
 buildscript {
     repositories {
         maven { url '../../../repo' }
+        maven { url '../../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
     }
 }
+
 apply plugin: 'android-library'
 apply plugin: 'maven'
 
diff --git a/tests/repo/library/build.gradle b/tests/repo/library/build.gradle
index 4e2b0f5..48dd920 100644
--- a/tests/repo/library/build.gradle
+++ b/tests/repo/library/build.gradle
@@ -1,11 +1,13 @@
 buildscript {
     repositories {
         maven { url '../../../repo' }
+        maven { url '../../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
     }
 }
+
 apply plugin: 'android-library'
 apply plugin: 'maven'
 
diff --git a/tests/tictactoe/app/build.gradle b/tests/tictactoe/app/build.gradle
index dfb03f0..3566ad1 100644
--- a/tests/tictactoe/app/build.gradle
+++ b/tests/tictactoe/app/build.gradle
@@ -1,8 +1,5 @@
 apply plugin: 'android'
 
-//
-// A basic Android application split over a library and a main project.
-//
 dependencies {
     compile project(':lib')
 }
diff --git a/tests/tictactoe/build.gradle b/tests/tictactoe/build.gradle
index 668ed4b..b56cb14 100644
--- a/tests/tictactoe/build.gradle
+++ b/tests/tictactoe/build.gradle
@@ -1,6 +1,7 @@
 buildscript {
     repositories {
         maven { url '../../repo' }
+        maven { url '../../../../prebuilts/tools/common/m2/repository' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.4-SNAPSHOT'
