summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@opera.com>2017-12-05 13:29:35 +0100
committerJoel Klinghed <the_jk@opera.com>2017-12-05 13:29:35 +0100
commit26bcc8b2e79d655bffe17b323b845cb4f32cc220 (patch)
tree554523318ba28da7cf6039c316778326b20c3e05 /src
parent6769baf559b6f33ec594843a4c36d5bda5a65db8 (diff)
Add support for non-experimental gradle plugin
Diffstat (limited to 'src')
-rw-r--r--src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy4
-rw-r--r--src/main/groovy/FlycheckAndroidJavaTask.groovy27
2 files changed, 25 insertions, 6 deletions
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<Gradle> {
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) {