beeware / briefcase-android-gradle-template

A template for generating Android Gradle projects with Briefcase
MIT License
18 stars 19 forks source link

Fixes #29 - Migrate Kotlin code to raw Java #30

Closed freakboy3742 closed 3 years ago

freakboy3742 commented 3 years ago

Replaces the use of Kotlin with native Java.

Why?

  1. Over the last month, we've had 2 failures introduced by incompatibilities in updates to Android Kotlin tooling.
  2. We're not relying on the advantageous features of Kotlin as a language to speed our development process.
  3. Requiring an additional language increases the barrier to entry for contribution.
  4. The fact that our template uses Kotlin requires every Briefcase Android to download more plugins and libraries; switching to Java saves a couple of hundred MB of downloads.
  5. Kotlin 1.5 (the most recent version as of Jun 2021) is incompatible with the Kotlin-gradle-plugin, and the migration docs provided by the Kotlin team are... not helpful.

Since we appear to be able to fix some non-trivial headaches by making this change, I see no reason to preserve Kotlin.

PR Checklist: