buildscript { repositories { maven { url "$rootDir/../../prebuilts/tools/common/gradle-plugins/repository" } } dependencies { classpath 'com.android.tools.internal:internal-plugins:1.0' } } apply plugin: 'idea' apply plugin: 'clone-artifacts' // artifact cloning destinations cloneArtifacts { mainRepo = "$rootDir/../../prebuilts/tools/common/m2/repository" secondaryRepo = "$rootDir/../../prebuilts/tools/common/m2/internal" } // ext.androidHostOut is shared by all tools/{base,build,swt} gradle projects/ ext.androidHostOut = file("$rootDir/../../out/host/gradle") ext.androidRootDir = file(new File(ext.androidHostOut, "../../../")) // rootProject.buildDir is specific to this gradle build. buildDir = new File(file(ext.androidHostOut), "tools/build/build") ext.localRepo = project.hasProperty('localRepo') ? localRepo : "$ext.androidHostOut/repo" subprojects { // Change buildDir first so that all plugins pick up the new value. project.buildDir = project.file("$project.parent.buildDir/../$project.name") apply plugin: 'idea' apply plugin: 'findbugs' repositories { maven { url = uri("$rootProject.ext.androidHostOut/repo") } } // find bug dependencies is added dynamically so it's hard for the // clone artifact plugin to find it. This custom config lets us manually // add such dependencies. configurations { hidden } dependencies { hidden "com.google.code.findbugs:findbugs:2.0.1" } project.ext { baseVersion = '0.7.0' } task disableTestFailures << { tasks.withType(Test) { ignoreFailures = true } } findbugs { ignoreFailures = true effort = "max" reportLevel = "high" } group = 'com.android.tools.build' project.ext.baseAndroidVersion = "22.2.0" if (!project.has("release")) { project.ext.baseAndroidVersion = project.ext.baseAndroidVersion + "-SNAPSHOT" } } task prepareRepo(type: Copy) { from { rootProject.cloneArtifacts.mainRepo } from { rootProject.cloneArtifacts.secondaryRepo } into { "$rootProject.ext.androidHostOut/repo" } } // delay evaluation of this project before all subprojects have been evaluated. subprojects.each { subproject -> evaluationDependsOn(subproject.name) } def testTasks = subprojects.collect { it.tasks.withType(Test) }.flatten() task aggregateResults(type: Copy) { from { testTasks*.testResultsDir } into { file("$buildDir/results") } } task clean(type: Delete) { delete '$buildDir' }