From 93f7a46ba4ee297ec9b1e530ed24d1b7a9e7b02d Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Wed, 24 Jan 2018 21:24:32 +0300 Subject: [PATCH] stdlib-jvm: build as multiplatform, move project to jvm subfolder Fix path with stdlib-jvm artifacts for public api test --- libraries/stdlib/{ => jvm}/build.gradle | 62 ++++++------------- .../RuntimePublicAPITest.kt | 2 +- settings.gradle | 2 +- 3 files changed, 22 insertions(+), 44 deletions(-) rename libraries/stdlib/{ => jvm}/build.gradle (72%) diff --git a/libraries/stdlib/build.gradle b/libraries/stdlib/jvm/build.gradle similarity index 72% rename from libraries/stdlib/build.gradle rename to libraries/stdlib/jvm/build.gradle index a34a869b8bb..4a70b6eb787 100644 --- a/libraries/stdlib/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -1,6 +1,8 @@ -description = 'Kotlin Standard Library' +description = 'Kotlin Standard Library for JVM' -apply plugin: 'kotlin' +apply plugin: 'kotlin-platform-jvm' + +archivesBaseName = 'kotlin-stdlib' configureJvm6Project(project) configureDist(project) @@ -20,22 +22,16 @@ sourceSets { } } } - builtins { - java { - srcDir "${rootDir}/core/builtins/src" - srcDir "jvm/runtime" - } - } main { java { srcDir "${rootDir}/core/builtins/src" - srcDir "jvm/runtime" + srcDir 'runtime' srcDir 'src' } } experimental { kotlin { - srcDir "experimental" + srcDir "../experimental" } } test { @@ -45,22 +41,17 @@ sourceSets { } java9 { java { - srcDir 'jvm/java9' + srcDir 'java9' } } } dependencies { - builtinsCompile group: 'org.jetbrains', name: 'annotations', version:'13.0' - compile group: 'org.jetbrains', name: 'annotations', version:'13.0' - compile sourceSets.builtins.output - - testCompile project(':kotlin-test:kotlin-test-junit') -} + expectedBy project(":kotlin-stdlib-common") -configurations { - mainJar - builtins + compile group: 'org.jetbrains', name: 'annotations', version:'13.0' + + testCompile project(':kotlin-test:kotlin-test-junit') } jar { @@ -83,11 +74,6 @@ task distJar(type: Jar) { // from sourceSets.java9.output } -task builtinsJar(type: Jar) { - baseName = "builtins" - from("${rootDir}/dist/builtins") - from sourceSets.builtins.output -} sourcesJar { from "${rootDir}/core/builtins/native" @@ -96,8 +82,6 @@ sourcesJar { artifacts { archives sourcesJar archives javadocJar - mainJar jar - builtins builtinsJar } dist { @@ -122,21 +106,11 @@ task dexMethodCount(type: DexMethodCount) { } check.dependsOn(dexMethodCount) -compileBuiltinsKotlin { - dependsOn ":core:builtins:serialize" - kotlinOptions { - freeCompilerArgs = [ - "-version", - "-Xallow-kotlin-package", - "-Xdump-declarations-to=${buildDir}/runtime-declarations.json", - "-cp", "${rootDir}/dist/builtins", - "-module-name", "kotlin-runtime" - ] - } -} compileKotlin { - dependsOn ":core:builtins:serialize" + dependsOn(":core:builtins:serialize") dependsOn(":prepare:build.version:writeStdlibVersion") + dependsOn(":kotlin-stdlib-common:preprocessSourcesMain") + classpath += files("${rootDir}/dist/builtins") kotlinOptions { freeCompilerArgs = [ "-version", @@ -144,12 +118,16 @@ compileKotlin { "-Xmultifile-parts-inherit", "-Xnormalize-constructor-calls=enable", "-Xdump-declarations-to=${buildDir}/stdlib-declarations.json", - "-cp", "${rootDir}/dist/builtins", - "-module-name", project.name + "-module-name", "kotlin-stdlib" ] } } +compileTestKotlin { + dependsOn(":kotlin-stdlib-common:preprocessSourcesTest") +} + + compileExperimentalKotlin { kotlinOptions { languageVersion = "1.3" diff --git a/libraries/tools/binary-compatibility-validator/src/test/kotlin/org.jetbrains.kotlin.tools.tests/RuntimePublicAPITest.kt b/libraries/tools/binary-compatibility-validator/src/test/kotlin/org.jetbrains.kotlin.tools.tests/RuntimePublicAPITest.kt index 3885d0320cc..c937829c0e1 100644 --- a/libraries/tools/binary-compatibility-validator/src/test/kotlin/org.jetbrains.kotlin.tools.tests/RuntimePublicAPITest.kt +++ b/libraries/tools/binary-compatibility-validator/src/test/kotlin/org.jetbrains.kotlin.tools.tests/RuntimePublicAPITest.kt @@ -34,7 +34,7 @@ class RuntimePublicAPITest { @Test fun kotlinStdlibRuntimeMerged() { snapshotAPIAndCompare( - "../../stdlib/build/libs", "kotlin-stdlib", + "../../stdlib/jvm/build/libs", "kotlin-stdlib", listOf("../stdlib-declarations.json", "../stdlib-experimental-declarations.json"), listOf("kotlin.jvm.internal") ) diff --git a/settings.gradle b/settings.gradle index 18b575a9d86..e8a83d736e4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -194,7 +194,7 @@ project(':kotlin-test:kotlin-test-testng').projectDir = "$rootDir/libraries/kotl project(':kotlin-test:kotlin-test-js').projectDir = "$rootDir/libraries/kotlin.test/js" as File project(':kotlin-test:kotlin-test-js:kotlin-test-js-it').projectDir = "$rootDir/libraries/kotlin.test/js/it" as File project(':kotlin-stdlib-common').projectDir = "$rootDir/libraries/stdlib/common" as File -project(':kotlin-stdlib').projectDir = "$rootDir/libraries/stdlib" as File +project(':kotlin-stdlib').projectDir = "$rootDir/libraries/stdlib/jvm" as File project(':kotlin-stdlib-js').projectDir = "$rootDir/libraries/stdlib/js" as File project(':kotlin-stdlib-jre7').projectDir = "$rootDir/libraries/stdlib/jre7" as File project(':kotlin-stdlib-jre8').projectDir = "$rootDir/libraries/stdlib/jre8" as File