Change default module name from project.name to archivesBaseName;
Get rid of `_main` for the main module. Issue #KT-17355 Fixed
This commit is contained in:
+24
@@ -558,4 +558,28 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
assertNoSuchFile("build/kotlin-classes")
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testArchiveBaseNameForModuleName() {
|
||||
val project = Project("simpleProject", "4.0")
|
||||
project.setupWorkingDir()
|
||||
|
||||
val archivesBaseName = "myArchivesBaseName"
|
||||
|
||||
val buildGradle = File(project.projectDir, "build.gradle")
|
||||
buildGradle.appendText("\narchivesBaseName = '$archivesBaseName'")
|
||||
|
||||
// Add top-level members to force generation of the *.kotlin_module files for the two source sets
|
||||
val mainHelloWorldKt = File(project.projectDir, "src/main/kotlin/helloWorld.kt")
|
||||
mainHelloWorldKt.appendText("\nfun topLevelFun() = 1")
|
||||
val deployKotlinSrcKt = File(project.projectDir, "src/deploy/kotlin/kotlinSrc.kt")
|
||||
deployKotlinSrcKt.appendText("\nfun topLevelFun() = 1")
|
||||
|
||||
project.build("build", "compileDeployKotlin") {
|
||||
assertSuccessful()
|
||||
// Main source set should have a *.kotlin_module file without '_main'
|
||||
assertFileExists("build/classes/kotlin/main/META-INF/$archivesBaseName.kotlin_module")
|
||||
assertFileExists("build/classes/kotlin/deploy/META-INF/${archivesBaseName}_deploy.kotlin_module")
|
||||
}
|
||||
}
|
||||
}
|
||||
+7
-1
@@ -20,6 +20,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.logging.Logger
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.gradle.api.tasks.Input
|
||||
import org.gradle.api.tasks.SourceTask
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
@@ -132,7 +133,12 @@ abstract class AbstractKotlinCompile<T : CommonCompilerArguments>() : AbstractKo
|
||||
internal var javaOutputDir: File? = null
|
||||
internal var sourceSetName: String by Delegates.notNull()
|
||||
internal val moduleName: String
|
||||
get() = "${project.name}_$sourceSetName"
|
||||
get() {
|
||||
val baseName = project.convention.findPlugin(BasePluginConvention::class.java)?.archivesBaseName
|
||||
?: project.name
|
||||
val suffix = if (sourceSetName == "main") "" else "_$sourceSetName"
|
||||
return "$baseName$suffix"
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
protected val friendTask: AbstractKotlinCompile<T>?
|
||||
|
||||
Reference in New Issue
Block a user