From 26bcc8b2e79d655bffe17b323b845cb4f32cc220 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Tue, 5 Dec 2017 13:29:35 +0100 Subject: Add support for non-experimental gradle plugin --- .../FlycheckAndroidExperimentalInitPlugin.groovy | 4 +++- src/main/groovy/FlycheckAndroidJavaTask.groovy | 27 ++++++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) (limited to 'src/main') diff --git a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy index 53cbc7c..7fd37cc 100644 --- a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy +++ b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy @@ -7,7 +7,9 @@ class FlycheckAndroidExperimentalInitPlugin implements Plugin { void apply(Gradle gradle) { gradle.allprojects { project -> project.plugins.whenPluginAdded { plugin -> - if (plugin.class.name == 'com.android.build.gradle.model.BaseComponentModelPlugin') { + if (plugin.class.name == 'com.android.build.gradle.model.BaseComponentModelPlugin' + || plugin.class.name == 'com.android.build.gradle.AppPlugin' + || plugin.class.name == 'com.android.build.gradle.LibraryPlugin') { project.task('flycheckAndroidJava', type: FlycheckAndroidJavaTask) } diff --git a/src/main/groovy/FlycheckAndroidJavaTask.groovy b/src/main/groovy/FlycheckAndroidJavaTask.groovy index 4eadb85..d7ce2da 100644 --- a/src/main/groovy/FlycheckAndroidJavaTask.groovy +++ b/src/main/groovy/FlycheckAndroidJavaTask.groovy @@ -11,14 +11,31 @@ class FlycheckAndroidJavaTask extends DefaultTask { @TaskAction def action() { - def buildTypes = project.extensions.buildTypes.names - if (buildTypes.isEmpty()) buildTypes = ['debug', 'release'] - def flavors = project.extensions.flavors.names + def variants = [] + def android = project.extensions.findByName('android') + if (android && android.class.simpleName == 'AppExtension_Decorated') { + variants = android.applicationVariants.collect { it.name } + } else if (android && android.class.simpleName == 'LibraryExtension_Decorated') { + variants = android.libraryVariants.collect { it.name } + } else { + def buildTypes = project.extensions.buildTypes.names + if (buildTypes.isEmpty()) buildTypes = ['debug', 'release'] + def flavors = project.extensions.flavors.names + if (flavors.isEmpty()) { + variants = buildTypes + } else { + flavors.each { flavor -> + buildTypes.each { buildType -> + variants.add(flavor + buildType.capitalize()) + } + } + } + } + variants = variants.sort() def configurations = ['', 'UnitTest'] configurations.each { configuration -> def name = 'compile' - if (!flavors.isEmpty()) name += flavors.first().capitalize() - if (!buildTypes.isEmpty()) name += buildTypes.first().capitalize() + name += variants.first().capitalize() name += configuration.capitalize() + 'JavaWithJavac' def compile = project.tasks.findByName(name) if (compile) { -- cgit v1.2.3-70-g09d2