Le 02/04/2021 à 22:56, Emmanuel Bourg a écrit :

> Step 5: how to build Kotlin 0.6.2350 ???

I have the next steps, the decompiler code was refactored in the SDK in
the commit f6c6bec7361fba61ecb3aa955e4145a789d4ed97, and this wasn't
used until Kotlin 0.6.2443. Kotlin 0.6.2350 builds with Kotlin 0.6.2338
and the SDK at the preceding commit
a28195118431b514179fffe75c9ef5ed1247d6a6. And it works up to Kotlin
0.6.2389.

Starting with Kotlin 0.6.2407 two new jar files are required,
kotlin-jdk-annotations.jar and kotlin-android-sdk-annotations.jar, they
do no contain any code, just xml files defining the JDK methods that are
null safe. They can be downloaded from http://teamcity.jetbrains.com
(the URL are in the update_dependencies.xml file). With these files the
build climbs to Kotlin 0.6.2415.

Kotlin 0.6.2422 fails at the "builtins" phase, adding kotlin-runtime.jar
to the classpath fixes the issue.

Kotlin 0.6.2433 requires a new version of the SDK, the latest from the
134 line (commit 1168c7b8cb4dc8318b8d24037b372141730a0d1f) works fine.
There is also a minor nullable type definition to fix in
JavaToKotlinTranslator.kt.

It continues up to Kotlin 0.6.2500 (except 0.6.2463 which was a short
lived branch).

Kotlin 0.6.2516 fails because the jet.* packages were renamed to
kotlin.*. It turns out the bootstrap compiler must be built with the
bootstrap.build.no.tests=true parameter. This embeds the runtime into
the compiler jar and allows it to build a more recent, incompatible
compiler/runtime. I picked Kotlin 0.6.2451 as the bootstrap compiler to
build Kotlin 0.6.2516, then built Kotlin 0.6.2516 with itself and
bootstrap.build.no.tests=false. The resulting compiler is able to build
Kotlin 0.6.2517.

And this is the end of the 0.6.x line.

There are missing symbols when building the first 0.7.x tag, I'm still
working on it.

Emmanuel Bourg

Reply via email to