[Gradle] Fix code review comments
KT-49704
This commit is contained in:
+7
-9
@@ -75,17 +75,15 @@ class BuildKotlinToolingMetadataTest {
|
||||
assertEquals(project.getKotlinPluginVersion(), metadata.buildPluginVersion)
|
||||
assertEquals(1, metadata.projectTargets.size, "Expected one target (metadata)")
|
||||
val targetMetadata = metadata.projectTargets.single()
|
||||
if (kpmModelMappingEnabled) {
|
||||
assertTrue(
|
||||
KotlinGradleFragment::class.java.isAssignableFrom(Class.forName(targetMetadata.target)),
|
||||
"Expect target to be implement ${KotlinGradleFragment::class.simpleName}"
|
||||
)
|
||||
val targetClass = if (kpmModelMappingEnabled) {
|
||||
KotlinGradleFragment::class
|
||||
} else {
|
||||
assertTrue(
|
||||
KotlinMetadataTarget::class.java.isAssignableFrom(Class.forName(targetMetadata.target)),
|
||||
"Expect target to be implement ${KotlinMetadataTarget::class.simpleName}"
|
||||
)
|
||||
KotlinMetadataTarget::class
|
||||
}
|
||||
assertTrue(
|
||||
targetClass.java.isAssignableFrom(Class.forName(targetMetadata.target)),
|
||||
"Expect target to implement ${targetClass.simpleName}"
|
||||
)
|
||||
assertEquals(common.name, targetMetadata.platformType)
|
||||
assertTrue(metadata.toJsonString().isNotBlank(), "Expected non blank json representation")
|
||||
}
|
||||
|
||||
+21
-25
@@ -105,33 +105,29 @@ private fun Project.buildProjectSettings(): KotlinToolingMetadata.ProjectSetting
|
||||
)
|
||||
}
|
||||
|
||||
private fun KpmGradleProjectModelContainer.buildProjectTargets(): List<KotlinToolingMetadata.ProjectTargetMetadata> {
|
||||
val result = mutableSetOf<KotlinToolingMetadata.ProjectTargetMetadata>()
|
||||
val mainModules = modules.filter { it.isMain }
|
||||
|
||||
for (module in mainModules) {
|
||||
result += KotlinToolingMetadata.ProjectTargetMetadata(
|
||||
target = module.common.javaClass.canonicalName,
|
||||
platformType = KotlinPlatformType.common.name,
|
||||
extras = KotlinToolingMetadata.ProjectTargetMetadata.Extras()
|
||||
)
|
||||
|
||||
for (variant in module.variants) {
|
||||
result += KotlinToolingMetadata.ProjectTargetMetadata(
|
||||
target = variant.javaClass.canonicalName,
|
||||
platformType = variant.platformType.name,
|
||||
extras = KotlinToolingMetadata.ProjectTargetMetadata.Extras(
|
||||
jvm = variant.jvmExtrasOrNull(),
|
||||
android = variant.androidExtrasOrNull(),
|
||||
js = variant.jsExtrasOrNull(),
|
||||
native = variant.nativeExtrasOrNull()
|
||||
)
|
||||
private fun KpmGradleProjectModelContainer.buildProjectTargets(): List<KotlinToolingMetadata.ProjectTargetMetadata> =
|
||||
modules
|
||||
.filter { it.isMain }
|
||||
.flatMap { module ->
|
||||
val commonTarget = KotlinToolingMetadata.ProjectTargetMetadata(
|
||||
target = module.common.javaClass.canonicalName,
|
||||
platformType = KotlinPlatformType.common.name,
|
||||
extras = KotlinToolingMetadata.ProjectTargetMetadata.Extras()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return result.toList()
|
||||
}
|
||||
module.variants.map { variant ->
|
||||
KotlinToolingMetadata.ProjectTargetMetadata(
|
||||
target = variant.javaClass.canonicalName,
|
||||
platformType = variant.platformType.name,
|
||||
extras = KotlinToolingMetadata.ProjectTargetMetadata.Extras(
|
||||
jvm = variant.jvmExtrasOrNull(),
|
||||
android = variant.androidExtrasOrNull(),
|
||||
js = variant.jsExtrasOrNull(),
|
||||
native = variant.nativeExtrasOrNull()
|
||||
)
|
||||
)
|
||||
} + commonTarget
|
||||
}.distinct()
|
||||
|
||||
private fun KotlinGradleVariant.jvmExtrasOrNull() =
|
||||
when (this) {
|
||||
|
||||
Reference in New Issue
Block a user