This is a Kotlin Multiplatform project targeting Android, Web, Desktop, Server.
-
/composeApp
is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMain
is for code that’s common for all targets.- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
iosMain
would be the right folder for such calls.
-
/server
is for the Ktor server application. -
/shared
is for the code that will be shared between all targets in the project. The most important subfolder iscommonMain
. If preferred, you can add code to the platform-specific folders here too.
Learn more about Kotlin Multiplatform, Compose Multiplatform, Kotlin/Wasm…
We would appreciate your feedback on Compose/Web and Kotlin/Wasm in the public Slack channel #compose-web. If you face any issues, please report them on GitHub.
You can open the web application by running the :composeApp:wasmJsBrowserDevelopmentRun
Gradle task.
Project generated by https://kmp.jetbrains.com/
> Task :server:printAnimalsnifferTasks
animalsnifferMain [default] for 'main' source set
report: server/build/reports/animalsniffer/main.text
depends on: classes
signatures:
java16-sun-1.0.signature
classes:
server/build/classes/java/main
server/build/classes/kotlin/main
sources:
server/src/main/java NOT EXISTS
server/src/main/kotlin
animalsnifferTest for 'test' source set
report: server/build/reports/animalsniffer/test.text
depends on: testClasses
signatures:
java16-sun-1.0.signature
classes:
server/build/classes/java/test
server/build/classes/kotlin/test
sources:
server/src/test/java NOT EXISTS
server/src/test/kotlin NOT EXISTS
*use [printAnimalsnifferSourceInfo] task to see project sources configuration details
> Task :shared:printAnimalsnifferTasks
animalsnifferDebug [default] for 'debug' android variant
report: shared/build/reports/animalsniffer/debug.text
depends on: debugAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
shared/build/tmp/kotlin-classes/debug
sources:
shared/src/androidDebug/kotlin NOT EXISTS
shared/src/androidMain/kotlin
shared/src/commonMain/kotlin
shared/src/debug/java NOT EXISTS
shared/src/debug/kotlin NOT EXISTS
shared/src/main/java NOT EXISTS
shared/src/main/kotlin NOT EXISTS
animalsnifferDebugAndroidTest for 'debugAndroidTest' android test component
report: shared/build/reports/animalsniffer/debugAndroidTest.text
depends on: debugAndroidTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
shared/src/androidInstrumentedTest/kotlin NOT EXISTS
shared/src/androidInstrumentedTestDebug/kotlin NOT EXISTS
shared/src/androidTest/java NOT EXISTS
shared/src/androidTest/kotlin NOT EXISTS
shared/src/androidTestDebug/java NOT EXISTS
shared/src/androidTestDebug/kotlin NOT EXISTS
animalsnifferDebugUnitTest for 'debugUnitTest' android test component
report: shared/build/reports/animalsniffer/debugUnitTest.text
depends on: debugUnitTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
shared/src/androidUnitTest/kotlin NOT EXISTS
shared/src/androidUnitTestDebug/kotlin NOT EXISTS
shared/src/commonTest/kotlin NOT EXISTS
shared/src/test/java NOT EXISTS
shared/src/test/kotlin NOT EXISTS
shared/src/testDebug/java NOT EXISTS
shared/src/testDebug/kotlin NOT EXISTS
animalsnifferJvmMain [default] for kotlin platform 'jvm' compilation 'main'
report: shared/build/reports/animalsniffer/jvmMain.text
depends on: jvmMainClasses
signatures:
java16-sun-1.0.signature
classes:
shared/build/classes/kotlin/jvm/main
sources:
shared/src/commonMain/kotlin
shared/src/jvmMain/kotlin
animalsnifferJvmTest for kotlin platform 'jvm' compilation 'test'
report: shared/build/reports/animalsniffer/jvmTest.text
depends on: jvmTestClasses
signatures:
java16-sun-1.0.signature
classes:
shared/build/classes/kotlin/jvm/test
sources:
shared/src/commonTest/kotlin NOT EXISTS
shared/src/jvmTest/kotlin NOT EXISTS
animalsnifferRelease [default] for 'release' android variant
report: shared/build/reports/animalsniffer/release.text
depends on: releaseAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
shared/build/tmp/kotlin-classes/release
sources:
shared/src/androidMain/kotlin
shared/src/androidRelease/kotlin NOT EXISTS
shared/src/commonMain/kotlin
shared/src/main/java NOT EXISTS
shared/src/main/kotlin NOT EXISTS
shared/src/release/java NOT EXISTS
shared/src/release/kotlin NOT EXISTS
animalsnifferReleaseUnitTest for 'releaseUnitTest' android test component
report: shared/build/reports/animalsniffer/releaseUnitTest.text
depends on: releaseUnitTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
shared/src/androidUnitTest/kotlin NOT EXISTS
shared/src/androidUnitTestRelease/kotlin NOT EXISTS
shared/src/commonTest/kotlin NOT EXISTS
shared/src/test/java NOT EXISTS
shared/src/test/kotlin NOT EXISTS
shared/src/testRelease/java NOT EXISTS
shared/src/testRelease/kotlin NOT EXISTS
animalsnifferWasmJsMain [default] for kotlin platform 'wasmJs' compilation 'main'
report: shared/build/reports/animalsniffer/wasmJsMain.text
depends on: wasmJsMainClasses
signatures:
java16-sun-1.0.signature
classes:
shared/build/classes/kotlin/wasmJs/main
sources:
shared/src/commonMain/kotlin
shared/src/wasmJsMain/kotlin
animalsnifferWasmJsTest for kotlin platform 'wasmJs' compilation 'test'
report: shared/build/reports/animalsniffer/wasmJsTest.text
depends on: wasmJsTestClasses
signatures:
java16-sun-1.0.signature
classes:
shared/build/classes/kotlin/wasmJs/test
sources:
shared/src/commonTest/kotlin NOT EXISTS
shared/src/wasmJsTest/kotlin NOT EXISTS
*use [printAnimalsnifferSourceInfo] task to see project sources configuration details
> Task :composeApp:printAnimalsnifferTasks
animalsnifferDebug [default] for 'debug' android variant
report: composeApp/build/reports/animalsniffer/debug.text
depends on: debugAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/tmp/kotlin-classes/debug
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/androidDebugResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidMainResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceAccessors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonResClass
composeApp/src/androidDebug/kotlin NOT EXISTS
composeApp/src/androidMain/kotlin
composeApp/src/commonMain/kotlin
composeApp/src/debug/java NOT EXISTS
composeApp/src/debug/kotlin NOT EXISTS
composeApp/src/main/java NOT EXISTS
composeApp/src/main/kotlin NOT EXISTS
animalsnifferDebugAndroidTest for 'debugAndroidTest' android test component
report: composeApp/build/reports/animalsniffer/debugAndroidTest.text
depends on: debugAndroidTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/androidInstrumentedTestDebugResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidInstrumentedTestResourceAccessors NOT EXISTS
composeApp/src/androidInstrumentedTest/kotlin NOT EXISTS
composeApp/src/androidInstrumentedTestDebug/kotlin NOT EXISTS
composeApp/src/androidTest/java NOT EXISTS
composeApp/src/androidTest/kotlin NOT EXISTS
composeApp/src/androidTestDebug/java NOT EXISTS
composeApp/src/androidTestDebug/kotlin NOT EXISTS
animalsnifferDebugUnitTest for 'debugUnitTest' android test component
report: composeApp/build/reports/animalsniffer/debugUnitTest.text
depends on: debugUnitTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/androidUnitTestDebugResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidUnitTestResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/commonTestResourceAccessors NOT EXISTS
composeApp/src/androidUnitTest/kotlin NOT EXISTS
composeApp/src/androidUnitTestDebug/kotlin NOT EXISTS
composeApp/src/commonTest/kotlin NOT EXISTS
composeApp/src/test/java NOT EXISTS
composeApp/src/test/kotlin NOT EXISTS
composeApp/src/testDebug/java NOT EXISTS
composeApp/src/testDebug/kotlin NOT EXISTS
animalsnifferDesktopMain [default] for kotlin platform 'desktop' compilation 'main'
report: composeApp/build/reports/animalsniffer/desktopMain.text
depends on: desktopMainClasses
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/classes/kotlin/desktop/main
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceAccessors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonResClass
composeApp/build/generated/compose/resourceGenerator/kotlin/desktopMainResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/desktopMainResourceCollectors NOT EXISTS
composeApp/src/commonMain/kotlin
composeApp/src/desktopMain/kotlin
animalsnifferDesktopTest for kotlin platform 'desktop' compilation 'test'
report: composeApp/build/reports/animalsniffer/desktopTest.text
depends on: desktopTestClasses
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/classes/kotlin/desktop/test
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/commonTestResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/desktopTestResourceAccessors NOT EXISTS
composeApp/src/commonTest/kotlin NOT EXISTS
composeApp/src/desktopTest/kotlin NOT EXISTS
animalsnifferRelease [default] for 'release' android variant
report: composeApp/build/reports/animalsniffer/release.text
depends on: releaseAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/kotlinToolingMetadata
composeApp/build/tmp/kotlin-classes/release
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/androidMainResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/androidReleaseResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceAccessors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonResClass
composeApp/src/androidMain/kotlin
composeApp/src/androidRelease/kotlin NOT EXISTS
composeApp/src/commonMain/kotlin
composeApp/src/main/java NOT EXISTS
composeApp/src/main/kotlin NOT EXISTS
composeApp/src/release/java NOT EXISTS
composeApp/src/release/kotlin NOT EXISTS
animalsnifferReleaseUnitTest for 'releaseUnitTest' android test component
report: composeApp/build/reports/animalsniffer/releaseUnitTest.text
depends on: releaseUnitTestAnimalsnifferClassesCollector
signatures:
java16-sun-1.0.signature
classes:
<empty>
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/androidUnitTestReleaseResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/androidUnitTestResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/commonTestResourceAccessors NOT EXISTS
composeApp/src/androidUnitTest/kotlin NOT EXISTS
composeApp/src/androidUnitTestRelease/kotlin NOT EXISTS
composeApp/src/commonTest/kotlin NOT EXISTS
composeApp/src/test/java NOT EXISTS
composeApp/src/test/kotlin NOT EXISTS
composeApp/src/testRelease/java NOT EXISTS
composeApp/src/testRelease/kotlin NOT EXISTS
animalsnifferWasmJsMain [default] for kotlin platform 'wasmJs' compilation 'main'
report: composeApp/build/reports/animalsniffer/wasmJsMain.text
depends on: wasmJsMainClasses
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/classes/kotlin/wasmJs/main
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceAccessors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonMainResourceCollectors
composeApp/build/generated/compose/resourceGenerator/kotlin/commonResClass
composeApp/build/generated/compose/resourceGenerator/kotlin/wasmJsMainResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/wasmJsMainResourceCollectors NOT EXISTS
composeApp/src/commonMain/kotlin
composeApp/src/wasmJsMain/kotlin
animalsnifferWasmJsTest for kotlin platform 'wasmJs' compilation 'test'
report: composeApp/build/reports/animalsniffer/wasmJsTest.text
depends on: wasmJsTestClasses
signatures:
java16-sun-1.0.signature
classes:
composeApp/build/classes/kotlin/wasmJs/test
sources:
composeApp/build/generated/compose/resourceGenerator/kotlin/commonTestResourceAccessors NOT EXISTS
composeApp/build/generated/compose/resourceGenerator/kotlin/wasmJsTestResourceAccessors NOT EXISTS
composeApp/src/commonTest/kotlin NOT EXISTS
composeApp/src/wasmJsTest/kotlin NOT EXISTS
*use [printAnimalsnifferSourceInfo] task to see project sources configuration details