JS: add suffix '_test' to test module output files to avoid name conflicts (KT-16979)
Also stop setting AMD module ids explicitly.
Original commit: 4086a84622
This commit is contained in:
@@ -133,8 +133,8 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
||||
val list = arrayListOf<String>()
|
||||
for (moduleName in moduleNames) {
|
||||
val outputDir = File("out/production/$moduleName")
|
||||
list.add(toSystemIndependentName(JpsJsModuleUtils.getOutputFile(outputDir, moduleName).path))
|
||||
list.add(toSystemIndependentName(JpsJsModuleUtils.getOutputMetaFile(outputDir, moduleName).path))
|
||||
list.add(toSystemIndependentName(JpsJsModuleUtils.getOutputFile(outputDir, moduleName, false).path))
|
||||
list.add(toSystemIndependentName(JpsJsModuleUtils.getOutputMetaFile(outputDir, moduleName, false).path))
|
||||
}
|
||||
return list.toTypedArray()
|
||||
}
|
||||
@@ -389,8 +389,7 @@ class KotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
|
||||
buildResult.assertSuccessful()
|
||||
|
||||
val warnings = buildResult.getMessages(BuildMessage.Kind.WARNING)
|
||||
assertEquals("Warning about duplicate module definition: $warnings", 1, warnings.size)
|
||||
assertEquals("Module \"srcAndTests\" is defined in more than one file", warnings[0].messageText)
|
||||
assertEquals("Warning about duplicate module definition: $warnings", 0, warnings.size)
|
||||
}
|
||||
|
||||
fun testKotlinJavaScriptProjectWithTwoSrcModuleDependency() {
|
||||
|
||||
@@ -62,7 +62,7 @@ object JpsJsModuleUtils {
|
||||
fun addTarget(module: JpsModule, targetType: JavaModuleBuildTargetType) {
|
||||
val moduleBuildTarget = ModuleBuildTarget(module, targetType)
|
||||
val outputDir = KotlinBuilderModuleScriptGenerator.getOutputDirSafe(moduleBuildTarget)
|
||||
val metaInfoFile = getOutputMetaFile(outputDir, module.name)
|
||||
val metaInfoFile = getOutputMetaFile(outputDir, module.name, targetType.isTests)
|
||||
if (metaInfoFile.exists()) {
|
||||
result.add(metaInfoFile.absolutePath)
|
||||
}
|
||||
@@ -71,8 +71,12 @@ object JpsJsModuleUtils {
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getOutputFile(outputDir: File, moduleName: String) = File(outputDir, moduleName + KotlinJavascriptMetadataUtils.JS_EXT)
|
||||
fun getOutputFile(outputDir: File, moduleName: String, isTests: Boolean)
|
||||
= File(outputDir, moduleName + suffix(isTests) + KotlinJavascriptMetadataUtils.JS_EXT)
|
||||
|
||||
@JvmStatic
|
||||
fun getOutputMetaFile(outputDir: File, moduleName: String) = File(outputDir, moduleName + KotlinJavascriptMetadataUtils.META_JS_SUFFIX)
|
||||
fun getOutputMetaFile(outputDir: File, moduleName: String, isTests: Boolean)
|
||||
= File(outputDir, moduleName + suffix(isTests) + KotlinJavascriptMetadataUtils.META_JS_SUFFIX)
|
||||
|
||||
private fun suffix(isTests: Boolean) = if (isTests) "_test" else ""
|
||||
}
|
||||
|
||||
@@ -294,7 +294,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
||||
}
|
||||
|
||||
if (JpsUtils.isJsKotlinModule(chunk.representativeTarget())) {
|
||||
copyJsLibraryFilesIfNeeded(chunk, project)
|
||||
copyJsLibraryFilesIfNeeded(chunk)
|
||||
return OK
|
||||
}
|
||||
|
||||
@@ -666,7 +666,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
||||
|
||||
val representativeModule = representativeTarget.module
|
||||
val moduleName = representativeModule.name
|
||||
val outputFile = JpsJsModuleUtils.getOutputFile(outputDir, moduleName)
|
||||
val outputFile = JpsJsModuleUtils.getOutputFile(outputDir, moduleName, representativeTarget.isTests)
|
||||
val libraries = JpsJsModuleUtils.getLibraryFilesAndDependencies(representativeTarget)
|
||||
val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(representativeModule)
|
||||
val k2JsArguments = JpsKotlinCompilerSettings.getK2JsCompilerArguments(representativeModule)
|
||||
@@ -676,7 +676,7 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
|
||||
return environment.outputItemsCollector
|
||||
}
|
||||
|
||||
private fun copyJsLibraryFilesIfNeeded(chunk: ModuleChunk, project: JpsProject) {
|
||||
private fun copyJsLibraryFilesIfNeeded(chunk: ModuleChunk) {
|
||||
val representativeTarget = chunk.representativeTarget()
|
||||
val outputDir = KotlinBuilderModuleScriptGenerator.getOutputDirSafe(representativeTarget)
|
||||
val compilerSettings = JpsKotlinCompilerSettings.getCompilerSettings(representativeTarget.module)
|
||||
|
||||
Reference in New Issue
Block a user