Remove ModuleResult.Missing from commonization results
This result seems to not be used ^KT-51026
This commit is contained in:
committed by
Space Team
parent
b70c50cd1f
commit
59b8941c28
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.commonizer
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.commonizer.konan.NativeSensitiveManifestData
|
import org.jetbrains.kotlin.commonizer.konan.NativeSensitiveManifestData
|
||||||
import org.jetbrains.kotlin.library.SerializedMetadata
|
import org.jetbrains.kotlin.library.SerializedMetadata
|
||||||
import java.io.File
|
|
||||||
|
|
||||||
internal fun buildResultsConsumer(init: ResultsConsumerBuilder.() -> Unit): ResultsConsumer {
|
internal fun buildResultsConsumer(init: ResultsConsumerBuilder.() -> Unit): ResultsConsumer {
|
||||||
return ResultsConsumerBuilder().apply(init).build()
|
return ResultsConsumerBuilder().apply(init).build()
|
||||||
@@ -16,17 +15,9 @@ internal fun buildResultsConsumer(init: ResultsConsumerBuilder.() -> Unit): Resu
|
|||||||
interface ResultsConsumer {
|
interface ResultsConsumer {
|
||||||
enum class Status { NOTHING_TO_DO, DONE }
|
enum class Status { NOTHING_TO_DO, DONE }
|
||||||
|
|
||||||
sealed class ModuleResult {
|
class ModuleResult(
|
||||||
abstract val libraryName: String
|
val libraryName: String, val metadata: SerializedMetadata, val manifest: NativeSensitiveManifestData
|
||||||
|
)
|
||||||
class Missing(val originalLocation: File) : ModuleResult() {
|
|
||||||
override val libraryName: String get() = originalLocation.name
|
|
||||||
}
|
|
||||||
|
|
||||||
class Commonized(
|
|
||||||
override val libraryName: String, val metadata: SerializedMetadata, val manifest: NativeSensitiveManifestData
|
|
||||||
) : ModuleResult()
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Consume a single [ModuleResult] for the specified [CommonizerTarget].
|
* Consume a single [ModuleResult] for the specified [CommonizerTarget].
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ internal fun serializeTarget(
|
|||||||
val manifestData = parameters.manifestProvider[outputTarget].buildManifest(libraryName)
|
val manifestData = parameters.manifestProvider[outputTarget].buildManifest(libraryName)
|
||||||
parameters.resultsConsumer.consume(
|
parameters.resultsConsumer.consume(
|
||||||
parameters, outputTarget,
|
parameters, outputTarget,
|
||||||
ResultsConsumer.ModuleResult.Commonized(libraryName, serializedMetadata, manifestData)
|
ResultsConsumer.ModuleResult(libraryName, serializedMetadata, manifestData)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
parameters.resultsConsumer.targetConsumed(parameters, outputTarget)
|
parameters.resultsConsumer.targetConsumed(parameters, outputTarget)
|
||||||
|
|||||||
@@ -5,10 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.commonizer.konan
|
package org.jetbrains.kotlin.commonizer.konan
|
||||||
|
|
||||||
import org.jetbrains.kotlin.commonizer.CommonizerOutputFileLayout
|
import org.jetbrains.kotlin.commonizer.*
|
||||||
import org.jetbrains.kotlin.commonizer.CommonizerParameters
|
|
||||||
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
|
||||||
import org.jetbrains.kotlin.commonizer.ResultsConsumer
|
|
||||||
import org.jetbrains.kotlin.library.SerializedMetadata
|
import org.jetbrains.kotlin.library.SerializedMetadata
|
||||||
import org.jetbrains.kotlin.library.impl.BaseWriterImpl
|
import org.jetbrains.kotlin.library.impl.BaseWriterImpl
|
||||||
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
|
import org.jetbrains.kotlin.library.impl.BuiltInsPlatform
|
||||||
@@ -20,20 +17,15 @@ internal class ModuleSerializer(
|
|||||||
private val destination: File,
|
private val destination: File,
|
||||||
) : ResultsConsumer {
|
) : ResultsConsumer {
|
||||||
override fun consume(parameters: CommonizerParameters, target: CommonizerTarget, moduleResult: ResultsConsumer.ModuleResult) {
|
override fun consume(parameters: CommonizerParameters, target: CommonizerTarget, moduleResult: ResultsConsumer.ModuleResult) {
|
||||||
val librariesDestination = CommonizerOutputFileLayout.resolveCommonizedDirectory(destination, target)
|
val librariesDestination = CommonizerOutputFileLayout.resolveCommonizedDirectory(
|
||||||
when (moduleResult) {
|
destination,
|
||||||
is ResultsConsumer.ModuleResult.Commonized -> {
|
target,
|
||||||
val libraryDestination = librariesDestination.resolve(moduleResult.fileSystemCompatibleLibraryName)
|
)
|
||||||
writeLibrary(moduleResult.metadata, moduleResult.manifest, libraryDestination)
|
writeLibrary(
|
||||||
}
|
moduleResult.metadata,
|
||||||
is ResultsConsumer.ModuleResult.Missing -> {
|
moduleResult.manifest,
|
||||||
val missingModuleSourceLocation = moduleResult.originalLocation
|
librariesDestination.resolve(moduleResult.fileSystemCompatibleLibraryName)
|
||||||
val missingModuleDestinationLocation = librariesDestination.resolve(moduleResult.fileSystemCompatibleLibraryName)
|
)
|
||||||
if (!missingModuleDestinationLocation.exists()) {
|
|
||||||
missingModuleSourceLocation.copyRecursively(librariesDestination.resolve(moduleResult.fileSystemCompatibleLibraryName))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -77,8 +77,7 @@ abstract class AbstractCommonizationFromSourcesTest : KtUsefulTestCase() {
|
|||||||
assertEquals(sharedTarget, results.sharedTarget)
|
assertEquals(sharedTarget, results.sharedTarget)
|
||||||
|
|
||||||
val sharedModuleAsExpected: SerializedMetadata = analyzedModules.commonizedModules.getValue(sharedTarget)
|
val sharedModuleAsExpected: SerializedMetadata = analyzedModules.commonizedModules.getValue(sharedTarget)
|
||||||
val sharedModuleByCommonizer: SerializedMetadata =
|
val sharedModuleByCommonizer: SerializedMetadata = results.modulesByTargets.getValue(sharedTarget).single().metadata
|
||||||
(results.modulesByTargets.getValue(sharedTarget).single() as ModuleResult.Commonized).metadata
|
|
||||||
|
|
||||||
assertModulesAreEqual(sharedModuleAsExpected, sharedModuleByCommonizer, sharedTarget)
|
assertModulesAreEqual(sharedModuleAsExpected, sharedModuleByCommonizer, sharedTarget)
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -9,7 +9,7 @@ import org.intellij.lang.annotations.Language
|
|||||||
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
import org.jetbrains.kotlin.builtins.DefaultBuiltIns
|
||||||
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest.DependencyAwareInlineSourceTestFactory
|
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest.DependencyAwareInlineSourceTestFactory
|
||||||
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest.Parameters
|
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest.Parameters
|
||||||
import org.jetbrains.kotlin.commonizer.ResultsConsumer.ModuleResult.Commonized
|
import org.jetbrains.kotlin.commonizer.ResultsConsumer.ModuleResult
|
||||||
import org.jetbrains.kotlin.commonizer.konan.NativeManifestDataProvider
|
import org.jetbrains.kotlin.commonizer.konan.NativeManifestDataProvider
|
||||||
import org.jetbrains.kotlin.commonizer.utils.*
|
import org.jetbrains.kotlin.commonizer.utils.*
|
||||||
import kotlin.test.assertIs
|
import kotlin.test.assertIs
|
||||||
@@ -226,7 +226,7 @@ fun HierarchicalCommonizationResult.assertCommonized(
|
|||||||
val module = getTarget(target).firstOrNull { moduleResult -> moduleResult.libraryName == referenceModule.name }
|
val module = getTarget(target).firstOrNull { moduleResult -> moduleResult.libraryName == referenceModule.name }
|
||||||
?: fail("Missing ${referenceModule.name} in target $target")
|
?: fail("Missing ${referenceModule.name} in target $target")
|
||||||
|
|
||||||
val commonizedModule = assertIs<Commonized>(module, "Expected ${module.libraryName} to be 'Commonized'")
|
val commonizedModule = assertIs<ResultsConsumer.ModuleResult>(module, "Expected ${module.libraryName} to be 'Commonized'")
|
||||||
|
|
||||||
assertModulesAreEqual(
|
assertModulesAreEqual(
|
||||||
inlineSourceTest.createMetadata(referenceModule), commonizedModule.metadata, target
|
inlineSourceTest.createMetadata(referenceModule), commonizedModule.metadata, target
|
||||||
@@ -247,7 +247,7 @@ fun HierarchicalCommonizationResult.assertCommonized(
|
|||||||
moduleBuilder: InlineSourceBuilder.ModuleBuilder.() -> Unit
|
moduleBuilder: InlineSourceBuilder.ModuleBuilder.() -> Unit
|
||||||
) = assertCommonized(parseCommonizerTarget(target), moduleBuilder)
|
) = assertCommonized(parseCommonizerTarget(target), moduleBuilder)
|
||||||
|
|
||||||
fun Collection<ResultsConsumer.ModuleResult>.assertSingleCommonizedModule(): Commonized {
|
fun Collection<ResultsConsumer.ModuleResult>.assertSingleCommonizedModule(): ResultsConsumer.ModuleResult {
|
||||||
kotlin.test.assertEquals(1, size, "Expected exactly one module. Found: ${this.map { it.libraryName }}")
|
kotlin.test.assertEquals(1, size, "Expected exactly one module. Found: ${this.map { it.libraryName }}")
|
||||||
return assertIs(single(), "Expected single module to be 'Commonized'")
|
return assertIs(single(), "Expected single module to be 'Commonized'")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,10 +135,7 @@ class CommonizerFacadeTest {
|
|||||||
val actualMissingModuleNames = mutableSetOf<String>()
|
val actualMissingModuleNames = mutableSetOf<String>()
|
||||||
|
|
||||||
actualModuleResults.forEach { moduleResult ->
|
actualModuleResults.forEach { moduleResult ->
|
||||||
when (moduleResult) {
|
actualCommonizedModuleNames += moduleResult.libraryName
|
||||||
is ModuleResult.Commonized -> actualCommonizedModuleNames += moduleResult.libraryName
|
|
||||||
is ModuleResult.Missing -> actualMissingModuleNames += moduleResult.libraryName
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assertEquals(expectedCommonizedModuleNames.size + expectedMissingModuleNames.size, actualModuleResults.size)
|
assertEquals(expectedCommonizedModuleNames.size + expectedMissingModuleNames.size, actualModuleResults.size)
|
||||||
|
|||||||
-1
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.commonizer.hierarchical
|
package org.jetbrains.kotlin.commonizer.hierarchical
|
||||||
|
|
||||||
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest
|
import org.jetbrains.kotlin.commonizer.AbstractInlineSourcesCommonizationTest
|
||||||
import org.jetbrains.kotlin.commonizer.ResultsConsumer.ModuleResult.Missing
|
|
||||||
import org.jetbrains.kotlin.commonizer.ResultsConsumer.Status
|
import org.jetbrains.kotlin.commonizer.ResultsConsumer.Status
|
||||||
import org.jetbrains.kotlin.commonizer.assertCommonized
|
import org.jetbrains.kotlin.commonizer.assertCommonized
|
||||||
import org.jetbrains.kotlin.commonizer.parseCommonizerTarget
|
import org.jetbrains.kotlin.commonizer.parseCommonizerTarget
|
||||||
|
|||||||
Reference in New Issue
Block a user