Move 1.3-specific part of stdlib to another source set
This commit is contained in:
@@ -35,6 +35,11 @@ sourceSets {
|
|||||||
srcDir 'src'
|
srcDir 'src'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
experimental {
|
||||||
|
kotlin {
|
||||||
|
srcDir "experimental"
|
||||||
|
}
|
||||||
|
}
|
||||||
test {
|
test {
|
||||||
kotlin {
|
kotlin {
|
||||||
srcDir 'test'
|
srcDir 'test'
|
||||||
@@ -64,6 +69,7 @@ jar {
|
|||||||
manifestAttributes(manifest, project, 'Main')
|
manifestAttributes(manifest, project, 'Main')
|
||||||
from("${rootDir}/dist/builtins")
|
from("${rootDir}/dist/builtins")
|
||||||
from sourceSets.builtins.output
|
from sourceSets.builtins.output
|
||||||
|
from sourceSets.experimental.output
|
||||||
}
|
}
|
||||||
|
|
||||||
task distJar(type: Jar) {
|
task distJar(type: Jar) {
|
||||||
@@ -74,6 +80,7 @@ task distJar(type: Jar) {
|
|||||||
from sourceSets.annotations.output
|
from sourceSets.annotations.output
|
||||||
from sourceSets.builtins.output
|
from sourceSets.builtins.output
|
||||||
from sourceSets.main.output
|
from sourceSets.main.output
|
||||||
|
from sourceSets.experimental.output
|
||||||
}
|
}
|
||||||
|
|
||||||
task builtinsJar(type: Jar) {
|
task builtinsJar(type: Jar) {
|
||||||
@@ -142,4 +149,18 @@ compileKotlin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compileExperimentalKotlin {
|
||||||
|
kotlinOptions {
|
||||||
|
languageVersion = "1.3"
|
||||||
|
apiVersion = "1.3"
|
||||||
|
freeCompilerArgs = [
|
||||||
|
"-version",
|
||||||
|
"-Xallow-kotlin-package",
|
||||||
|
"-Xmultifile-parts-inherit",
|
||||||
|
"-Xdump-declarations-to=${buildDir}/stdlib-experimental-declarations.json",
|
||||||
|
"-module-name", "kotlin-stdlib-experimental"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
kotlin.experimental.coroutines 'enable'
|
kotlin.experimental.coroutines 'enable'
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ def builtinsSrcDir2 = "${buildDir}/builtin-sources-for-builtins"
|
|||||||
def commonSrcDir = "${buildDir}/common-sources"
|
def commonSrcDir = "${buildDir}/common-sources"
|
||||||
def commonTestSrcDir = "${buildDir}/common-test-sources"
|
def commonTestSrcDir = "${buildDir}/common-test-sources"
|
||||||
def builtinsDir = "${rootDir}/core/builtins"
|
def builtinsDir = "${rootDir}/core/builtins"
|
||||||
|
def experimentalSrcDir = "${rootDir}/libraries/stdlib/experimental"
|
||||||
def jsLibrariesDir = "${rootDir}/js/js.libraries"
|
def jsLibrariesDir = "${rootDir}/js/js.libraries"
|
||||||
def jsSrcDir = "${jsLibrariesDir}/src"
|
def jsSrcDir = "${jsLibrariesDir}/src"
|
||||||
def jsTestSrcDir = "${jsLibrariesDir}/test"
|
def jsTestSrcDir = "${jsLibrariesDir}/test"
|
||||||
@@ -46,6 +47,12 @@ sourceSets {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
experimental {
|
||||||
|
kotlin {
|
||||||
|
srcDir experimentalSrcDir
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
kotlin {
|
kotlin {
|
||||||
srcDir commonTestSrcDir
|
srcDir commonTestSrcDir
|
||||||
@@ -140,6 +147,18 @@ compileKotlin2Js {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
compileExperimentalKotlin2Js {
|
||||||
|
dependsOn compileKotlin2Js
|
||||||
|
kotlinOptions {
|
||||||
|
languageVersion = "1.3"
|
||||||
|
apiVersion = "1.3"
|
||||||
|
outputFile = "${buildDir}/classes/main/kotlin-experimental.js"
|
||||||
|
sourceMap = true
|
||||||
|
sourceMapPrefix = "./"
|
||||||
|
freeCompilerArgs += [ "-source-map-base-dirs", [experimentalSrcDir].join(File.pathSeparator) ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
compileTestKotlin2Js {
|
compileTestKotlin2Js {
|
||||||
dependsOn preprocessSourcesTest
|
dependsOn preprocessSourcesTest
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
@@ -148,21 +167,26 @@ compileTestKotlin2Js {
|
|||||||
}
|
}
|
||||||
|
|
||||||
task compileJs(type: JavaExec) {
|
task compileJs(type: JavaExec) {
|
||||||
dependsOn compileBuiltinsKotlin2Js, compileKotlin2Js
|
dependsOn compileBuiltinsKotlin2Js, compileKotlin2Js, compileExperimentalKotlin2Js
|
||||||
inputs.files(compileBuiltinsKotlin2Js.outputs.files)
|
inputs.files(compileBuiltinsKotlin2Js.outputs.files)
|
||||||
inputs.files(compileKotlin2Js.outputs.files)
|
inputs.files(compileKotlin2Js.outputs.files)
|
||||||
|
inputs.files(compileExperimentalKotlin2Js.outputs.files)
|
||||||
inputs.dir(jsSrcDir)
|
inputs.dir(jsSrcDir)
|
||||||
outputs.file(jsOutputFile)
|
outputs.file(jsOutputFile)
|
||||||
outputs.file("${jsOutputFile}.map")
|
outputs.file("${jsOutputFile}.map")
|
||||||
|
|
||||||
def inputFiles = fileTree("${jsSrcJsDir}") {
|
def inputFiles = fileTree(jsSrcJsDir) {
|
||||||
include '**/*.js'
|
include '**/*.js'
|
||||||
}
|
}
|
||||||
|
|
||||||
main = "org.jetbrains.kotlin.js.FileMergerKt"
|
main = "org.jetbrains.kotlin.js.FileMergerKt"
|
||||||
doFirst {
|
doFirst {
|
||||||
args = [jsOutputFile, rootDir, "$jsSrcDir/wrapper.js"] + inputFiles.collect { it.path } +
|
args = [jsOutputFile, rootDir, "$jsSrcDir/wrapper.js"] + inputFiles.collect { it.path } +
|
||||||
["$buildDir/classes/builtins/kotlin.js", "$buildDir/classes/main/kotlin.js"]
|
(compileBuiltinsKotlin2Js.outputs.files.collect { it.path } +
|
||||||
|
compileKotlin2Js.outputs.files.collect { it.path } +
|
||||||
|
compileExperimentalKotlin2Js.outputs.files.collect { it.path }).findAll {
|
||||||
|
it.endsWith(".js") && !it.endsWith(".meta.js")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
classpath = configurations.merger
|
classpath = configurations.merger
|
||||||
|
|
||||||
@@ -241,6 +265,9 @@ task sourcesJar(type: Jar, dependsOn: classes) {
|
|||||||
exclude '**/*.java'
|
exclude '**/*.java'
|
||||||
exclude 'js/**'
|
exclude 'js/**'
|
||||||
}
|
}
|
||||||
|
from (sourceSets.experimental.allSource) {
|
||||||
|
into 'kotlin'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,26 +3,6 @@ public final class kotlin/ExceptionsKt {
|
|||||||
public static final fun getStackTrace (Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement;
|
public static final fun getStackTrace (Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract interface annotation class kotlin/Experimental : java/lang/annotation/Annotation {
|
|
||||||
public abstract fun changesMayBreak ()[Lkotlin/Experimental$Impact;
|
|
||||||
public abstract fun level ()Lkotlin/Experimental$Level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class kotlin/Experimental$Impact : java/lang/Enum {
|
|
||||||
public static final field COMPILATION Lkotlin/Experimental$Impact;
|
|
||||||
public static final field LINKAGE Lkotlin/Experimental$Impact;
|
|
||||||
public static final field RUNTIME Lkotlin/Experimental$Impact;
|
|
||||||
public static fun valueOf (Ljava/lang/String;)Lkotlin/Experimental$Impact;
|
|
||||||
public static fun values ()[Lkotlin/Experimental$Impact;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class kotlin/Experimental$Level : java/lang/Enum {
|
|
||||||
public static final field ERROR Lkotlin/Experimental$Level;
|
|
||||||
public static final field WARNING Lkotlin/Experimental$Level;
|
|
||||||
public static fun valueOf (Ljava/lang/String;)Lkotlin/Experimental$Level;
|
|
||||||
public static fun values ()[Lkotlin/Experimental$Level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class kotlin/KotlinVersion : java/lang/Comparable {
|
public final class kotlin/KotlinVersion : java/lang/Comparable {
|
||||||
public static final field CURRENT Lkotlin/KotlinVersion;
|
public static final field CURRENT Lkotlin/KotlinVersion;
|
||||||
public static final field Companion Lkotlin/KotlinVersion$Companion;
|
public static final field Companion Lkotlin/KotlinVersion$Companion;
|
||||||
@@ -104,10 +84,6 @@ public final class kotlin/TuplesKt {
|
|||||||
public static final fun toList (Lkotlin/Triple;)Ljava/util/List;
|
public static final fun toList (Lkotlin/Triple;)Ljava/util/List;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract interface annotation class kotlin/UseExperimental : java/lang/annotation/Annotation {
|
|
||||||
public abstract fun markerClass ()[Ljava/lang/Class;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final class kotlin/_Assertions {
|
public final class kotlin/_Assertions {
|
||||||
public static final field INSTANCE Lkotlin/_Assertions;
|
public static final field INSTANCE Lkotlin/_Assertions;
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -38,7 +38,11 @@ class RuntimePublicAPITest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test fun kotlinStdlibRuntimeMerged() {
|
@Test fun kotlinStdlibRuntimeMerged() {
|
||||||
snapshotAPIAndCompare("../../stdlib/build/libs", "kotlin-stdlib", listOf("../stdlib-declarations.json", "../runtime-declarations.json"), listOf("kotlin.jvm.internal"))
|
snapshotAPIAndCompare(
|
||||||
|
"../../stdlib/build/libs", "kotlin-stdlib",
|
||||||
|
listOf("../stdlib-declarations.json", "../runtime-declarations.json", "../stdlib-experimental-declarations.json"),
|
||||||
|
listOf("kotlin.jvm.internal")
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test fun kotlinStdlibJdk7() {
|
@Test fun kotlinStdlibJdk7() {
|
||||||
|
|||||||
Reference in New Issue
Block a user