Build standard library for JVM from a single source set

Add explicit imports for kotlin.* and kotlin.text.* to prevent typealiases
conflicting with their aliased types from default imports.
This commit is contained in:
Ilya Gorbunov
2017-12-13 00:37:15 +03:00
parent cfc940af66
commit 70236d4824
48 changed files with 87 additions and 6 deletions
@@ -11,6 +11,8 @@ package kotlin.collections
import kotlin.js.* import kotlin.js.*
import primitiveArrayConcat import primitiveArrayConcat
import withType import withType
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.collections
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.comparisons
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.collections
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.ranges
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.sequences
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
import kotlin.coroutines.experimental.* import kotlin.coroutines.experimental.*
@@ -9,6 +9,8 @@ package kotlin.collections
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.text
// //
import kotlin.js.* import kotlin.js.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
+5 -4
View File
@@ -28,6 +28,8 @@ sourceSets {
} }
main { main {
java { java {
srcDir "${rootDir}/core/builtins/src"
srcDir "jvm/runtime"
srcDir 'src' srcDir 'src'
} }
} }
@@ -69,7 +71,6 @@ task originalStdlibJar(type: Jar) {
jar { jar {
manifestAttributes(manifest, project, 'Main', true) manifestAttributes(manifest, project, 'Main', true)
from("${rootDir}/dist/builtins") from("${rootDir}/dist/builtins")
from sourceSets.builtins.output
from sourceSets.experimental.output from sourceSets.experimental.output
// TODO: enable as soon as this doesn't cause D8/DX to crash // TODO: enable as soon as this doesn't cause D8/DX to crash
// from sourceSets.java9.output // from sourceSets.java9.output
@@ -81,7 +82,6 @@ task distJar(type: Jar) {
manifestAttributes(manifest, project, 'Main', true) manifestAttributes(manifest, project, 'Main', true)
from("${rootDir}/dist/builtins") from("${rootDir}/dist/builtins")
from sourceSets.annotations.output from sourceSets.annotations.output
from sourceSets.builtins.output
from sourceSets.main.output from sourceSets.main.output
from sourceSets.experimental.output from sourceSets.experimental.output
// TODO: enable as soon as this doesn't cause D8/DX to crash // TODO: enable as soon as this doesn't cause D8/DX to crash
@@ -96,7 +96,6 @@ task builtinsJar(type: Jar) {
sourcesJar { sourcesJar {
from "${rootDir}/core/builtins/native" from "${rootDir}/core/builtins/native"
from sourceSets.builtins.kotlin
} }
artifacts { artifacts {
@@ -141,6 +140,7 @@ compileBuiltinsKotlin {
} }
} }
compileKotlin { compileKotlin {
dependsOn ":core:builtins:serialize"
dependsOn(":prepare:build.version:writeStdlibVersion") dependsOn(":prepare:build.version:writeStdlibVersion")
kotlinOptions { kotlinOptions {
freeCompilerArgs = [ freeCompilerArgs = [
@@ -149,6 +149,7 @@ compileKotlin {
"-Xmultifile-parts-inherit", "-Xmultifile-parts-inherit",
"-Xnormalize-constructor-calls=enable", "-Xnormalize-constructor-calls=enable",
"-Xdump-declarations-to=${buildDir}/stdlib-declarations.json", "-Xdump-declarations-to=${buildDir}/stdlib-declarations.json",
"-cp", "${rootDir}/dist/builtins",
"-module-name", project.name "-module-name", project.name
] ]
} }
@@ -168,6 +169,6 @@ compileExperimentalKotlin {
} }
} }
compileJava9Sources(project, 'kotlin.stdlib', [sourceSets.builtins.output, sourceSets.main.output]) compileJava9Sources(project, 'kotlin.stdlib')
kotlin.experimental.coroutines 'enable' kotlin.experimental.coroutines 'enable'
@@ -8,6 +8,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.comparisons
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.ranges
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.sequences
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
import kotlin.coroutines.experimental.* import kotlin.coroutines.experimental.*
@@ -8,6 +8,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -8,6 +8,8 @@ package kotlin.text
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.comparisons
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
+2
View File
@@ -9,6 +9,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.ranges
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.sequences
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
import kotlin.coroutines.experimental.* import kotlin.coroutines.experimental.*
+2
View File
@@ -9,6 +9,8 @@ package kotlin.collections
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -9,6 +9,8 @@ package kotlin.text
// See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib // See: https://github.com/JetBrains/kotlin/tree/master/libraries/stdlib
// //
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -20,6 +20,8 @@
package kotlin.collections package kotlin.collections
import kotlin.*
/** /**
* Provides a skeletal implementation of the read-only [List] interface. * Provides a skeletal implementation of the read-only [List] interface.
* *
@@ -19,6 +19,7 @@
package kotlin.collections package kotlin.collections
import kotlin.*
import kotlin.comparisons.compareValues import kotlin.comparisons.compareValues
internal object EmptyIterator : ListIterator<Nothing> { internal object EmptyIterator : ListIterator<Nothing> {
@@ -18,6 +18,8 @@
package kotlin.collections package kotlin.collections
import kotlin.*
private open class ReversedListReadOnly<out T>(private val delegate: List<T>) : AbstractList<T>() { private open class ReversedListReadOnly<out T>(private val delegate: List<T>) : AbstractList<T>() {
override val size: Int get() = delegate.size override val size: Int get() = delegate.size
@@ -3,6 +3,8 @@
package kotlin.sequences package kotlin.sequences
import kotlin.*
/** /**
* Given an [iterator] function constructs a [Sequence] that returns values through the [Iterator] * Given an [iterator] function constructs a [Sequence] that returns values through the [Iterator]
* provided by that function. * provided by that function.
@@ -16,6 +16,7 @@
package kotlin.collections package kotlin.collections
import kotlin.*
import kotlin.coroutines.experimental.buildIterator import kotlin.coroutines.experimental.buildIterator
internal fun checkWindowSizeStep(size: Int, step: Int) { internal fun checkWindowSizeStep(size: Int, step: Int) {
@@ -17,6 +17,7 @@
package kotlin.coroutines.experimental package kotlin.coroutines.experimental
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater import java.util.concurrent.atomic.AtomicReferenceFieldUpdater
import kotlin.*
import kotlin.coroutines.experimental.intrinsics.COROUTINE_SUSPENDED import kotlin.coroutines.experimental.intrinsics.COROUTINE_SUSPENDED
@PublishedApi @PublishedApi
@@ -18,6 +18,7 @@
@file:kotlin.jvm.JvmName("SequenceBuilderKt") @file:kotlin.jvm.JvmName("SequenceBuilderKt")
package kotlin.coroutines.experimental package kotlin.coroutines.experimental
import kotlin.*
import kotlin.coroutines.experimental.intrinsics.* import kotlin.coroutines.experimental.intrinsics.*
/** /**
@@ -1,7 +1,7 @@
@file:JvmVersion @file:JvmVersion
package kotlin.internal package kotlin.internal
import java.io.Closeable import kotlin.*
import java.util.regex.MatchResult import java.util.regex.MatchResult
internal open class PlatformImplementations { internal open class PlatformImplementations {
@@ -3,6 +3,7 @@
package kotlin.io package kotlin.io
import kotlin.text.*
import java.io.InputStream import java.io.InputStream
import java.nio.Buffer import java.nio.Buffer
import java.nio.ByteBuffer import java.nio.ByteBuffer
@@ -1,6 +1,7 @@
@file:JvmVersion @file:JvmVersion
package kotlin.io package kotlin.io
import kotlin.text.*
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
@@ -4,7 +4,7 @@
package kotlin.io package kotlin.io
import java.io.File import java.io.File
import kotlin.text.Regex import kotlin.*
/** /**
* Estimation of a root name by a given file name. * Estimation of a root name by a given file name.
@@ -3,6 +3,7 @@
@file:JvmName("FilesKt") @file:JvmName("FilesKt")
package kotlin.io package kotlin.io
import kotlin.*
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
import java.util.Stack import java.util.Stack
@@ -5,6 +5,8 @@ package kotlin.io
import java.io.* import java.io.*
import java.util.* import java.util.*
import kotlin.*
import kotlin.text.*
import kotlin.comparisons.* import kotlin.comparisons.*
/** /**
@@ -17,6 +17,8 @@
@file:JvmVersion @file:JvmVersion
package kotlin.jvm.internal.unsafe package kotlin.jvm.internal.unsafe
import kotlin.*
private fun monitorEnter(@Suppress("UNUSED_PARAMETER") monitor: Any): Unit = throw UnsupportedOperationException("This function can only be used privately") private fun monitorEnter(@Suppress("UNUSED_PARAMETER") monitor: Any): Unit = throw UnsupportedOperationException("This function can only be used privately")
private fun monitorExit(@Suppress("UNUSED_PARAMETER") monitor: Any): Unit = throw UnsupportedOperationException("This function can only be used privately") private fun monitorExit(@Suppress("UNUSED_PARAMETER") monitor: Any): Unit = throw UnsupportedOperationException("This function can only be used privately")
@@ -1,5 +1,6 @@
package kotlin.properties package kotlin.properties
import kotlin.*
import kotlin.reflect.KProperty import kotlin.reflect.KProperty
/** /**
@@ -2,6 +2,8 @@
@file:kotlin.jvm.JvmName("RangesKt") @file:kotlin.jvm.JvmName("RangesKt")
package kotlin.ranges package kotlin.ranges
import kotlin.*
/** /**
* Represents a range of floating point numbers. * Represents a range of floating point numbers.
* Extends [ClosedRange] interface providing custom operation [lessThanOrEquals] for comparing values of range domain type. * Extends [ClosedRange] interface providing custom operation [lessThanOrEquals] for comparing values of range domain type.
@@ -2,6 +2,8 @@
@file:kotlin.jvm.JvmVersion @file:kotlin.jvm.JvmVersion
package kotlin.system package kotlin.system
import kotlin.*
/** /**
* Terminates the currently running Java Virtual Machine. The * Terminates the currently running Java Virtual Machine. The
* argument serves as a status code; by convention, a nonzero status * argument serves as a status code; by convention, a nonzero status
@@ -1,6 +1,8 @@
@file:JvmVersion @file:JvmVersion
package kotlin.text package kotlin.text
import kotlin.*
/** /**
* Represents the character general category in the Unicode specification. * Represents the character general category in the Unicode specification.
*/ */
@@ -1,6 +1,8 @@
@file:JvmVersion @file:JvmVersion
package kotlin.text package kotlin.text
import kotlin.*
/** /**
* Represents the Unicode directionality of a character. * Represents the Unicode directionality of a character.
* Character directionality is used to calculate the * Character directionality is used to calculate the
@@ -20,6 +20,8 @@
package kotlin.text package kotlin.text
import kotlin.*
/** /**
* Returns `true` if this character (Unicode code point) is defined in Unicode. * Returns `true` if this character (Unicode code point) is defined in Unicode.
*/ */
@@ -20,6 +20,7 @@
package kotlin.text package kotlin.text
import kotlin.*
import kotlin.comparisons.* import kotlin.comparisons.*
import kotlin.internal.contracts.* import kotlin.internal.contracts.*
@@ -19,6 +19,7 @@
package kotlin.math package kotlin.math
import kotlin.*
import kotlin.internal.InlineOnly import kotlin.internal.InlineOnly
import java.lang.Math as nativeMath import java.lang.Math as nativeMath
@@ -85,6 +85,8 @@ fun List<MemberBuilder>.writeTo(file: File, platformSource: PlatformSourceFile)
writer.appendln("import withType") writer.appendln("import withType")
} }
} }
writer.appendln("import kotlin.*")
writer.appendln("import kotlin.text.*")
writer.appendln("import kotlin.comparisons.*") writer.appendln("import kotlin.comparisons.*")
if (sourceFile == SourceFile.Sequences) { if (sourceFile == SourceFile.Sequences) {