blob: 9f83fb31474e063f99078ac4c2c784a0d2e5f378 [file] [log] [blame]
buildscript {
repositories {
maven { url "$rootDir/../../prebuilts/tools/common/gradle-plugins/repository" }
}
dependencies {
classpath 'com.android.tools.internal:internal-plugins:1.0'
}
}
apply plugin: 'clone-artifacts'
apply plugin: 'distrib'
// artifact cloning destinations
cloneArtifacts {
mainRepo = "$rootDir/../../prebuilts/tools/common/m2/repository"
secondaryRepo = "$rootDir/../../prebuilts/tools/common/m2/internal"
}
// set up the distribution destination
distribution {
destinationPath = "$rootDir/../../prebuilts/devtools"
dependenciesRepo = cloneArtifacts.mainRepo
}
// 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/swt/build")
def getVersion(Project p, String baseVersion) {
if (p.has("release")) {
return baseVersion
}
return baseVersion + '-SNAPSHOT'
}
subprojects { Project project ->
// Change buildDir first so that all plugins pick up the new value.
project.buildDir = project.file("$project.parent.buildDir/../$project.name")
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'findbugs'
apply plugin: 'distrib'
apply plugin: 'clone-artifacts'
repositories {
maven { url = uri(rootProject.cloneArtifacts.mainRepo) }
maven { url = uri(rootProject.cloneArtifacts.secondaryRepo) }
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"
}
// configuration for swt dependency since the packaged jar is platform dependent
// but at compile time we don't care. Also we don't want the artifact in the
// main repo, so use the provided configuration
configurations {
swt
}
dependencies{
swt "com.android.external.eclipse:swt:3.5.0"
compile 'com.android.external.eclipse:org-eclipse-jface:3.6.2'
testCompile "com.android.external.eclipse:swt:3.5.0"
}
// include swt for compilation
sourceSets.main.compileClasspath += configurations.swt
ext.baseVersion = '22.0'
version = getVersion(project, ext.baseVersion)
// set all java compilation to use UTF-8 encoding.
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
task disableTestFailures << {
tasks.withType(Test) {
ignoreFailures = true
}
}
// add javadoc/source jar tasks as artifacts
artifacts {
archives jar
}
task publishLocal(type: Upload) {
configuration = configurations.archives
repositories {
mavenDeployer {
repository(url: uri("$rootProject.ext.androidHostOut/repo"))
}
}
}
findbugs {
ignoreFailures = true
effort = "max"
reportLevel = "high"
}
}
// delay evaluation of this project before all subprojects have been evaluated.
subprojects.each { subproject -> evaluationDependsOn(subproject.path) }
def testTasks = subprojects.collect { it.tasks.withType(Test) }.flatten()
task aggregateResults(type: Copy) {
from { testTasks*.testResultsDir }
into { file("$buildDir/results") }
}