Enable compatibility metadata variant by default in HMPP
This by default ensures that libraries published with HMPP are compatible with non-HMPP consumers (which is the default in 1.4.0).
This commit is contained in:
+7
-2
@@ -148,7 +148,7 @@ class KlibBasedMppIT : BaseGradleIT() {
|
|||||||
// Check that the metadata JAR doesn't contain the host-specific source set entries, but contains the shared-Native source set
|
// Check that the metadata JAR doesn't contain the host-specific source set entries, but contains the shared-Native source set
|
||||||
// that can be built on every host:
|
// that can be built on every host:
|
||||||
|
|
||||||
ZipFile(groupDir.resolve("$dependencyModuleName-metadata/1.0/$dependencyModuleName-metadata-1.0.jar")).use { metadataJar ->
|
ZipFile(groupDir.resolve("$dependencyModuleName-metadata/1.0/$dependencyModuleName-metadata-1.0-all.jar")).use { metadataJar ->
|
||||||
assertTrue { metadataJar.entries().asSequence().none { it.name.startsWith(hostSpecificSourceSet) } }
|
assertTrue { metadataJar.entries().asSequence().none { it.name.startsWith(hostSpecificSourceSet) } }
|
||||||
assertTrue { metadataJar.entries().asSequence().any { it.name.startsWith("linuxMain") } }
|
assertTrue { metadataJar.entries().asSequence().any { it.name.startsWith("linuxMain") } }
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,12 @@ class KlibBasedMppIT : BaseGradleIT() {
|
|||||||
setupDependencies: Project.() -> Unit
|
setupDependencies: Project.() -> Unit
|
||||||
) = with(Project("common-klib-lib-and-app")) {
|
) = with(Project("common-klib-lib-and-app")) {
|
||||||
embedProject(Project("common-klib-lib-and-app"), renameTo = transitiveDepModuleName)
|
embedProject(Project("common-klib-lib-and-app"), renameTo = transitiveDepModuleName)
|
||||||
embedProject(Project("common-klib-lib-and-app"), renameTo = dependencyModuleName)
|
embedProject(Project("common-klib-lib-and-app"), renameTo = dependencyModuleName).apply {
|
||||||
|
projectDir.resolve(dependencyModuleName).walkTopDown().filter { it.extension == "kt" }.forEach { file ->
|
||||||
|
// Avoid duplicate FQNs as in the compatibility mode, the K2Metadata compiler reports duplicate symbols on them:
|
||||||
|
file.modify { it.replace("package com.h0tk3y.hmpp.klib.demo", "package com.h0tk3y.hmpp.klib.demo1") }
|
||||||
|
}
|
||||||
|
}
|
||||||
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl)
|
||||||
gradleBuildScript(dependencyModuleName).appendText("\ndependencies { \"commonMainImplementation\"(project(\":$transitiveDepModuleName\")) }")
|
gradleBuildScript(dependencyModuleName).appendText("\ndependencies { \"commonMainImplementation\"(project(\":$transitiveDepModuleName\")) }")
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -89,8 +89,8 @@ internal class PropertiesProvider private constructor(private val project: Proje
|
|||||||
val enableGranularSourceSetsMetadata: Boolean?
|
val enableGranularSourceSetsMetadata: Boolean?
|
||||||
get() = booleanProperty("kotlin.mpp.enableGranularSourceSetsMetadata")
|
get() = booleanProperty("kotlin.mpp.enableGranularSourceSetsMetadata")
|
||||||
|
|
||||||
val enableCompatibilityMetadataVariant: Boolean?
|
val enableCompatibilityMetadataVariant: Boolean
|
||||||
get() = booleanProperty("kotlin.mpp.enableCompatibilityMetadataVariant")
|
get() = booleanProperty("kotlin.mpp.enableCompatibilityMetadataVariant") ?: true
|
||||||
|
|
||||||
val ignoreDisabledNativeTargets: Boolean?
|
val ignoreDisabledNativeTargets: Boolean?
|
||||||
get() = booleanProperty(DisabledNativeTargetsReporter.DISABLE_WARNING_PROPERTY_NAME)
|
get() = booleanProperty(DisabledNativeTargetsReporter.DISABLE_WARNING_PROPERTY_NAME)
|
||||||
|
|||||||
Reference in New Issue
Block a user