| apply plugin: 'android' |
| |
| android { |
| compileSdkVersion 15 |
| buildToolsVersion "18.0.1" |
| } |
| |
| // query for all (non-test) variants and inject a new step in the builds |
| android.applicationVariants.all { variant -> |
| // create a task that "handles" the compile classes |
| // does some processing (or not) |
| // and outputs a jar |
| def jarTask = tasks.create(name: "jar${variant.name.capitalize()}", type: Jar) { |
| from variant.javaCompile.destinationDir |
| destinationDir file("${buildDir}/jars/${variant.dirName}") |
| baseName "classes" |
| } |
| |
| // this task depends on the compilation task |
| jarTask.dependsOn variant.javaCompile |
| |
| // now make the dex task depend on it and use its output |
| variant.dex.dependsOn jarTask |
| variant.dex.sourceFiles = files(jarTask.archivePath).files |
| } |
| |
| project.afterEvaluate { |
| if (android.applicationVariants.size() != 2) { |
| throw new GradleException("Wrong number of app variants!") |
| } |
| |
| if (android.testVariants.size() != 1) { |
| throw new GradleException("Wrong number of test variants!") |
| } |
| } |