Refactoring: use same module name as Intellij
This commit is contained in:
+1
@@ -37,6 +37,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
|||||||
|
|
||||||
project.build("build") {
|
project.build("build") {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
assertFileExists("build/classes/main/META-INF/kotlinProject_main.kotlin_module")
|
||||||
assertReportExists()
|
assertReportExists()
|
||||||
assertContains(":compileKotlin", ":compileTestKotlin")
|
assertContains(":compileKotlin", ":compileTestKotlin")
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -0,0 +1,3 @@
|
|||||||
|
package demo
|
||||||
|
|
||||||
|
fun dummyFun() {}
|
||||||
+1
-4
@@ -106,17 +106,14 @@ private fun Project.createKotlinAfterJavaTask(
|
|||||||
kotlinOptions: KotlinJvmOptionsImpl?,
|
kotlinOptions: KotlinJvmOptionsImpl?,
|
||||||
tasksProvider: KotlinTasksProvider
|
tasksProvider: KotlinTasksProvider
|
||||||
): KotlinCompile {
|
): KotlinCompile {
|
||||||
val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, kotlinTask.name + KOTLIN_AFTER_JAVA_TASK_SUFFIX)) {
|
val kotlinAfterJavaTask = with (tasksProvider.createKotlinJVMTask(this, kotlinTask.name + KOTLIN_AFTER_JAVA_TASK_SUFFIX, kotlinTask.sourceSetName)) {
|
||||||
mapClasspath { kotlinTask.classpath }
|
mapClasspath { kotlinTask.classpath }
|
||||||
this
|
this
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlinAfterJavaTask.dependsOn(javaTask)
|
kotlinAfterJavaTask.dependsOn(javaTask)
|
||||||
javaTask.finalizedByIfNotFailed(kotlinAfterJavaTask)
|
javaTask.finalizedByIfNotFailed(kotlinAfterJavaTask)
|
||||||
|
|
||||||
kotlinAfterJavaTask.moduleName = kotlinTask.moduleName
|
|
||||||
kotlinAfterJavaTask.parentKotlinOptionsImpl = kotlinOptions
|
kotlinAfterJavaTask.parentKotlinOptionsImpl = kotlinOptions
|
||||||
|
|
||||||
return kotlinAfterJavaTask
|
return kotlinAfterJavaTask
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -82,7 +82,6 @@ internal abstract class KotlinSourceSetProcessor<T : AbstractKotlinCompile<*>>(
|
|||||||
logger.kotlinDebug("Creating kotlin compile task $name")
|
logger.kotlinDebug("Creating kotlin compile task $name")
|
||||||
val kotlinCompile = doCreateTask(project, name)
|
val kotlinCompile = doCreateTask(project, name)
|
||||||
kotlinCompile.description = taskDescription
|
kotlinCompile.description = taskDescription
|
||||||
kotlinCompile.moduleName = "${project.name}-$name"
|
|
||||||
kotlinCompile.mapClasspath { sourceSet.compileClasspath }
|
kotlinCompile.mapClasspath { sourceSet.compileClasspath }
|
||||||
kotlinCompile.destinationDir = defaultKotlinDestinationDir
|
kotlinCompile.destinationDir = defaultKotlinDestinationDir
|
||||||
return kotlinCompile
|
return kotlinCompile
|
||||||
@@ -109,7 +108,7 @@ internal class Kotlin2JvmSourceSetProcessor(
|
|||||||
get() = File(project.buildDir, "kotlin-classes/$sourceSetName")
|
get() = File(project.buildDir, "kotlin-classes/$sourceSetName")
|
||||||
|
|
||||||
override fun doCreateTask(project: Project, taskName: String): KotlinCompile =
|
override fun doCreateTask(project: Project, taskName: String): KotlinCompile =
|
||||||
tasksProvider.createKotlinJVMTask(project, taskName)
|
tasksProvider.createKotlinJVMTask(project, taskName, sourceSet.name)
|
||||||
|
|
||||||
override fun doTargetSpecificProcessing() {
|
override fun doTargetSpecificProcessing() {
|
||||||
val aptConfiguration = project.createAptConfiguration(sourceSet.name, kotlinPluginVersion)
|
val aptConfiguration = project.createAptConfiguration(sourceSet.name, kotlinPluginVersion)
|
||||||
@@ -185,7 +184,7 @@ internal class Kotlin2JsSourceSetProcessor(
|
|||||||
private val build = project.tasks.findByName("build")
|
private val build = project.tasks.findByName("build")
|
||||||
|
|
||||||
override fun doCreateTask(project: Project, taskName: String): Kotlin2JsCompile =
|
override fun doCreateTask(project: Project, taskName: String): Kotlin2JsCompile =
|
||||||
tasksProvider.createKotlinJSTask(project, taskName)
|
tasksProvider.createKotlinJSTask(project, taskName, sourceSet.name)
|
||||||
|
|
||||||
override fun doTargetSpecificProcessing() {
|
override fun doTargetSpecificProcessing() {
|
||||||
val taskName = kotlinTask.name
|
val taskName = kotlinTask.name
|
||||||
@@ -332,7 +331,7 @@ internal open class KotlinAndroidPlugin(
|
|||||||
|
|
||||||
val kotlinTaskName = "compile${variantDataName.capitalize()}Kotlin"
|
val kotlinTaskName = "compile${variantDataName.capitalize()}Kotlin"
|
||||||
// todo: Investigate possibility of creating and configuring kotlinTask before evaluation
|
// todo: Investigate possibility of creating and configuring kotlinTask before evaluation
|
||||||
val kotlinTask = tasksProvider.createKotlinJVMTask(project, kotlinTaskName)
|
val kotlinTask = tasksProvider.createKotlinJVMTask(project, kotlinTaskName, variantData.name)
|
||||||
kotlinTask.parentKotlinOptionsImpl = rootKotlinOptions
|
kotlinTask.parentKotlinOptionsImpl = rootKotlinOptions
|
||||||
|
|
||||||
// store kotlin classes in separate directory. They will serve as class-path to java compiler
|
// store kotlin classes in separate directory. They will serve as class-path to java compiler
|
||||||
|
|||||||
+5
-1
@@ -5,6 +5,7 @@ import org.codehaus.groovy.runtime.MethodClosure
|
|||||||
import org.gradle.api.GradleException
|
import org.gradle.api.GradleException
|
||||||
import org.gradle.api.file.SourceDirectorySet
|
import org.gradle.api.file.SourceDirectorySet
|
||||||
import org.gradle.api.logging.Logger
|
import org.gradle.api.logging.Logger
|
||||||
|
import org.gradle.api.tasks.SourceSet
|
||||||
import org.gradle.api.tasks.SourceTask
|
import org.gradle.api.tasks.SourceTask
|
||||||
import org.gradle.api.tasks.TaskAction
|
import org.gradle.api.tasks.TaskAction
|
||||||
import org.gradle.api.tasks.compile.AbstractCompile
|
import org.gradle.api.tasks.compile.AbstractCompile
|
||||||
@@ -40,6 +41,7 @@ import org.jetbrains.kotlin.progress.CompilationCanceledStatus
|
|||||||
import org.jetbrains.kotlin.utils.LibraryUtils
|
import org.jetbrains.kotlin.utils.LibraryUtils
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import kotlin.properties.Delegates
|
||||||
|
|
||||||
const val ANNOTATIONS_PLUGIN_NAME = "org.jetbrains.kotlin.kapt"
|
const val ANNOTATIONS_PLUGIN_NAME = "org.jetbrains.kotlin.kapt"
|
||||||
const val KOTLIN_BUILD_DIR_NAME = "kotlin"
|
const val KOTLIN_BUILD_DIR_NAME = "kotlin"
|
||||||
@@ -68,7 +70,9 @@ abstract class AbstractKotlinCompile<T : CommonCompilerArguments>() : AbstractCo
|
|||||||
internal var anyClassesCompiled: Boolean = false
|
internal var anyClassesCompiled: Boolean = false
|
||||||
internal var friendTaskName: String? = null
|
internal var friendTaskName: String? = null
|
||||||
internal var javaOutputDir: File? = null
|
internal var javaOutputDir: File? = null
|
||||||
internal var moduleName: String = "${project.name}-${this.name}"
|
internal var sourceSetName: String by Delegates.notNull()
|
||||||
|
protected val moduleName: String
|
||||||
|
get() = "${project.name}_$sourceSetName"
|
||||||
|
|
||||||
override fun compile() {
|
override fun compile() {
|
||||||
assert(false, { "unexpected call to compile()" })
|
assert(false, { "unexpected call to compile()" })
|
||||||
|
|||||||
+4
-2
@@ -1,20 +1,22 @@
|
|||||||
package org.jetbrains.kotlin.gradle.tasks
|
package org.jetbrains.kotlin.gradle.tasks
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.api.tasks.SourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.RegexTaskToFriendTaskMapper
|
import org.jetbrains.kotlin.gradle.plugin.RegexTaskToFriendTaskMapper
|
||||||
import org.jetbrains.kotlin.gradle.plugin.TaskToFriendTaskMapper
|
import org.jetbrains.kotlin.gradle.plugin.TaskToFriendTaskMapper
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mapKotlinTaskProperties
|
import org.jetbrains.kotlin.gradle.plugin.mapKotlinTaskProperties
|
||||||
|
|
||||||
internal open class KotlinTasksProvider {
|
internal open class KotlinTasksProvider {
|
||||||
fun createKotlinJVMTask(project: Project, name: String): KotlinCompile {
|
fun createKotlinJVMTask(project: Project, name: String, sourceSetName: String): KotlinCompile {
|
||||||
return project.tasks.create(name, KotlinCompile::class.java).apply {
|
return project.tasks.create(name, KotlinCompile::class.java).apply {
|
||||||
|
this.sourceSetName = sourceSetName
|
||||||
friendTaskName = taskToFriendTaskMapper[this]
|
friendTaskName = taskToFriendTaskMapper[this]
|
||||||
mapKotlinTaskProperties(project, this)
|
mapKotlinTaskProperties(project, this)
|
||||||
outputs.upToDateWhen { isCacheFormatUpToDate }
|
outputs.upToDateWhen { isCacheFormatUpToDate }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun createKotlinJSTask(project: Project, name: String): Kotlin2JsCompile =
|
fun createKotlinJSTask(project: Project, name: String, sourceSetName: String): Kotlin2JsCompile =
|
||||||
project.tasks.create(name, Kotlin2JsCompile::class.java)
|
project.tasks.create(name, Kotlin2JsCompile::class.java)
|
||||||
|
|
||||||
protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
protected open val taskToFriendTaskMapper: TaskToFriendTaskMapper =
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ import org.jetbrains.kotlin.config.IncrementalCompilation
|
|||||||
import org.jetbrains.kotlin.incremental.CacheVersion
|
import org.jetbrains.kotlin.incremental.CacheVersion
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
internal const val GRADLE_CACHE_VERSION = 1
|
internal const val GRADLE_CACHE_VERSION = 2
|
||||||
internal const val GRADLE_CACHE_VERSION_FILE_NAME = "gradle-format-version.txt"
|
internal const val GRADLE_CACHE_VERSION_FILE_NAME = "gradle-format-version.txt"
|
||||||
|
|
||||||
internal fun gradleCacheVersion(dataRoot: File): CacheVersion =
|
internal fun gradleCacheVersion(dataRoot: File): CacheVersion =
|
||||||
|
|||||||
Reference in New Issue
Block a user