[Commonizer] Implement :native:kotlin-klib-commonizer:api with support for library commonization

- Implement new Gradle module ':native:kotlin-klib-commonizer'
- Implement new NativeKlibCommonize task
- Implement CommonizerTarget.identityString
This commit is contained in:
sebastian.sellmair
2021-02-17 09:33:03 +01:00
committed by Space
parent 6d019d9544
commit 4500b6ce74
59 changed files with 1646 additions and 565 deletions
+3
View File
@@ -16,11 +16,13 @@ configurations {
dependencies {
embedded(project(":kotlinx-metadata-klib")) { isTransitive = false }
embedded(project(":kotlinx-metadata")) { isTransitive = false }
embedded(project(":native:kotlin-klib-commonizer-api")) { isTransitive = false }
// N.B. The order of "kotlinx-metadata*" dependencies makes sense for runtime classpath
// of the "runCommonizer" task. Please, don't mix them up.
compileOnly(project(":kotlinx-metadata-klib")) { isTransitive = false }
compileOnly(project(":kotlinx-metadata")) { isTransitive = false }
compileOnly(project(":native:kotlin-klib-commonizer-api")) { isTransitive = false }
compileOnly(project(":compiler:cli-common"))
compileOnly(project(":compiler:ir.serialization.common"))
compileOnly(project(":compiler:frontend"))
@@ -38,6 +40,7 @@ dependencies {
testImplementation(projectTests(":compiler:tests-common"))
testImplementation(project(":kotlinx-metadata-klib")) { isTransitive = false }
testImplementation(project(":kotlinx-metadata")) { isTransitive = false }
testImplementation(project(":native:kotlin-klib-commonizer-api"))
}
val runCommonizer by tasks.registering(JavaExec::class) {