diff options
Diffstat (limited to 'src/main/groovy')
3 files changed, 70 insertions, 0 deletions
diff --git a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy index 7fd37cc..67340e9 100644 --- a/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy +++ b/src/main/groovy/FlycheckAndroidExperimentalInitPlugin.groovy @@ -12,6 +12,9 @@ class FlycheckAndroidExperimentalInitPlugin implements Plugin<Gradle> { || plugin.class.name == 'com.android.build.gradle.LibraryPlugin') { project.task('flycheckAndroidJava', type: FlycheckAndroidJavaTask) + } else if (plugin.class.name == 'org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper') { + project.task('flycheckAndroidKotlin', + type: FlycheckAndroidKotlinTask) } } } diff --git a/src/main/groovy/FlycheckAndroidExperimentalPlugin.groovy b/src/main/groovy/FlycheckAndroidExperimentalPlugin.groovy index 6493812..0252e37 100644 --- a/src/main/groovy/FlycheckAndroidExperimentalPlugin.groovy +++ b/src/main/groovy/FlycheckAndroidExperimentalPlugin.groovy @@ -7,5 +7,7 @@ class FlycheckAndroidExperimentalPlugin implements Plugin<Project> { void apply(Project project) { project.task('flycheckAndroidJava', type: FlycheckAndroidJavaTask) + project.task('flycheckAndroidKotlin', + type: FlycheckAndroidKotlinTask) } } diff --git a/src/main/groovy/FlycheckAndroidKotlinTask.groovy b/src/main/groovy/FlycheckAndroidKotlinTask.groovy new file mode 100644 index 0000000..df5856d --- /dev/null +++ b/src/main/groovy/FlycheckAndroidKotlinTask.groovy @@ -0,0 +1,65 @@ +package org.thejk + +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.TaskAction +import org.gradle.api.tasks.compile.JavaCompile + +class FlycheckAndroidKotlinTask extends DefaultTask { + FlycheckAndroidKotlinTask() { + } + + @TaskAction + def action() { + def variants = [] + def android = project.extensions.findByName('android') + if (android && (android.class.simpleName == 'AppExtension_Decorated' + || android.class.simpleName == 'BaseAppModuleExtension_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'] + variants.each { variant -> + configurations.each { configuration -> + def name = 'compile' + name += variant.capitalize() + name += configuration.capitalize() + 'Kotlin' + def compile = project.tasks.findByName(name) + if (compile) { + try { + def cp = compile.classpath.asPath + println '***' + println 'variant=' + variant + println 'args=' + compile.defaultSerializedCompilerArguments + println 'cp=' + cp + println 'files=' + compile.inputs.files.asPath + println 'output=' + compile.destinationDirectory.get() + } catch (Throwable t) { + } + } + } + + def name = 'generate' + name += variant.capitalize() + 'Sources' + def generate = project.tasks.findByName(name) + if (generate != null) { + println '!!!' + println generate.path + } + } + } +} |
