[Commonizer] Pretty target name output in console
This commit is contained in:
+18
-2
@@ -9,12 +9,28 @@ import org.jetbrains.kotlin.konan.target.KonanTarget
|
|||||||
|
|
||||||
// N.B. TargetPlatform/SimplePlatform are non exhaustive enough to address both target platforms such as
|
// N.B. TargetPlatform/SimplePlatform are non exhaustive enough to address both target platforms such as
|
||||||
// JVM, JS and concrete Kotlin/Native targets, e.g. macos_x64, ios_x64, linux_x64.
|
// JVM, JS and concrete Kotlin/Native targets, e.g. macos_x64, ios_x64, linux_x64.
|
||||||
sealed class CommonizerTarget
|
sealed class CommonizerTarget {
|
||||||
|
abstract val name: String
|
||||||
|
abstract val prettyName: String
|
||||||
|
|
||||||
data class LeafTarget(val name: String, val konanTarget: KonanTarget? = null) : CommonizerTarget()
|
fun prettyCommonizedName(sharedTarget: SharedTarget): String = when {
|
||||||
|
this == sharedTarget -> prettyName
|
||||||
|
this in sharedTarget.targets -> sharedTarget.targets.joinToString(prefix = "[", postfix = "]") {
|
||||||
|
if (it == this) "${it.name}(*)" else it.name
|
||||||
|
}
|
||||||
|
else -> error("Target $prettyName is not in ${sharedTarget.prettyName}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data class LeafTarget(override val name: String, val konanTarget: KonanTarget? = null) : CommonizerTarget() {
|
||||||
|
override val prettyName get() = "[$name]"
|
||||||
|
}
|
||||||
|
|
||||||
data class SharedTarget(val targets: Set<CommonizerTarget>) : CommonizerTarget() {
|
data class SharedTarget(val targets: Set<CommonizerTarget>) : CommonizerTarget() {
|
||||||
init {
|
init {
|
||||||
require(targets.isNotEmpty())
|
require(targets.isNotEmpty())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override val name get() = targets.joinToString(prefix = "[", postfix = "]") { it.name }
|
||||||
|
override val prettyName get() = name
|
||||||
}
|
}
|
||||||
@@ -70,7 +70,7 @@ fun runCommonization(parameters: CommonizerParameters): CommonizerResult {
|
|||||||
|
|
||||||
ModuleResult.Commonized(moduleDescriptor, libraryMetadata)
|
ModuleResult.Commonized(moduleDescriptor, libraryMetadata)
|
||||||
}
|
}
|
||||||
parameters.progressLogger?.invoke("Built metadata for target [$target]")
|
parameters.progressLogger?.invoke("Built metadata for ${target.prettyCommonizedName(parameters.sharedTarget)}")
|
||||||
|
|
||||||
val missingModules: List<ModuleResult.Missing> = if (target is LeafTarget)
|
val missingModules: List<ModuleResult.Missing> = if (target is LeafTarget)
|
||||||
mergeResult.missingModuleInfos.getValue(target).map { ModuleResult.Missing(it.originalLocation) }
|
mergeResult.missingModuleInfos.getValue(target).map { ModuleResult.Missing(it.originalLocation) }
|
||||||
|
|||||||
+4
-5
@@ -189,7 +189,6 @@ class NativeDistributionCommonizer(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val leafTargetNames = result.leafTargets.map { it.name }
|
|
||||||
val targetsToSerialize = result.leafTargets + result.sharedTarget
|
val targetsToSerialize = result.leafTargets + result.sharedTarget
|
||||||
targetsToSerialize.forEach { target ->
|
targetsToSerialize.forEach { target ->
|
||||||
val moduleResults: Collection<ModuleResult> = result.modulesByTargets.getValue(target)
|
val moduleResults: Collection<ModuleResult> = result.modulesByTargets.getValue(target)
|
||||||
@@ -210,8 +209,8 @@ class NativeDistributionCommonizer(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val targetName = leafTargetNames.joinToString { if (it == starredTarget) "$it(*)" else it }
|
val prettyTargetName = target.prettyCommonizedName(result.sharedTarget)
|
||||||
serializeTarget(target, targetName, newLibraries, missingModuleLocations, manifestProvider)
|
serializeTarget(target, prettyTargetName, newLibraries, missingModuleLocations, manifestProvider)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -254,7 +253,7 @@ class NativeDistributionCommonizer(
|
|||||||
|
|
||||||
private fun serializeTarget(
|
private fun serializeTarget(
|
||||||
target: CommonizerTarget,
|
target: CommonizerTarget,
|
||||||
targetName: String,
|
prettyTargetName: String,
|
||||||
newLibraries: Collection<LibraryMetadata>,
|
newLibraries: Collection<LibraryMetadata>,
|
||||||
missingModuleLocations: List<File>,
|
missingModuleLocations: List<File>,
|
||||||
manifestProvider: NativeManifestDataProvider
|
manifestProvider: NativeManifestDataProvider
|
||||||
@@ -276,7 +275,7 @@ class NativeDistributionCommonizer(
|
|||||||
missingModuleLocation.copyRecursively(librariesDestination.resolve(libraryName))
|
missingModuleLocation.copyRecursively(librariesDestination.resolve(libraryName))
|
||||||
}
|
}
|
||||||
|
|
||||||
logProgress("Written libraries for [$targetName]")
|
logProgress("Written libraries for $prettyTargetName")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun writeLibrary(
|
private fun writeLibrary(
|
||||||
|
|||||||
+1
-1
@@ -79,7 +79,7 @@ class CirTreeMerger(
|
|||||||
parameters.targetProviders.forEachIndexed { targetIndex, targetProvider ->
|
parameters.targetProviders.forEachIndexed { targetIndex, targetProvider ->
|
||||||
val commonModuleInfos = allModuleInfos[targetIndex].filterKeys { it in commonModuleNames }
|
val commonModuleInfos = allModuleInfos[targetIndex].filterKeys { it in commonModuleNames }
|
||||||
processTarget(rootNode, targetIndex, targetProvider, commonModuleInfos, dependeeModules)
|
processTarget(rootNode, targetIndex, targetProvider, commonModuleInfos, dependeeModules)
|
||||||
parameters.progressLogger?.invoke("Loaded declarations for [${targetProvider.target.name}]")
|
parameters.progressLogger?.invoke("Loaded declarations for ${targetProvider.target.prettyName}")
|
||||||
System.gc()
|
System.gc()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user