Refactoring: extract constants

This commit is contained in:
Alexey Tsvetkov
2016-07-27 22:30:53 +03:00
parent eeed0a6eee
commit cc585cf6f3
@@ -40,6 +40,9 @@ import java.util.jar.Manifest
import javax.inject.Inject import javax.inject.Inject
val KOTLIN_AFTER_JAVA_TASK_SUFFIX = "AfterJava" val KOTLIN_AFTER_JAVA_TASK_SUFFIX = "AfterJava"
val KOTLIN_DSL_NAME = "kotlin"
val KOTLIN_JS_DSL_NAME = "kotlin2js"
val KOTLIN_OPTIONS_DSL_NAME = "kotlinOptions"
abstract class KotlinSourceSetProcessor<T : AbstractCompile>( abstract class KotlinSourceSetProcessor<T : AbstractCompile>(
val project: Project, val project: Project,
@@ -47,7 +50,7 @@ abstract class KotlinSourceSetProcessor<T : AbstractCompile>(
val sourceSet: SourceSet, val sourceSet: SourceSet,
val tasksProvider: KotlinTasksProvider, val tasksProvider: KotlinTasksProvider,
val kotlinSourceSetProvider: KotlinSourceSetProvider, val kotlinSourceSetProvider: KotlinSourceSetProvider,
val pluginName: String, val dslExtensionName: String,
val compileTaskNameSuffix: String, val compileTaskNameSuffix: String,
val taskDescription: String val taskDescription: String
) { ) {
@@ -75,7 +78,7 @@ abstract class KotlinSourceSetProcessor<T : AbstractCompile>(
logger.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet") logger.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet")
val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name) val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name)
kotlinSourceSet.kotlin.srcDir(project.file(sourceRootDir)) kotlinSourceSet.kotlin.srcDir(project.file(sourceRootDir))
sourceSet.addExtension(pluginName, kotlinSourceSet) sourceSet.addExtension(dslExtensionName, kotlinSourceSet)
return kotlinSourceSet return kotlinSourceSet
} }
@@ -117,7 +120,7 @@ class Kotlin2JvmSourceSetProcessor(
kotlinSourceSetProvider: KotlinSourceSetProvider kotlinSourceSetProvider: KotlinSourceSetProvider
) : KotlinSourceSetProcessor<KotlinCompile>( ) : KotlinSourceSetProcessor<KotlinCompile>(
project, javaBasePlugin, sourceSet, tasksProvider, kotlinSourceSetProvider, project, javaBasePlugin, sourceSet, tasksProvider, kotlinSourceSetProvider,
pluginName = "kotlin", dslExtensionName = KOTLIN_DSL_NAME,
compileTaskNameSuffix = "kotlin", compileTaskNameSuffix = "kotlin",
taskDescription = "Compiles the $sourceSet.kotlin." taskDescription = "Compiles the $sourceSet.kotlin."
) { ) {
@@ -184,7 +187,7 @@ class Kotlin2JsSourceSetProcessor(
kotlinSourceSetProvider: KotlinSourceSetProvider kotlinSourceSetProvider: KotlinSourceSetProvider
) : KotlinSourceSetProcessor<Kotlin2JsCompile>( ) : KotlinSourceSetProcessor<Kotlin2JsCompile>(
project, javaBasePlugin, sourceSet, tasksProvider, kotlinSourceSetProvider, project, javaBasePlugin, sourceSet, tasksProvider, kotlinSourceSetProvider,
pluginName = "kotlin2js", dslExtensionName = KOTLIN_JS_DSL_NAME,
taskDescription = "Compiles the kotlin sources in $sourceSet to JavaScript.", taskDescription = "Compiles the kotlin sources in $sourceSet to JavaScript.",
compileTaskNameSuffix = "kotlin2Js" compileTaskNameSuffix = "kotlin2Js"
) { ) {
@@ -304,7 +307,7 @@ open class KotlinAndroidPlugin(
log.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet") log.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet")
val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name) val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name)
kotlinSourceSet.kotlin.srcDir(project.file(project.file("src/${sourceSet.name}/kotlin"))) kotlinSourceSet.kotlin.srcDir(project.file(project.file("src/${sourceSet.name}/kotlin")))
sourceSet.addExtension("kotlin", kotlinSourceSet) sourceSet.addExtension(KOTLIN_DSL_NAME, kotlinSourceSet)
aptConfigurations.put(sourceSet.name, aptConfigurations.put(sourceSet.name,
project.createAptConfiguration(sourceSet.name, kotlinAnnotationProcessingDep)) project.createAptConfiguration(sourceSet.name, kotlinAnnotationProcessingDep))
@@ -312,7 +315,7 @@ open class KotlinAndroidPlugin(
val kotlinOptions = K2JVMCompilerArguments() val kotlinOptions = K2JVMCompilerArguments()
kotlinOptions.noJdk = true kotlinOptions.noJdk = true
ext.addExtension("kotlinOptions", kotlinOptions) ext.addExtension(KOTLIN_OPTIONS_DSL_NAME, kotlinOptions)
project.createKaptExtension() project.createKaptExtension()
@@ -399,7 +402,7 @@ open class KotlinAndroidPlugin(
val logger = kotlinTask.project.logger val logger = kotlinTask.project.logger
for (provider in variantData.sourceProviders) { for (provider in variantData.sourceProviders) {
val kotlinSourceSet = provider.findExtension("kotlin") as? KotlinSourceSet ?: continue val kotlinSourceSet = provider.findExtension(KOTLIN_DSL_NAME) as? KotlinSourceSet ?: continue
kotlinTask.source(kotlinSourceSet.kotlin) kotlinTask.source(kotlinSourceSet.kotlin)
} }