Revert replacing convention with extension

It seems that was wrong
This commit is contained in:
Alexey Tsvetkov
2016-08-10 22:19:07 +03:00
parent 791c7fe6e6
commit 4702842afd
2 changed files with 11 additions and 7 deletions
@@ -62,10 +62,10 @@ abstract class KotlinSourceSetProcessor<T : AbstractCompile>(
}
private fun createKotlinSourceSet(): KotlinSourceSet {
logger.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet")
logger.kotlinDebug("Creating KotlinSourceSet for $sourceSet")
val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name)
kotlinSourceSet.kotlin.srcDir(project.file(sourceRootDir))
sourceSet.addExtension(dslExtensionName, kotlinSourceSet)
sourceSet.addConvention(dslExtensionName, kotlinSourceSet)
return kotlinSourceSet
}
@@ -272,7 +272,7 @@ open class KotlinAndroidPlugin(
log.kotlinDebug("Creating KotlinSourceSet for source set $sourceSet")
val kotlinSourceSet = kotlinSourceSetProvider.create(sourceSet.name)
kotlinSourceSet.kotlin.srcDir(project.file(project.file("src/${sourceSet.name}/kotlin")))
sourceSet.addExtension(KOTLIN_DSL_NAME, kotlinSourceSet)
sourceSet.addConvention(KOTLIN_DSL_NAME, kotlinSourceSet)
aptConfigurations.put(sourceSet.name,
project.createAptConfiguration(sourceSet.name, kotlinAnnotationProcessingDep))
@@ -367,7 +367,7 @@ open class KotlinAndroidPlugin(
val logger = kotlinTask.project.logger
for (provider in variantData.sourceProviders) {
val kotlinSourceSet = provider.findExtension(KOTLIN_DSL_NAME) as? KotlinSourceSet ?: continue
val kotlinSourceSet = provider.getConvention(KOTLIN_DSL_NAME) as? KotlinSourceSet ?: continue
kotlinTask.source(kotlinSourceSet.kotlin)
}
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Task
import org.gradle.api.file.FileCollection
import org.gradle.api.internal.HasConvention
import org.gradle.api.logging.Logger
import org.gradle.api.plugins.ExtensionAware
import org.gradle.api.tasks.compile.AbstractCompile
@@ -33,12 +34,15 @@ fun AbstractCompile.mapClasspath(fn: ()->FileCollection) {
conventionMapping.map("classpath", fn)
}
internal inline fun <reified T : Any> Any.addConvention(name: String, plugin: T) {
(this as HasConvention).convention.plugins[name] = plugin
}
internal inline fun <reified T : Any> Any.addExtension(name: String, extension: T) =
(this as ExtensionAware).extensions.add(name, extension)
internal fun Any.findExtension(name: String): Any? =
(this as ExtensionAware).extensions.findByName(name)
internal fun Any.getConvention(name: String): Any? =
(this as HasConvention).convention.plugins[name]
internal fun Logger.kotlinDebug(message: String) {
this.debug("[KOTLIN] $message")