This repository contains the applications and slides used in the talk named Kotlin, one language to build them all!.
- The slides are available at https://gradle.github.io/imaginate
- The video recording is available at https://youtu.be/88FJwx8Yf3o?t=18545
All notable changes to this project will be documented in the Changelog .
You need the following on all platforms:
JAVA_HOME
environment variable pointing to Java >= 17- Android Studio or IntelliJ IDEA
Warning You need macos to write and run ios-specific code on simulated or real devices. This is an Apple requirement. On non-macos systems building ios-specific code is automatically disabled.
On macos you need:
In case of trouble you can use KDoctor.
Run application in a browser
./gradlew :web-app:jsBrowserRun
Run application, rebuild on source code changes with live-reload
./gradlew :web-app:jsBrowserRun --continuous
Build "htdocs" in applications/web-app/build/distributions
./gradlew :web-app:jsBrowserProductionWebpack
Run application
./gradlew :desktop-app:run
Run application, rebuild on source code changes, close the app to trigger rebuild
./gradlew :desktop-app:run --continuous
Run the application on a device or emulator
- Open the project in Android Studio >= Giraffe
- Select the
android-app
run target and a device or emulator - Click the run button
Build the APK in applications/android-app/build/outputs/apk/debug
./gradlew :android-app:assembleDebug
Run the application on a device or simulator
- Run
./gradlew :ios-app:podInstall
- Open
applications/ios-app/iosApp/iosApp.xcworkspace
in xcode - Select a simulator or device
- Click the run button
Build "htdocs" in slides/build/docs/asciidocRevealJs
./gradlew :slides:asciidoctorRevealJs
Builds "htdocs" continuously, opens a browser
./gradlew :slides:asciidoctorRevealJs --continuous
Builds PDF
./gradlew :slides:exportPdf
Note that building the slides PDF requires a JVM with JavaFX bundled.