Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.java > #12121

Re: Bootstrapping Kotlin from scratch

From Emmanuel Bourg <ebourg@apache.org>
Newsgroups linux.debian.maint.java
Subject Re: Bootstrapping Kotlin from scratch
Date 2021-04-06 09:50 +0200
Message-ID <C0ODg-42Y-5@gated-at.bofh.it> (permalink)
References <BZz3A-6vP-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.debian.maint.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Bootstrapping Kotlin from scratch Emmanuel Bourg <ebourg@apache.org> - 2021-04-02 23:00 +0200
  Re: Bootstrapping Kotlin from scratch Thorsten Glaser <t.glaser@tarent.de> - 2021-04-03 00:10 +0200
  Re: Bootstrapping Kotlin from scratch Emmanuel Bourg <ebourg@apache.org> - 2021-04-06 09:50 +0200
    Re: Bootstrapping Kotlin from scratch Emmanuel Bourg <ebourg@apache.org> - 2021-04-19 16:40 +0200
      Re: Bootstrapping Kotlin from scratch Emmanuel Bourg <ebourg@apache.org> - 2023-01-18 23:10 +0100

csiph-web