e253acd5fd
The idea is to keep all declarations in the same packages from Kotlin's point of view, but use JvmPackageName annotation to move them to another JVM package, to avoid the split package problem which is otherwise unsolvable when using module path on Java 9 (KT-19258). In this commit, kotlin-stdlib-jre7/8 are moved to kotlin-stdlib-jdk7/8 and in the subsequent commit, -jre7/8 are restored. This is done in order to make Git recognize this as a file move to preserve history. Include new stdlib-jdkN artifacts in manifest version tests.
The Kotlin Standard Library
This module creates the standard library for kotlin.
Notes for contributors
We use some code generation to generate the various utility extension function for the various collection-like types like arrays, strings, Collection<T>, Sequence<T>, Map<K, V> etc.
These sources are placed into generated folder and their names are prefixed with the underscore, for example generated/_Collections.kt
To run the code generator from the libraries directory of a kotlin checkout, use the following command:
./gradlew :tools:kotlin-stdlib-gen:run
Note: on Windows type
gradlewwithout the leading./
This then runs the script which generates a significant part of stdlib sources from the templates authored with a special kotlin based DSL.