53,556
stars
+2
6,458
forks
1,489
watchers
9,526
prs
0
issues
307
releases
0
discussions
README
Kotlin Programming Language
Welcome to Kotlin!
Kotlin is a concise multiplatform language developed by JetBrains and contributors.
Some handy links:
Kotlin Site
Getting Started Guide
Try Kotlin
Kotlin Standard Library
Issue Tracker
Kotlin YouTube Channel
Forum
Kotlin Blog
Subscribe to Kotlin YouTube channel
Follow Kotlin on Twitter
Public Slack channel
TeamCity CI build
Kotlin Foundation
Kotlin Multiplatform capabilities
Support for multiplatform programming is one of Kotlin’s key benefits. It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.
Kotlin Multiplatform and Compose Multiplatform for sharing business logic and UI between Android, iOS, desktop, and web.
Get started with Kotlin Multiplatform
Kotlin Multiplatform Benefits
Share code on all platforms
Share code on similar platforms
Editing Kotlin
Kotlin IntelliJ IDEA Plugin (source code)
Kotlin Eclipse Plugin
Kotlin Sublime Text Package
Build environment requirements
This repository is using Gradle toolchains feature
to select and auto-provision required JDKs from Eclipse Adoptium project.
Alternatively, it is still possible to only provide required JDKs via environment variables
(see gradle.properties for supported variable names). To ensure Gradle uses only JDKs
from environmental variables - disable Gradle toolchain auto-detection by passing -Porg.gradle.java.installations.auto-detect=false option
(or put it into $GRADLE_USER_HOME/gradle.properties).
On Windows you might need to add long paths setting to the repo:
git config core.longpaths true
Building
The project is built with Gradle. Run Gradle to build the project and to run the tests
using the following command on Unix/macOS:
./gradlew
or the following command on Windows:
gradlew
On the first project configuration gradle will download and setup the dependencies on:
intellij-core is a part of command line compiler and contains only necessary APIs.
idea-full is a full blown IntelliJ IDEA Community Edition to be used in the plugin module.
These dependencies are quite large, so depending on the quality of your internet connection
you might face timeouts getting them. In this case, you can increase timeout by specifying the following
command line parameters on the first run:
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
Important gradle tasks
- clean - clean build results
- dist - assembles the compiler distribution into dist/kotlinc/ folder
- install - build and install all public artifacts into local maven repository
- coreLibsTest - build and run stdlib, reflect and kotlin-test tests
- gradlePluginTest - build and run gradle plugin tests
- compilerTest - build and run all compiler tests
To reproduce TeamCity build use -Pteamcity=true flag. Local builds don't run proguard and have jar compression disabled by dLatest release
Kotlin 2.4.21 v2.4.21 2026-10-08Changelog Backend. Wasm - KT-89267 K/Wasm: calling a (T) - R lambda with an argument that isn't a T traps instead of throwing ClassCastException JVM. Reflection - KT-89280 NoSuchElementException in argumentsMakeSenseOnlyForMutableContainer for Java non-static inner class of generic outer class - KT-80710 Reflection: change KCallable representation to avoid dependency on K1 JavaScript - KT-89449 Kotlin/JS: Member names no longer minified in production - KT-89363 KJS. Regular class with companion can't extend external class Tools. Compiler plugins. Serialization - K