diff options
author | Christian Williams <christianw@google.com> | 2016-12-09 18:19:32 -0800 |
---|---|---|
committer | Christian Williams <christianw@google.com> | 2016-12-09 18:19:32 -0800 |
commit | 080da4de7f47f0a59eef492509640337b279d605 (patch) | |
tree | 04e82a93a5e2c862573c6f43c766f499a2fb9371 /buildSrc | |
parent | c4462b892d9ac1981181e2ce0d91ee663cfe15bc (diff) | |
download | robolectric-shadows-080da4de7f47f0a59eef492509640337b279d605.tar.gz |
Fix incremental build and sources/javadoc jars.
Diffstat (limited to 'buildSrc')
-rw-r--r-- | buildSrc/build.gradle | 2 | ||||
-rw-r--r-- | buildSrc/src/main/groovy/shadows.groovy | 44 |
2 files changed, 13 insertions, 33 deletions
diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 0da01d240..5f8def096 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -3,9 +3,11 @@ apply plugin: "groovy" repositories { mavenLocal() mavenCentral() + maven { url 'https://plugins.gradle.org/m2/' } // for gradle-processors } dependencies { compile gradleApi() compile localGroovy() + compile "gradle.plugin.org.inferred:gradle-processors:1.2.3" } diff --git a/buildSrc/src/main/groovy/shadows.groovy b/buildSrc/src/main/groovy/shadows.groovy index e1ad99a61..02dc5f411 100644 --- a/buildSrc/src/main/groovy/shadows.groovy +++ b/buildSrc/src/main/groovy/shadows.groovy @@ -6,50 +6,28 @@ import org.gradle.util.GFileUtils class ShadowsPlugin implements Plugin<Project> { @Override void apply(Project project) { - project.extensions.create("shadows", ShadowsPluginExtension) + project.apply plugin: "org.inferred.processors" - project.configurations { - robolectricProcessor - } + project.extensions.create("shadows", ShadowsPluginExtension) project.dependencies { - robolectricProcessor project.project(":robolectric-processor") + processor project.project(":robolectric-processor") } def generatedSourcesDir = "${project.buildDir}/generated-shadows" project.sourceSets.main.java.srcDirs += project.file(generatedSourcesDir) - project.task("generateShadowProvider", type: JavaCompile, description: "Generate Shadows.shadowOf()s class") { task -> - classpath = project.configurations.robolectricProcessor - source = project.sourceSets.main.java - destinationDir = project.file(generatedSourcesDir) - - doFirst { - logger.info "Generating Shadows.java for ${project.name}…" - - // reset our classpath at the last minute, since other plugins might mutate - // compileJava's classpath and we want to pick up any changes… - classpath = project.tasks['compileJava'].classpath + project.configurations.robolectricProcessor - - options.compilerArgs.addAll( - "-proc:only", - "-processor", "org.robolectric.annotation.processing.RobolectricProcessor", - "-Aorg.robolectric.annotation.processing.shadowPackage=${project.shadows.packageName}" - ) - } - - doLast { - def src = project.file("$generatedSourcesDir/META-INF/services/org.robolectric.internal.ShadowProvider") - def dest = project.file("${project.buildDir}/resources/main/META-INF/services/org.robolectric.internal.ShadowProvider") - - GFileUtils.mkdirs(dest.getParentFile()); - GFileUtils.copyFile(src, dest); - } + def compileJava = project.tasks["compileJava"] + project.afterEvaluate { + compileJava.options.compilerArgs.addAll( + "-Aorg.robolectric.annotation.processing.shadowPackage=${project.shadows.packageName}" + ) } - def compileJavaTask = project.tasks["compileJava"] - compileJavaTask.dependsOn("generateShadowProvider") + compileJava.doFirst { + logger.info "Generating Shadows.java for ${project.name}…" + } } } |