Browse Source

Fix multiplatform projects in IDEA / Android Studio

Fixes:
- https://github.com/JetBrains/compose-jb/issues/21
We need to move buildscript from settings.gradle.kts to build.gradle.kts
See also https://youtrack.jetbrains.com/issue/KT-36331

- https://github.com/JetBrains/compose-jb/issues/22
kotlin("jvm") plugin doesn't work well with MPP modules.
To fix this issue we need to use kotlin("multiplatform") even if we targeting single platform.
See also https://youtrack.jetbrains.com/issue/KT-42823
pull/30/head
Igor Demin 4 years ago
parent
commit
3b13944daf
  1. 14
      examples/imageviewer/build.gradle.kts
  2. 17
      examples/imageviewer/desktop/build.gradle.kts
  3. 0
      examples/imageviewer/desktop/src/jvmMain/kotlin/imageviewer/Main.kt
  4. 14
      examples/imageviewer/settings.gradle.kts
  5. 14
      examples/issues/build.gradle.kts
  6. 17
      examples/issues/desktop/build.gradle.kts
  7. 0
      examples/issues/desktop/src/jvmMain/kotlin/androidx/ui/examples/jetissues/Main.kt
  8. 14
      examples/issues/settings.gradle.kts
  9. 32
      examples/todoapp/desktop/build.gradle.kts
  10. 0
      examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt
  11. 16
      templates/multiplatform-template/build.gradle.kts
  12. 17
      templates/multiplatform-template/desktop/build.gradle.kts
  13. 0
      templates/multiplatform-template/desktop/src/jvmMain/kotlin/main.kt
  14. 16
      templates/multiplatform-template/settings.gradle.kts

14
examples/imageviewer/build.gradle.kts

@ -1,3 +1,17 @@
buildscript {
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:0.1.0-dev97")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
allprojects {
repositories {
mavenLocal()

17
examples/imageviewer/desktop/build.gradle.kts

@ -1,15 +1,24 @@
import org.jetbrains.compose.compose
plugins {
kotlin("jvm")
kotlin("multiplatform")
id("org.jetbrains.compose")
java
application
}
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
kotlin {
jvm {
withJava()
}
sourceSets {
named("jvmMain") {
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
}
}
}
}
application {

0
examples/imageviewer/desktop/src/main/kotlin/imageviewer/Main.kt → examples/imageviewer/desktop/src/jvmMain/kotlin/imageviewer/Main.kt

14
examples/imageviewer/settings.gradle.kts

@ -1,15 +1 @@
buildscript {
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:0.1.0-dev97")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
include(":common", ":android", ":desktop")

14
examples/issues/build.gradle.kts

@ -1,3 +1,17 @@
buildscript {
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:0.1.0-dev97")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
allprojects {
repositories {
mavenLocal()

17
examples/issues/desktop/build.gradle.kts

@ -1,15 +1,24 @@
import org.jetbrains.compose.compose
plugins {
kotlin("jvm")
kotlin("multiplatform")
id("org.jetbrains.compose")
java
application
}
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
kotlin {
jvm {
withJava()
}
sourceSets {
named("jvmMain") {
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
}
}
}
}
application {

0
examples/issues/desktop/src/main/kotlin/androidx/ui/examples/jetissues/Main.kt → examples/issues/desktop/src/jvmMain/kotlin/androidx/ui/examples/jetissues/Main.kt

14
examples/issues/settings.gradle.kts

@ -1,15 +1 @@
buildscript {
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:0.1.0-dev97")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
include(":common", ":android", ":desktop")

32
examples/todoapp/desktop/build.gradle.kts

@ -1,22 +1,32 @@
import org.jetbrains.compose.compose
plugins {
kotlin("jvm")
kotlin("multiplatform")
id("org.jetbrains.compose")
java
application
}
dependencies {
implementation(compose.desktop.all)
implementation(project(":common:utils"))
implementation(project(":common:database"))
implementation(project(":common:root"))
implementation(Deps.ArkIvanov.Decompose.decompose)
implementation(Deps.ArkIvanov.MVIKotlin.mvikotlin)
implementation(Deps.ArkIvanov.MVIKotlin.mvikotlinMain)
implementation(Deps.Badoo.Reaktive.reaktive)
implementation(Deps.Badoo.Reaktive.coroutinesInterop)
kotlin {
jvm {
withJava()
}
sourceSets {
named("jvmMain") {
dependencies {
implementation(compose.desktop.all)
implementation(project(":common:utils"))
implementation(project(":common:database"))
implementation(project(":common:root"))
implementation(Deps.ArkIvanov.Decompose.decompose)
implementation(Deps.ArkIvanov.MVIKotlin.mvikotlin)
implementation(Deps.ArkIvanov.MVIKotlin.mvikotlinMain)
implementation(Deps.Badoo.Reaktive.reaktive)
implementation(Deps.Badoo.Reaktive.coroutinesInterop)
}
}
}
}
application {

0
examples/todoapp/desktop/src/main/kotlin/example/todo/desktop/Main.kt → examples/todoapp/desktop/src/jvmMain/kotlin/example/todo/desktop/Main.kt

16
templates/multiplatform-template/build.gradle.kts

@ -1,3 +1,19 @@
buildscript {
val composeVersion = System.getenv("COMPOSE_TEMPLATE_COMPOSE_VERSION") ?: "0.1.0-dev97"
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:$composeVersion")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
allprojects {
repositories {
google()

17
templates/multiplatform-template/desktop/build.gradle.kts

@ -1,15 +1,24 @@
import org.jetbrains.compose.compose
plugins {
kotlin("jvm")
kotlin("multiplatform")
id("org.jetbrains.compose")
java
application
}
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
kotlin {
jvm {
withJava()
}
sourceSets {
named("jvmMain") {
dependencies {
implementation(compose.desktop.all)
implementation(project(":common"))
}
}
}
}
application {

0
templates/multiplatform-template/desktop/src/main/kotlin/main.kt → templates/multiplatform-template/desktop/src/jvmMain/kotlin/main.kt

16
templates/multiplatform-template/settings.gradle.kts

@ -1,17 +1 @@
buildscript {
val composeVersion = System.getenv("COMPOSE_TEMPLATE_COMPOSE_VERSION") ?: "0.1.0-dev97"
repositories {
google()
jcenter()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
}
dependencies {
classpath("org.jetbrains.compose:compose-gradle-plugin:$composeVersion")
classpath("com.android.tools.build:gradle:4.0.1")
classpath(kotlin("gradle-plugin", version = "1.4.0"))
}
}
include(":common", ":android", ":desktop")

Loading…
Cancel
Save