apply plugin: 'groovy' apply plugin: 'maven' apply plugin: 'signing' apply plugin: 'clone-artifacts' configurations { gradleApi compile.extendsFrom gradleApi gradleApi.extendsFrom groovy } sourceSets { main { groovy.srcDirs 'src/main/groovy', 'src/fromGradle/groovy' resources.srcDirs 'src/main/resources', 'src/fromGradle/resources' } buildTest { groovy.srcDir file('src/build-test/groovy') resources.srcDir file('src/build-test/resources') } deviceTest { groovy.srcDir file('src/device-test/groovy') resources.srcDir file('src/device-test/resources') } } dependencies { gradleApi gradleApi() groovy localGroovy() compile project(':builder') compile "com.android.tools:sdklib:$project.ext.baseAndroidVersion" compile "com.android.tools:sdk-common:$project.ext.baseAndroidVersion" compile "com.android.tools:common:$project.ext.baseAndroidVersion" compile "com.android.tools.lint:lint:$project.ext.baseAndroidVersion" compile 'net.sf.proguard:proguard-gradle:4.10' testCompile 'junit:junit:3.8.1' buildTestCompile sourceSets.main.output buildTestCompile sourceSets.test.output buildTestCompile configurations.testCompile buildTestCompile configurations.testRuntime deviceTestCompile sourceSets.main.output deviceTestCompile sourceSets.test.output deviceTestCompile sourceSets.buildTest.output deviceTestCompile configurations.testCompile deviceTestCompile configurations.testRuntime } // configuration for dependencies provided by the runtime, // in this case proguard. configurations{ provided } dependencies{ provided 'net.sf.proguard:proguard-gradle:4.10' } //Include provided for compilation sourceSets.main.compileClasspath += configurations.provided idea { module { testSourceDirs += files('src/build-test/groovy', 'src/device-test/groovy').files scopes.COMPILE.plus += configurations.provided } } archivesBaseName = 'gradle' project.ext.pomName = 'Gradle Plug-in for Android' project.ext.pomDesc = 'Gradle plug-in to build Android applications.' apply from: '../publish.gradle' jar.manifest.attributes("Plugin-Version": version) publishLocal.dependsOn ':builder:publishLocal' task buildTest(type: Test, dependsOn: publishLocal) { testClassesDir = sourceSets.buildTest.output.classesDir classpath = sourceSets.buildTest.runtimeClasspath description = "Runs the project build tests. This requires an SDK either from the Android source tree, under out/..., or an env var ANDROID_HOME." group = "verification" systemProperties['jar.path'] = jar.archivePath } task deviceTest(type: Test, dependsOn: publishLocal) { testClassesDir = sourceSets.deviceTest.output.classesDir classpath = sourceSets.deviceTest.runtimeClasspath description = "Runs the device tests. This requires a device." group = "verification" systemProperties['jar.path'] = jar.archivePath } check.dependsOn buildTest groovydoc { exclude "**/internal/**" includePrivate false docTitle "Gradle Plugin for Android" header "" footer "Copyright (C) 2012 The Android Open Source Project" overview "" } task javadocJar(type: Jar, dependsOn:groovydoc) { classifier 'javadoc' from groovydoc.destinationDir } // add javadoc jar tasks as artifacts artifacts { archives javadocJar }