[K/N][build] Fixes to caching and stdlib build
This commit is contained in:
@@ -78,7 +78,7 @@ targetList.each { target ->
|
|||||||
compilerDistributionPath.set(distDir)
|
compilerDistributionPath.set(distDir)
|
||||||
// TODO: should depend on stdlib producer task and its properties
|
// TODO: should depend on stdlib producer task and its properties
|
||||||
def clibs = [:]
|
def clibs = [:]
|
||||||
clibs.put(project.file("$dist/klib/common/stdlib"), project.file("$dist/klib/cache/${target}-gSTATIC/stdlib-cache"))
|
clibs.put(project.file("$dist/klib/common/stdlib"), project.file("$dist/klib/cache/${target}-g$cacheKind/stdlib-cache"))
|
||||||
cachedLibraries = clibs
|
cachedLibraries = clibs
|
||||||
|
|
||||||
dependsOn "$library.projectName:${target}${library.taskName}"
|
dependsOn "$library.projectName:${target}${library.taskName}"
|
||||||
|
|||||||
@@ -408,18 +408,18 @@ lateinit var stdlibBuildTask: TaskProvider<Task>
|
|||||||
konanArtifacts {
|
konanArtifacts {
|
||||||
library("stdlib") {
|
library("stdlib") {
|
||||||
baseDir(project.buildDir.resolve("stdlib"))
|
baseDir(project.buildDir.resolve("stdlib"))
|
||||||
|
enableMultiplatform(true)
|
||||||
extraOpts(args + project.globalBuildArgs)
|
extraOpts(args + project.globalBuildArgs)
|
||||||
extraOpts(
|
extraOpts(
|
||||||
"-module-name", "stdlib",
|
"-module-name", "stdlib",
|
||||||
"-Xmulti-platform",
|
|
||||||
"-opt-in=kotlin.RequiresOptIn",
|
"-opt-in=kotlin.RequiresOptIn",
|
||||||
"-opt-in=kotlin.contracts.ExperimentalContracts",
|
"-opt-in=kotlin.contracts.ExperimentalContracts",
|
||||||
"-opt-in=kotlin.ExperimentalMultiplatform",
|
"-opt-in=kotlin.ExperimentalMultiplatform",
|
||||||
"-opt-in=kotlin.native.internal.InternalForKotlinNative",
|
"-opt-in=kotlin.native.internal.InternalForKotlinNative",
|
||||||
"-opt-in=kotlin.native.SymbolNameIsDeprecated"
|
"-opt-in=kotlin.native.SymbolNameIsDeprecated"
|
||||||
)
|
)
|
||||||
commonStdlibSrcDirs.forEach { extraOpts(it) }
|
|
||||||
srcFiles(commonBuiltinsSrc)
|
srcFiles(commonBuiltinsSrc)
|
||||||
|
commonStdlibSrcDirs.forEach { extraOpts(it) }
|
||||||
testAnnotationCommonSrcDir.forEach { extraOpts(it) }
|
testAnnotationCommonSrcDir.forEach { extraOpts(it) }
|
||||||
testCommonSrcDir.forEach { extraOpts(it) }
|
testCommonSrcDir.forEach { extraOpts(it) }
|
||||||
extraOpts(interopRuntimeCommonSrcDir)
|
extraOpts(interopRuntimeCommonSrcDir)
|
||||||
@@ -432,9 +432,15 @@ konanArtifacts {
|
|||||||
stdLibSrcDirs.forEach { srcDir(it) }
|
stdLibSrcDirs.forEach { srcDir(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
stdlibBuildTask = project.findKonanBuildTask("stdlib", project.platformManager.hostPlatform.target)
|
stdlibBuildTask = project.findKonanBuildTask("stdlib", project.platformManager.hostPlatform.target).apply {
|
||||||
stdlibBuildTask.configure {
|
configure {
|
||||||
dependsOn(":kotlin-native:distCompiler")
|
dependsOn(":kotlin-native:distCompiler")
|
||||||
|
|
||||||
|
// Configure inputs and outputs
|
||||||
|
stdLibSrcDirs.forEach { inputs.dir(it) }
|
||||||
|
commonStdlibSrcDirs.forEach { inputs.dir(it) }
|
||||||
|
outputs.dir(project.buildDir.resolve("stdlib"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -468,6 +474,7 @@ targetList.forEach { targetName ->
|
|||||||
originalKlib = project.buildDir.resolve("${targetName}Stdlib")
|
originalKlib = project.buildDir.resolve("${targetName}Stdlib")
|
||||||
cacheRoot = project.buildDir.resolve("cache/$targetName").absolutePath
|
cacheRoot = project.buildDir.resolve("cache/$targetName").absolutePath
|
||||||
|
|
||||||
|
dependsOn("${targetName}Stdlib")
|
||||||
dependsOn(":kotlin-native:${targetName}CrossDistRuntime")
|
dependsOn(":kotlin-native:${targetName}CrossDistRuntime")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user