diff options
Diffstat (limited to 'src/main/groovy')
| -rw-r--r-- | src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy | 8 | ||||
| -rw-r--r-- | src/main/groovy/FlycheckAndroidJavaTask.groovy | 25 |
2 files changed, 20 insertions, 13 deletions
diff --git a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy index ad44335..53cbc7c 100644 --- a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy +++ b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy @@ -6,8 +6,12 @@ import org.gradle.api.invocation.Gradle class FlycheckAndroidExperimentalInitPlugin implements Plugin<Gradle> { void apply(Gradle gradle) { gradle.allprojects { project -> - project.task('flycheckAndroidJava', - type: FlycheckAndroidJavaTask) + project.plugins.whenPluginAdded { plugin -> + if (plugin.class.name == 'com.android.build.gradle.model.BaseComponentModelPlugin') { + project.task('flycheckAndroidJava', + type: FlycheckAndroidJavaTask) + } + } } } } diff --git a/src/main/groovy/FlycheckAndroidJavaTask.groovy b/src/main/groovy/FlycheckAndroidJavaTask.groovy index e5fd985..4eadb85 100644 --- a/src/main/groovy/FlycheckAndroidJavaTask.groovy +++ b/src/main/groovy/FlycheckAndroidJavaTask.groovy @@ -6,29 +6,32 @@ import org.gradle.api.tasks.compile.JavaCompile class FlycheckAndroidJavaTask extends DefaultTask { FlycheckAndroidJavaTask() { - def generate = project.tasks.findByName('generateDebugSources') - if (generate) { - dependsOn generate - } + dependsOn 'generateDebugSources' } @TaskAction def action() { - project.tasks.matching({ task -> - if (!(task instanceof JavaCompile)) false - return task.name.startsWith('compile') && - (task.name.endsWith('DebugJavaWithJavac') || - task.name.endsWith('DebugUnitTestJavaWithJavac')) - }).each { compile -> + def buildTypes = project.extensions.buildTypes.names + if (buildTypes.isEmpty()) buildTypes = ['debug', 'release'] + def flavors = project.extensions.flavors.names + def configurations = ['', 'UnitTest'] + configurations.each { configuration -> + def name = 'compile' + if (!flavors.isEmpty()) name += flavors.first().capitalize() + if (!buildTypes.isEmpty()) name += buildTypes.first().capitalize() + name += configuration.capitalize() + 'JavaWithJavac' + def compile = project.tasks.findByName(name) + if (compile) { println '***' println 'args=' + compile.options.compilerArgs println 'encoding=' + compile.options.encoding - println 'bootcp=' + compile.options.bootClasspath + println 'bootcp=' + (compile.options.bootClasspath ?: '') println 'cp=' + compile.classpath.asPath println 'source=' + compile.sourceCompatibility println 'target=' + compile.targetCompatibility println 'files=' + compile.inputs.files.asPath println 'output=' + compile.destinationDir } + } } } |
