@@ -6,6 +6,7 @@ import com.squareup.javawriter.JavaWriter
66import groovy.json.StringEscapeUtils
77import org.gradle.api.Plugin
88import org.gradle.api.Project
9+ import org.gradle.api.Task
910import org.gradle.api.artifacts.dsl.RepositoryHandler
1011import org.gradle.api.tasks.Copy
1112import org.gradle.api.tasks.compile.JavaCompile
@@ -74,25 +75,17 @@ class RobojavaPlugin implements Plugin<Project> {
7475
7576 // detect source directories
7677 def flavorSources = []
77- def flavorResources = []
7878 def flavorTestSources = []
7979 def flavorTestResources = []
8080 if (hasFlavor) {
8181 flavorSources = android. sourceSets[lowerCamel(flavor)][" java" ]. srcDirs. asList()
82- flavorResources = android. sourceSets[lowerCamel(flavor)]. resources. srcDirs. asList()
8382 flavorTestSources = android. sourceSets[" androidTest${ flavor} " ][" java" ]. srcDirs. asList()
8483 flavorTestResources = android. sourceSets[" androidTest${ flavor} " ]. resources. srcDirs. asList()
8584 }
8685
8786 robojavaProject. sourceSets. test. java. srcDirs = android. sourceSets. androidTest. java. srcDirs. asList() + flavorTestSources
8887 robojavaProject. sourceSets. test. resources. srcDirs = android. sourceSets. androidTest. resources. srcDirs. asList() + flavorTestResources
8988
90- // To enable main sources to be found in the ide for debugging purposes etc.
91- robojavaProject. sourceSets. main. java. srcDirs = android. sourceSets. main. java. srcDirs. asList() +
92- flavorSources + robojavaProject. sourceSets. test. java. srcDirs
93- robojavaProject. sourceSets. main. resources. srcDirs = android. sourceSets. main. resources. srcDirs. asList() +
94- flavorResources + robojavaProject. sourceSets. test. resources. srcDirs
95-
9689 // copy over test resources
9790 robojavaProject. task(type : Copy , " copyTestResources" ) {
9891 from robojavaProject. sourceSets. test. resources
@@ -109,6 +102,7 @@ class RobojavaPlugin implements Plugin<Project> {
109102 if (hasFlavor) {
110103 androidFlavorTestCompile = addConfiguration(" androidTest${ flavor} Compile" )
111104 }
105+
112106 // add dependencies in the right order
113107 robojavaProject. dependencies {
114108 compile ' junit:junit:4.12'
@@ -136,8 +130,8 @@ class RobojavaPlugin implements Plugin<Project> {
136130
137131 // We don't want the compile tasks of the test project to run because compilation already happens in the
138132 // android project compile phase.
139- project . gradle. taskGraph. beforeTask { task ->
140- if (task. name. equals(" compileJava" )) {
133+ robojavaProject . gradle. taskGraph. beforeTask { Task task ->
134+ if (task. project . equals(robojavaProject) && task . name. equals(" compileJava" )) {
141135 task. deleteAllActions()
142136 }
143137 }
@@ -155,7 +149,7 @@ class RobojavaPlugin implements Plugin<Project> {
155149 }
156150 }
157151
158- configureExternalPlugins(variant)
152+ configureExternalPlugins(variant, flavorSources )
159153
160154 // write metadata useful for custom test runner
161155 writeProperties(processedManifestPath, processedResourcesPath, processedAssetsPath)
@@ -188,20 +182,20 @@ class RobojavaPlugin implements Plugin<Project> {
188182 }
189183 }
190184
191- def configureCobertura (def variant ) {
185+ def configureCobertura (def variant , def flavorSources ) {
192186 robojavaProject. cobertura {
193187 coverageDirs = variant. javaCompile. outputs. files. collect { it. toString() }
194- coverageSourceDirs = robojavaProject . sourceSets. main. java. srcDirs. asList()
188+ coverageSourceDirs = androidProject . android . sourceSets. main. java. srcDirs. asList() + flavorSources
195189 auxiliaryClasspath + = variant. javaCompile. classpath
196190 coverageExcludes = [" .*\\ .package-info.*" , " .*\\ .R.*" , " .*BuildConfig.*" ]
197191 }
198192 }
199193
200- def configureExternalPlugins (def variant ) {
194+ def configureExternalPlugins (def variant , def flavorSources ) {
201195 // configure cobertura gradle plugin if applied
202196 try {
203197 if (robojavaProject. plugins. hasPlugin(Class . forName(COBERTURA_PLUGIN_CLASS_NAME ))) {
204- configureCobertura(variant)
198+ configureCobertura(variant, flavorSources )
205199 }
206200 } catch (ClassNotFoundException ignored) {
207201 }
@@ -238,7 +232,7 @@ class RobojavaPlugin implements Plugin<Project> {
238232 writer. endType(). close();
239233 }
240234
241- private static String lowerCamel (String inp ){
235+ private static String lowerCamel (String inp ) {
242236 return inp[0 ]. toLowerCase() + inp. substring(1 );
243237 }
244238}
0 commit comments