plugins { id("kotlin-platform-common") } description = 'Kotlin Common Standard Library' RepoArtifacts.publish(project) JvmToolchain.updateJvmTarget(project, "1.8") def commonSrcDir = "../src" def commonTestSrcDir = "../test" sourceSets { main { kotlin { srcDir 'src' srcDir commonSrcDir srcDir '../unsigned/src' if(!BuildPropertiesKt.getKotlinBuildProperties(project).inIdeaSync) { srcDir "$rootDir/core/builtins/src/kotlin/internal" } } } test { kotlin { srcDir commonTestSrcDir srcDir 'test' } } } dependencies { testApi project(":kotlin-test:kotlin-test-common") testApi project(":kotlin-test:kotlin-test-annotations-common") } compileKotlinCommon { dependsOn(":prepare:build.version:writeStdlibVersion") // dependsOn ":prepare:compiler:prepare-compiler-with-bootstrap-runtime" // compilerJarFile = compilerJarWithBootstrapRuntime } compileKotlinCommon { kotlinOptions { freeCompilerArgs = [ "-module-name", project.name, "-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalMultiplatform", "-opt-in=kotlin.contracts.ExperimentalContracts", "-Xallow-kotlin-package", ] } } compileTestKotlinCommon { kotlinOptions { freeCompilerArgs += [ "-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.ExperimentalUnsignedTypes", "-opt-in=kotlin.ExperimentalStdlibApi", "-opt-in=kotlin.io.encoding.ExperimentalEncodingApi", ] } } tasks.named("jar", Jar) { LibrariesCommon.manifestAttributes(project, manifest, 'Main') } RepoArtifacts.sourcesJar(project) RepoArtifacts.javadocJar(project) tasks.named("sourcesJar").configure { it.dependsOn(":prepare:build.version:writeStdlibVersion") } classes.setDependsOn(classes.dependsOn.findAll { it != "compileJava" })