This flag was introduced for KT-21030 (see also KT-31027), to change JVM
target 1.6 to 1.8 if Android options declare source/target compatibility
with JDK 1.8.
After JVM target 1.8 became the default for Kotlin (KT-29405), the logic
was changed in e9436da858 to the reverse: if Android options declare
source/target compatibility 1.6, then also use JVM target 1.6. Note that
at that point, the problem with usages of default interface methods
described in KT-21030 became obsolete, because it described a runtime
crash when Kotlin tooling failed to recognized that JVM target >= 1.8
should be used -- which was now always the case, unless you explicitly
opted in with `-jvm-target 1.6` (which would make little sense).
Now that we're removing support for JVM target 1.6 in KT-45165, there is
no use in this flag anymore. Even if Android options declare
source/target compatibility 1.6, Kotlin should still use the minimal
supported version for the JVM target, which is now 1.8. And since 1.8
is the default, no changes to the compiler options are needed.
Kotlin Libraries
This part of the project contains the sources of the following libraries:
- kotlin-stdlib, the standard library for Kotlin/JVM, Kotlin/JS and its additional parts for JDK 7 and JDK 8
- kotlin-reflect, the library for full reflection support
- kotlin-test, the library for multiplatform unit testing
- kotlin-annotations-jvm, the annotations to improve types in the Java code to look better when being consumed in the Kotlin code.
These libraries are built as a part of the root Gradle project.
Kotlin Maven Tools
This area of the project is the root for Maven build.
You can work with the maven modules of this maven project in IDEA from the root IDEA project. After importing you'll be able to explore maven projects and run goals directly from IDEA with the instruments on the right sidebar.
Building
You need to install a recent (at least 3.3) Maven distribution.
Before building this Maven project you need to build and install the required artifacts built with Gradle to the local maven repository, by issuing the following command in the root project:
./gradlew install
Note: on Windows type
gradlewwithout the leading./
This command assembles and puts the artifacts to the local maven repository to be used by the subsequent maven build. See also root ReadMe.md, section "Building".
Then you can build maven artifacts with Maven:
mvn install
If your maven build is failing with Out-Of-Memory errors, set JVM options for maven in MAVEN_OPTS environment variable like this:
MAVEN_OPTS="-Xmx2G"