diff --git a/ci/templates/desktop-template/build.gradle.kts b/ci/templates/desktop-template/build.gradle.kts index 6be3a43706a..e3da50f2976 100644 --- a/ci/templates/desktop-template/build.gradle.kts +++ b/ci/templates/desktop-template/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("jvm") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/ci/templates/desktop-template/gradle.properties b/ci/templates/desktop-template/gradle.properties index 7136c76fe1c..1b291c2c49e 100644 --- a/ci/templates/desktop-template/gradle.properties +++ b/ci/templates/desktop-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/ci/templates/desktop-template/settings.gradle.kts b/ci/templates/desktop-template/settings.gradle.kts index 9474fbaae53..377c453a535 100644 --- a/ci/templates/desktop-template/settings.gradle.kts +++ b/ci/templates/desktop-template/settings.gradle.kts @@ -6,6 +6,7 @@ pluginManagement { plugins { kotlin("jvm").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/ci/templates/html-library-template/build.gradle.kts b/ci/templates/html-library-template/build.gradle.kts index 2414d946d4e..9e0076a6dfd 100644 --- a/ci/templates/html-library-template/build.gradle.kts +++ b/ci/templates/html-library-template/build.gradle.kts @@ -3,6 +3,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -30,12 +31,3 @@ kotlin { } } -// a temporary workaround for a bug in jsRun invocation - see https://youtrack.jetbrains.com/issue/KT-48273 -afterEvaluate { - rootProject.extensions.configure { - nodeVersion = "16.0.0" - versions.webpackDevServer.version = "4.0.0" - versions.webpackCli.version = "4.10.0" - } -} - diff --git a/ci/templates/html-library-template/gradle.properties b/ci/templates/html-library-template/gradle.properties index 7136c76fe1c..1b291c2c49e 100644 --- a/ci/templates/html-library-template/gradle.properties +++ b/ci/templates/html-library-template/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/ci/templates/html-library-template/settings.gradle.kts b/ci/templates/html-library-template/settings.gradle.kts index d9760597a22..9c31eaf35bb 100644 --- a/ci/templates/html-library-template/settings.gradle.kts +++ b/ci/templates/html-library-template/settings.gradle.kts @@ -6,6 +6,7 @@ pluginManagement { plugins { kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } \ No newline at end of file diff --git a/ci/templates/multiplatform-template/android/build.gradle.kts b/ci/templates/multiplatform-template/android/build.gradle.kts index 5ab7ec6f521..3b8151dac15 100644 --- a/ci/templates/multiplatform-template/android/build.gradle.kts +++ b/ci/templates/multiplatform-template/android/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") kotlin("android") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/ci/templates/multiplatform-template/build.gradle.kts b/ci/templates/multiplatform-template/build.gradle.kts index bf95fe23b12..4c2151d43cd 100644 --- a/ci/templates/multiplatform-template/build.gradle.kts +++ b/ci/templates/multiplatform-template/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/ci/templates/multiplatform-template/common/build.gradle.kts b/ci/templates/multiplatform-template/common/build.gradle.kts index 7d059f3e1e9..255c9058ef4 100644 --- a/ci/templates/multiplatform-template/common/build.gradle.kts +++ b/ci/templates/multiplatform-template/common/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.library") kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/ci/templates/multiplatform-template/desktop/build.gradle.kts b/ci/templates/multiplatform-template/desktop/build.gradle.kts index e2f2d8466fe..966e3e51422 100644 --- a/ci/templates/multiplatform-template/desktop/build.gradle.kts +++ b/ci/templates/multiplatform-template/desktop/build.gradle.kts @@ -3,6 +3,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") id("org.jetbrains.compose") + kotlin("plugin.compose") } kotlin { diff --git a/ci/templates/multiplatform-template/gradle.properties b/ci/templates/multiplatform-template/gradle.properties index 2526895cee6..e50ea8deb06 100644 --- a/ci/templates/multiplatform-template/gradle.properties +++ b/ci/templates/multiplatform-template/gradle.properties @@ -2,6 +2,6 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 android.useAndroidX=true android.enableJetifier=true kotlin.code.style=official -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/ci/templates/multiplatform-template/settings.gradle.kts b/ci/templates/multiplatform-template/settings.gradle.kts index 10d4f39c4cd..c97c37eb516 100644 --- a/ci/templates/multiplatform-template/settings.gradle.kts +++ b/ci/templates/multiplatform-template/settings.gradle.kts @@ -8,6 +8,7 @@ pluginManagement { plugins { kotlin("jvm").version(extra["kotlin.version"] as String) kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) kotlin("android").version(extra["kotlin.version"] as String) id("com.android.application").version(extra["agp.version"] as String) id("com.android.library").version(extra["agp.version"] as String) diff --git a/examples/chat/androidApp/build.gradle.kts b/examples/chat/androidApp/build.gradle.kts index b81b5edf8ea..a7edbd975ec 100644 --- a/examples/chat/androidApp/build.gradle.kts +++ b/examples/chat/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/chat/build.gradle.kts b/examples/chat/build.gradle.kts index 0c00883af5a..07a155af144 100644 --- a/examples/chat/build.gradle.kts +++ b/examples/chat/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/chat/desktopApp/build.gradle.kts b/examples/chat/desktopApp/build.gradle.kts index 5c28f890f9b..7e0dd00ed15 100644 --- a/examples/chat/desktopApp/build.gradle.kts +++ b/examples/chat/desktopApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/chat/gradle.properties b/examples/chat/gradle.properties index db415c227cd..e7adc121496 100644 --- a/examples/chat/gradle.properties +++ b/examples/chat/gradle.properties @@ -1,7 +1,7 @@ kotlin.code.style=official xcodeproj=./iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true @@ -10,6 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true kotlin.mpp.androidSourceSetLayoutVersion=2 # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/examples/chat/jsApp/build.gradle.kts b/examples/chat/jsApp/build.gradle.kts index f7298d09561..4e229d8cdab 100644 --- a/examples/chat/jsApp/build.gradle.kts +++ b/examples/chat/jsApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -19,7 +20,3 @@ kotlin { } } -compose.experimental { - web.application {} -} - diff --git a/examples/chat/jsApp/src/jsMain/kotlin/main.js.kt b/examples/chat/jsApp/src/jsMain/kotlin/main.js.kt index e9128595e51..00582208918 100644 --- a/examples/chat/jsApp/src/jsMain/kotlin/main.js.kt +++ b/examples/chat/jsApp/src/jsMain/kotlin/main.js.kt @@ -1,12 +1,14 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.ui.Modifier -import androidx.compose.ui.window.Window +import androidx.compose.ui.window.CanvasBasedWindow +import androidx.compose.ui.ExperimentalComposeUiApi import org.jetbrains.skiko.wasm.onWasmReady +@OptIn(ExperimentalComposeUiApi::class) fun main() { onWasmReady { - Window("Chat") { + CanvasBasedWindow(title = "Chat") { Column(modifier = Modifier.fillMaxSize()) { MainView() } diff --git a/examples/chat/settings.gradle.kts b/examples/chat/settings.gradle.kts index f4e86353f35..b3bc9d5cc58 100644 --- a/examples/chat/settings.gradle.kts +++ b/examples/chat/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.base").version(agpVersion) id("com.android.application").version(agpVersion) diff --git a/examples/chat/shared/build.gradle.kts b/examples/chat/shared/build.gradle.kts index 02a88035146..a54ffe52282 100644 --- a/examples/chat/shared/build.gradle.kts +++ b/examples/chat/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") } diff --git a/examples/cocoapods-ios-example/androidApp/build.gradle.kts b/examples/cocoapods-ios-example/androidApp/build.gradle.kts index 478d6a5562c..271ee937237 100644 --- a/examples/cocoapods-ios-example/androidApp/build.gradle.kts +++ b/examples/cocoapods-ios-example/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/cocoapods-ios-example/build.gradle.kts b/examples/cocoapods-ios-example/build.gradle.kts index b7e1d5d26ad..3a6503bafbf 100644 --- a/examples/cocoapods-ios-example/build.gradle.kts +++ b/examples/cocoapods-ios-example/build.gradle.kts @@ -2,6 +2,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader kotlin("multiplatform").apply(false) + kotlin("plugin.compose").apply(false) id("com.android.application").apply(false) id("com.android.library").apply(false) id("org.jetbrains.compose").apply(false) diff --git a/examples/cocoapods-ios-example/gradle.properties b/examples/cocoapods-ios-example/gradle.properties index 813754c9b7b..9180bd653ed 100644 --- a/examples/cocoapods-ios-example/gradle.properties +++ b/examples/cocoapods-ios-example/gradle.properties @@ -1,5 +1,5 @@ #Gradle -org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" +org.gradle.jvmargs=-Xmx8g -Dkotlin.daemon.jvm.options\="-Xmx8g" org.gradle.configuration-cache=true org.gradle.caching=true @@ -20,6 +20,6 @@ android.minSdk=24 #Compose #Versions -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 \ No newline at end of file +compose.version=1.6.10 \ No newline at end of file diff --git a/examples/cocoapods-ios-example/settings.gradle.kts b/examples/cocoapods-ios-example/settings.gradle.kts index 442570deaf3..57d1c205222 100644 --- a/examples/cocoapods-ios-example/settings.gradle.kts +++ b/examples/cocoapods-ios-example/settings.gradle.kts @@ -16,6 +16,7 @@ pluginManagement { val composeVersion = extra["compose.version"] as String kotlin("jvm").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) kotlin("android").version(kotlinVersion) diff --git a/examples/cocoapods-ios-example/shared/build.gradle.kts b/examples/cocoapods-ios-example/shared/build.gradle.kts index 58b84a62903..ea02ca90f3a 100644 --- a/examples/cocoapods-ios-example/shared/build.gradle.kts +++ b/examples/cocoapods-ios-example/shared/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") kotlin("native.cocoapods") id("com.android.library") id("org.jetbrains.compose") diff --git a/examples/codeviewer/androidApp/build.gradle.kts b/examples/codeviewer/androidApp/build.gradle.kts index ed2aea72c27..d314ebb40b6 100644 --- a/examples/codeviewer/androidApp/build.gradle.kts +++ b/examples/codeviewer/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/codeviewer/build.gradle.kts b/examples/codeviewer/build.gradle.kts index 8d0c1f3d7c3..1d07fe4acc6 100644 --- a/examples/codeviewer/build.gradle.kts +++ b/examples/codeviewer/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/codeviewer/desktopApp/build.gradle.kts b/examples/codeviewer/desktopApp/build.gradle.kts index 240574ab9eb..e8327b0d4b9 100644 --- a/examples/codeviewer/desktopApp/build.gradle.kts +++ b/examples/codeviewer/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/codeviewer/gradle.properties b/examples/codeviewer/gradle.properties index db415c227cd..e7adc121496 100644 --- a/examples/codeviewer/gradle.properties +++ b/examples/codeviewer/gradle.properties @@ -1,7 +1,7 @@ kotlin.code.style=official xcodeproj=./iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true @@ -10,6 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true kotlin.mpp.androidSourceSetLayoutVersion=2 # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/examples/codeviewer/settings.gradle.kts b/examples/codeviewer/settings.gradle.kts index b5ede7c35d8..d078def0923 100644 --- a/examples/codeviewer/settings.gradle.kts +++ b/examples/codeviewer/settings.gradle.kts @@ -13,6 +13,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.base").version(agpVersion) id("com.android.application").version(agpVersion) diff --git a/examples/codeviewer/shared/build.gradle.kts b/examples/codeviewer/shared/build.gradle.kts index e058f68091d..233239f7073 100644 --- a/examples/codeviewer/shared/build.gradle.kts +++ b/examples/codeviewer/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") } diff --git a/examples/codeviewer/shared/src/iosMain/composeResources/EditorView.kt b/examples/codeviewer/shared/src/iosMain/composeResources/EditorView.kt deleted file mode 100644 index 8917e4c6035..00000000000 --- a/examples/codeviewer/shared/src/iosMain/composeResources/EditorView.kt +++ /dev/null @@ -1,183 +0,0 @@ -/** - * This file is an example (we can open it in iOS application) - */ - -package org.jetbrains.codeviewer.ui.editor - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.text.selection.DisableSelection -import androidx.compose.material.AmbientContentColor -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.Surface -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.key -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.alpha -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.text.* -import androidx.compose.ui.unit.dp -import org.jetbrains.codeviewer.platform.SelectionContainer -import org.jetbrains.codeviewer.ui.common.AppTheme -import org.jetbrains.codeviewer.ui.common.Fonts -import org.jetbrains.codeviewer.ui.common.Settings -import org.jetbrains.codeviewer.util.loadableScoped -import org.jetbrains.codeviewer.util.withoutWidthConstraints -import kotlin.text.Regex.Companion.fromLiteral - -@Composable -fun EditorView(model: Editor, settings: Settings) = key(model) { - with (LocalDensity.current) { - SelectionContainer { - Surface( - Modifier.fillMaxSize(), - color = AppTheme.colors.backgroundDark, - ) { - val lines by loadableScoped(model.lines) - - if (lines != null) { - Box { - Lines(lines!!, settings) - Box( - Modifier - .offset( - x = settings.fontSize.toDp() * 0.5f * settings.maxLineSymbols - ) - .width(1.dp) - .fillMaxHeight() - .background(AppTheme.colors.codeGuide) - ) - } - } else { - CircularProgressIndicator( - modifier = Modifier - .size(36.dp) - .padding(4.dp) - ) - } - } - } - } -} - -@Composable -private fun Lines(lines: Editor.Lines, settings: Settings) = with(DensityAmbient.current) { - val maxNumber = remember(lines.lineNumberDigitCount) { - (1..lines.lineNumberDigitCount).joinToString(separator = "") { "9" } - } - - Box(Modifier.fillMaxSize()) { - val scrollState = rememberLazyListState() - val lineHeight = settings.fontSize.toDp() * 1.6f - - LazyColumnFor( - lines.size, - modifier = Modifier.fillMaxSize(), - state = scrollState, - itemContent = { index -> - val line: Editor.Line? by loadable { lines.get(index) } - Box(Modifier.height(lineHeight)) { - if (line != null) { - Line(Modifier.align(Alignment.CenterStart), maxNumber, line!!, settings) - } - } - } - ) - - VerticalScrollbar( - Modifier.align(Alignment.CenterEnd), - scrollState, - lines.size, - lineHeight - ) - } -} - -// Поддержка русского языка -// دعم اللغة العربية -// 中文支持 -@Composable -private fun Line(modifier: Modifier, maxNumber: String, line: Editor.Line, settings: Settings) { - Row(modifier = modifier) { - DisableSelection { - Box { - LineNumber(maxNumber, Modifier.alpha(0f), settings) - LineNumber(line.number.toString(), Modifier.align(Alignment.CenterEnd), settings) - } - } - LineContent( - line.content, - modifier = Modifier - .weight(1f) - .withoutWidthConstraints() - .padding(start = 28.dp, end = 12.dp), - settings = settings - ) - } -} - -@Composable -private fun LineNumber(number: String, modifier: Modifier, settings: Settings) = Text( - text = number, - fontSize = settings.fontSize, - fontFamily = Fonts.jetbrainsMono(), - color = AmbientContentColor.current.copy(alpha = 0.30f), - modifier = modifier.padding(start = 12.dp) -) - -@Composable -private fun LineContent(content: Editor.Content, modifier: Modifier, settings: Settings) = Text( - text = if (content.isCode) { - codeString(content.value.value) - } else { - AnnotatedString(content.value.value) - }, - fontSize = settings.fontSize, - fontFamily = Fonts.jetbrainsMono(), - modifier = modifier, - softWrap = false -) - -private fun codeString(str: String) = buildAnnotatedString { - withStyle(AppTheme.code.simple) { - append(str.replace("\t", " ")) - addStyle(AppTheme.code.punctuation, ":") - addStyle(AppTheme.code.punctuation, "=") - addStyle(AppTheme.code.punctuation, "\"") - addStyle(AppTheme.code.punctuation, "[") - addStyle(AppTheme.code.punctuation, "]") - addStyle(AppTheme.code.punctuation, "{") - addStyle(AppTheme.code.punctuation, "}") - addStyle(AppTheme.code.punctuation, "(") - addStyle(AppTheme.code.punctuation, ")") - addStyle(AppTheme.code.punctuation, ",") - addStyle(AppTheme.code.keyword, "fun ") - addStyle(AppTheme.code.keyword, "val ") - addStyle(AppTheme.code.keyword, "var ") - addStyle(AppTheme.code.keyword, "private ") - addStyle(AppTheme.code.keyword, "internal ") - addStyle(AppTheme.code.keyword, "for ") - addStyle(AppTheme.code.keyword, "expect ") - addStyle(AppTheme.code.keyword, "actual ") - addStyle(AppTheme.code.keyword, "import ") - addStyle(AppTheme.code.keyword, "package ") - addStyle(AppTheme.code.value, "true") - addStyle(AppTheme.code.value, "false") - addStyle(AppTheme.code.value, Regex("[0-9]*")) - addStyle(AppTheme.code.annotation, Regex("^@[a-zA-Z_]*")) - addStyle(AppTheme.code.comment, Regex("^\\s*//.*")) - } -} - -private fun AnnotatedString.Builder.addStyle(style: SpanStyle, regexp: String) { - addStyle(style, fromLiteral(regexp)) -} - -private fun AnnotatedString.Builder.addStyle(style: SpanStyle, regexp: Regex) { - for (result in regexp.findAll(toString())) { - addStyle(style, result.range.first, result.range.last + 1) - } -} \ No newline at end of file diff --git a/examples/graphics-2d/androidApp/build.gradle.kts b/examples/graphics-2d/androidApp/build.gradle.kts index e09546327c0..900e901eba6 100644 --- a/examples/graphics-2d/androidApp/build.gradle.kts +++ b/examples/graphics-2d/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/graphics-2d/build.gradle.kts b/examples/graphics-2d/build.gradle.kts index 0c00883af5a..07a155af144 100644 --- a/examples/graphics-2d/build.gradle.kts +++ b/examples/graphics-2d/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/graphics-2d/desktopApp/build.gradle.kts b/examples/graphics-2d/desktopApp/build.gradle.kts index 31d4aef6ca9..352de2652f7 100644 --- a/examples/graphics-2d/desktopApp/build.gradle.kts +++ b/examples/graphics-2d/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/graphics-2d/gradle.properties b/examples/graphics-2d/gradle.properties index a94ed141196..9c200fd96dd 100644 --- a/examples/graphics-2d/gradle.properties +++ b/examples/graphics-2d/gradle.properties @@ -1,7 +1,7 @@ kotlin.code.style=official xcodeproj=./iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true @@ -10,9 +10,9 @@ kotlin.native.useEmbeddableCompilerJar=true kotlin.mpp.androidSourceSetLayoutVersion=2 # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 # TODO: remove when switching to 1.9.10. See: https://youtrack.jetbrains.com/issue/KT-60852 # usage: ./gradlew :jsApp:jsBrowserRun -Pworkaround.kotlin.js.kt60852=true diff --git a/examples/graphics-2d/jsApp/build.gradle.kts b/examples/graphics-2d/jsApp/build.gradle.kts index b6fc37668c1..905b5d48320 100644 --- a/examples/graphics-2d/jsApp/build.gradle.kts +++ b/examples/graphics-2d/jsApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -17,8 +18,3 @@ kotlin { } } } - -compose.experimental { - web.application {} -} - diff --git a/examples/graphics-2d/jsApp/src/jsMain/kotlin/main.js.kt b/examples/graphics-2d/jsApp/src/jsMain/kotlin/main.js.kt index 5c9cd849532..91340482c2f 100644 --- a/examples/graphics-2d/jsApp/src/jsMain/kotlin/main.js.kt +++ b/examples/graphics-2d/jsApp/src/jsMain/kotlin/main.js.kt @@ -1,9 +1,11 @@ -import androidx.compose.ui.window.Window +import androidx.compose.ui.ExperimentalComposeUiApi +import androidx.compose.ui.window.CanvasBasedWindow import org.jetbrains.skiko.wasm.onWasmReady +@OptIn(ExperimentalComposeUiApi::class) fun main() { onWasmReady { - Window("Graphics2D") { + CanvasBasedWindow(title = "Graphics2D") { MainView() } } diff --git a/examples/graphics-2d/settings.gradle.kts b/examples/graphics-2d/settings.gradle.kts index 7e76f0ab40e..980fbddb819 100644 --- a/examples/graphics-2d/settings.gradle.kts +++ b/examples/graphics-2d/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.base").version(agpVersion) id("com.android.application").version(agpVersion) diff --git a/examples/graphics-2d/shared/build.gradle.kts b/examples/graphics-2d/shared/build.gradle.kts index 42e54b01e07..176594ed841 100644 --- a/examples/graphics-2d/shared/build.gradle.kts +++ b/examples/graphics-2d/shared/build.gradle.kts @@ -1,6 +1,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") } diff --git a/examples/html/compose-bird/build.gradle.kts b/examples/html/compose-bird/build.gradle.kts index d4dc3ccfba5..139b4dcf148 100644 --- a/examples/html/compose-bird/build.gradle.kts +++ b/examples/html/compose-bird/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } group = "com.theapache64.composebird" diff --git a/examples/html/compose-bird/gradle.properties b/examples/html/compose-bird/gradle.properties index cb3f22ea046..5a1e304d818 100644 --- a/examples/html/compose-bird/gradle.properties +++ b/examples/html/compose-bird/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/html/compose-bird/settings.gradle.kts b/examples/html/compose-bird/settings.gradle.kts index d6270ff7105..c76c730d638 100644 --- a/examples/html/compose-bird/settings.gradle.kts +++ b/examples/html/compose-bird/settings.gradle.kts @@ -7,6 +7,7 @@ pluginManagement { plugins { kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/html/compose-in-js/build.gradle.kts b/examples/html/compose-in-js/build.gradle.kts index 6a2ea7c9a63..55662283da2 100644 --- a/examples/html/compose-in-js/build.gradle.kts +++ b/examples/html/compose-in-js/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -41,13 +42,3 @@ kotlin { } } -afterEvaluate { - rootProject.extensions.configure { - nodeVersion = "16.0.0" - } - - rootProject.plugins.withType(org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin::class.java) { - rootProject.the().resolution("colors", "1.4.0") - } -} - diff --git a/examples/html/compose-in-js/gradle.properties b/examples/html/compose-in-js/gradle.properties index 19147f9c4c0..9b0969078e4 100644 --- a/examples/html/compose-in-js/gradle.properties +++ b/examples/html/compose-in-js/gradle.properties @@ -1,6 +1,6 @@ kotlin.code.style=official kotlin.js.webpack.major.version=4 -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/html/compose-in-js/settings.gradle.kts b/examples/html/compose-in-js/settings.gradle.kts index 5df0eb175c3..4449c3e3766 100644 --- a/examples/html/compose-in-js/settings.gradle.kts +++ b/examples/html/compose-in-js/settings.gradle.kts @@ -6,6 +6,7 @@ pluginManagement { plugins { kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/html/landing/build.gradle.kts b/examples/html/landing/build.gradle.kts index 5d64a107837..aa56bd633d4 100644 --- a/examples/html/landing/build.gradle.kts +++ b/examples/html/landing/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -27,11 +28,3 @@ kotlin { } } } - -// a temporary workaround for a bug in jsRun invocation - see https://youtrack.jetbrains.com/issue/KT-48273 -afterEvaluate { - rootProject.extensions.configure { - versions.webpackDevServer.version = "4.0.0" - versions.webpackCli.version = "4.10.0" - } -} diff --git a/examples/html/landing/gradle.properties b/examples/html/landing/gradle.properties index cb3f22ea046..5a1e304d818 100644 --- a/examples/html/landing/gradle.properties +++ b/examples/html/landing/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/html/landing/settings.gradle.kts b/examples/html/landing/settings.gradle.kts index 3fdc1a713c7..d4a71e4272c 100644 --- a/examples/html/landing/settings.gradle.kts +++ b/examples/html/landing/settings.gradle.kts @@ -7,6 +7,7 @@ pluginManagement { plugins { kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/html/with-react/build.gradle.kts b/examples/html/with-react/build.gradle.kts index 61e7cbb431b..42059ca1659 100644 --- a/examples/html/with-react/build.gradle.kts +++ b/examples/html/with-react/build.gradle.kts @@ -1,6 +1,7 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -32,10 +33,3 @@ kotlin { } } -// a temporary workaround for a bug in jsRun invocation - see https://youtrack.jetbrains.com/issue/KT-48273 -afterEvaluate { - rootProject.extensions.configure { - versions.webpackDevServer.version = "4.0.0" - versions.webpackCli.version = "4.10.0" - } -} diff --git a/examples/html/with-react/gradle.properties b/examples/html/with-react/gradle.properties index cb3f22ea046..5a1e304d818 100644 --- a/examples/html/with-react/gradle.properties +++ b/examples/html/with-react/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/html/with-react/settings.gradle.kts b/examples/html/with-react/settings.gradle.kts index ddc33e90fa1..aede15adedd 100644 --- a/examples/html/with-react/settings.gradle.kts +++ b/examples/html/with-react/settings.gradle.kts @@ -7,6 +7,7 @@ pluginManagement { plugins { kotlin("multiplatform").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/imageviewer/androidApp/build.gradle.kts b/examples/imageviewer/androidApp/build.gradle.kts index a012869a764..c091007983d 100755 --- a/examples/imageviewer/androidApp/build.gradle.kts +++ b/examples/imageviewer/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" diff --git a/examples/imageviewer/desktopApp/build.gradle.kts b/examples/imageviewer/desktopApp/build.gradle.kts index b1891528531..3d062b17179 100755 --- a/examples/imageviewer/desktopApp/build.gradle.kts +++ b/examples/imageviewer/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/imageviewer/gradle.properties b/examples/imageviewer/gradle.properties index 406c2e89060..f39f17357ab 100644 --- a/examples/imageviewer/gradle.properties +++ b/examples/imageviewer/gradle.properties @@ -1,11 +1,13 @@ kotlin.code.style=official xcodeproj=iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g + org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true org.jetbrains.compose.experimental.macos.enabled=true -kotlin.version=1.9.23 +org.jetbrains.compose.experimental.wasm.enabled=true +kotlin.version=2.0.0 agp.version=8.0.2 compose.version=1.6.2 diff --git a/examples/imageviewer/mapview-desktop/build.gradle.kts b/examples/imageviewer/mapview-desktop/build.gradle.kts index e942c7baeaf..f0a0bef18c3 100644 --- a/examples/imageviewer/mapview-desktop/build.gradle.kts +++ b/examples/imageviewer/mapview-desktop/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") kotlin("plugin.serialization") } diff --git a/examples/imageviewer/settings.gradle.kts b/examples/imageviewer/settings.gradle.kts index 036100a9716..8bbd5f40f28 100644 --- a/examples/imageviewer/settings.gradle.kts +++ b/examples/imageviewer/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("plugin.serialization").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.base").version(agpVersion) diff --git a/examples/imageviewer/shared/build.gradle.kts b/examples/imageviewer/shared/build.gradle.kts index a34c2c23c7d..f25b0fcde92 100755 --- a/examples/imageviewer/shared/build.gradle.kts +++ b/examples/imageviewer/shared/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") kotlin("plugin.serialization") diff --git a/examples/intellij-plugin/build.gradle.kts b/examples/intellij-plugin/build.gradle.kts index 226d8f08c14..5ea7342ac99 100644 --- a/examples/intellij-plugin/build.gradle.kts +++ b/examples/intellij-plugin/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("org.jetbrains.intellij") version "1.17.2" java kotlin("jvm") + kotlin("plugin.compose") id("org.jetbrains.compose") id("idea") } diff --git a/examples/intellij-plugin/gradle.properties b/examples/intellij-plugin/gradle.properties index cb3f22ea046..5a1e304d818 100644 --- a/examples/intellij-plugin/gradle.properties +++ b/examples/intellij-plugin/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/intellij-plugin/settings.gradle.kts b/examples/intellij-plugin/settings.gradle.kts index dd1ac3675a4..33e1be002bf 100644 --- a/examples/intellij-plugin/settings.gradle.kts +++ b/examples/intellij-plugin/settings.gradle.kts @@ -3,6 +3,7 @@ rootProject.name = "ComposeDemoPlugin" pluginManagement { plugins { kotlin("jvm").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/interop/ios-compose-in-swiftui/build.gradle.kts b/examples/interop/ios-compose-in-swiftui/build.gradle.kts index 91859ae871a..2f534442841 100644 --- a/examples/interop/ios-compose-in-swiftui/build.gradle.kts +++ b/examples/interop/ios-compose-in-swiftui/build.gradle.kts @@ -2,6 +2,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false id("org.jetbrains.compose") apply false } diff --git a/examples/interop/ios-compose-in-swiftui/gradle.properties b/examples/interop/ios-compose-in-swiftui/gradle.properties index 51e38b66076..b400da58050 100644 --- a/examples/interop/ios-compose-in-swiftui/gradle.properties +++ b/examples/interop/ios-compose-in-swiftui/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official xcodeproj=./iosApp org.gradle.jvmargs=-Xmx3g -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/examples/interop/ios-compose-in-swiftui/settings.gradle.kts b/examples/interop/ios-compose-in-swiftui/settings.gradle.kts index c41872033dd..e24980471e4 100644 --- a/examples/interop/ios-compose-in-swiftui/settings.gradle.kts +++ b/examples/interop/ios-compose-in-swiftui/settings.gradle.kts @@ -10,6 +10,7 @@ pluginManagement { val composeVersion = extra["compose.version"] as String kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) id("org.jetbrains.compose").version(composeVersion) } } diff --git a/examples/interop/ios-compose-in-swiftui/shared/build.gradle.kts b/examples/interop/ios-compose-in-swiftui/shared/build.gradle.kts index 9e50c9efa20..c9995aef399 100644 --- a/examples/interop/ios-compose-in-swiftui/shared/build.gradle.kts +++ b/examples/interop/ios-compose-in-swiftui/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/interop/ios-compose-in-uikit/build.gradle.kts b/examples/interop/ios-compose-in-uikit/build.gradle.kts index 91859ae871a..2f534442841 100644 --- a/examples/interop/ios-compose-in-uikit/build.gradle.kts +++ b/examples/interop/ios-compose-in-uikit/build.gradle.kts @@ -2,6 +2,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false id("org.jetbrains.compose") apply false } diff --git a/examples/interop/ios-compose-in-uikit/gradle.properties b/examples/interop/ios-compose-in-uikit/gradle.properties index 362bdead9cf..49003a0583e 100644 --- a/examples/interop/ios-compose-in-uikit/gradle.properties +++ b/examples/interop/ios-compose-in-uikit/gradle.properties @@ -3,5 +3,5 @@ xcodeproj=./iosApp org.gradle.jvmargs=-Xmx3g # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/examples/interop/ios-compose-in-uikit/settings.gradle.kts b/examples/interop/ios-compose-in-uikit/settings.gradle.kts index ad09ff20a85..77a208c7d9d 100644 --- a/examples/interop/ios-compose-in-uikit/settings.gradle.kts +++ b/examples/interop/ios-compose-in-uikit/settings.gradle.kts @@ -10,6 +10,7 @@ pluginManagement { val composeVersion = extra["compose.version"] as String kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) id("org.jetbrains.compose").version(composeVersion) } } diff --git a/examples/interop/ios-compose-in-uikit/shared/build.gradle.kts b/examples/interop/ios-compose-in-uikit/shared/build.gradle.kts index 9e50c9efa20..c9995aef399 100644 --- a/examples/interop/ios-compose-in-uikit/shared/build.gradle.kts +++ b/examples/interop/ios-compose-in-uikit/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/interop/ios-swiftui-in-compose/build.gradle.kts b/examples/interop/ios-swiftui-in-compose/build.gradle.kts index 91859ae871a..2f534442841 100644 --- a/examples/interop/ios-swiftui-in-compose/build.gradle.kts +++ b/examples/interop/ios-swiftui-in-compose/build.gradle.kts @@ -2,6 +2,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false id("org.jetbrains.compose") apply false } diff --git a/examples/interop/ios-swiftui-in-compose/gradle.properties b/examples/interop/ios-swiftui-in-compose/gradle.properties index 362bdead9cf..49003a0583e 100644 --- a/examples/interop/ios-swiftui-in-compose/gradle.properties +++ b/examples/interop/ios-swiftui-in-compose/gradle.properties @@ -3,5 +3,5 @@ xcodeproj=./iosApp org.gradle.jvmargs=-Xmx3g # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/examples/interop/ios-swiftui-in-compose/settings.gradle.kts b/examples/interop/ios-swiftui-in-compose/settings.gradle.kts index 642ce657568..b0b698f5a8d 100644 --- a/examples/interop/ios-swiftui-in-compose/settings.gradle.kts +++ b/examples/interop/ios-swiftui-in-compose/settings.gradle.kts @@ -10,6 +10,7 @@ pluginManagement { val composeVersion = extra["compose.version"] as String kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) id("org.jetbrains.compose").version(composeVersion) } } diff --git a/examples/interop/ios-swiftui-in-compose/shared/build.gradle.kts b/examples/interop/ios-swiftui-in-compose/shared/build.gradle.kts index 9e50c9efa20..c9995aef399 100644 --- a/examples/interop/ios-swiftui-in-compose/shared/build.gradle.kts +++ b/examples/interop/ios-swiftui-in-compose/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/interop/ios-uikit-in-compose/build.gradle.kts b/examples/interop/ios-uikit-in-compose/build.gradle.kts index 91859ae871a..2f534442841 100644 --- a/examples/interop/ios-uikit-in-compose/build.gradle.kts +++ b/examples/interop/ios-uikit-in-compose/build.gradle.kts @@ -2,6 +2,7 @@ plugins { // this is necessary to avoid the plugins to be loaded multiple times // in each subproject's classloader kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false id("org.jetbrains.compose") apply false } diff --git a/examples/interop/ios-uikit-in-compose/gradle.properties b/examples/interop/ios-uikit-in-compose/gradle.properties index 362bdead9cf..49003a0583e 100644 --- a/examples/interop/ios-uikit-in-compose/gradle.properties +++ b/examples/interop/ios-uikit-in-compose/gradle.properties @@ -3,5 +3,5 @@ xcodeproj=./iosApp org.gradle.jvmargs=-Xmx3g # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/examples/interop/ios-uikit-in-compose/settings.gradle.kts b/examples/interop/ios-uikit-in-compose/settings.gradle.kts index c767c825543..103769a31a7 100644 --- a/examples/interop/ios-uikit-in-compose/settings.gradle.kts +++ b/examples/interop/ios-uikit-in-compose/settings.gradle.kts @@ -10,6 +10,7 @@ pluginManagement { val composeVersion = extra["compose.version"] as String kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) id("org.jetbrains.compose").version(composeVersion) } } diff --git a/examples/interop/ios-uikit-in-compose/shared/build.gradle.kts b/examples/interop/ios-uikit-in-compose/shared/build.gradle.kts index 9e50c9efa20..c9995aef399 100644 --- a/examples/interop/ios-uikit-in-compose/shared/build.gradle.kts +++ b/examples/interop/ios-uikit-in-compose/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/issues/android/build.gradle.kts b/examples/issues/android/build.gradle.kts index 4f3cddac74b..156819f33b9 100644 --- a/examples/issues/android/build.gradle.kts +++ b/examples/issues/android/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") kotlin("android") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/issues/build.gradle.kts b/examples/issues/build.gradle.kts index 0c00883af5a..07a155af144 100644 --- a/examples/issues/build.gradle.kts +++ b/examples/issues/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/issues/common/build.gradle.kts b/examples/issues/common/build.gradle.kts index 675ee9d4806..ebc6eef1b40 100644 --- a/examples/issues/common/build.gradle.kts +++ b/examples/issues/common/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.library") kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") id("com.apollographql.apollo").version("2.3.0") } diff --git a/examples/issues/desktop/build.gradle.kts b/examples/issues/desktop/build.gradle.kts index d34b3e82dac..c4754ed9c09 100644 --- a/examples/issues/desktop/build.gradle.kts +++ b/examples/issues/desktop/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") // kotlin("jvm") doesn't work well in IDEA/AndroidStudio (https://github.com/JetBrains/compose-jb/issues/22) + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/issues/gradle.properties b/examples/issues/gradle.properties index 98b10d6424b..b4646bb591e 100644 --- a/examples/issues/gradle.properties +++ b/examples/issues/gradle.properties @@ -19,6 +19,6 @@ kotlin.code.style=official android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/examples/issues/settings.gradle.kts b/examples/issues/settings.gradle.kts index 9cf1b8d179d..729b3a019a1 100644 --- a/examples/issues/settings.gradle.kts +++ b/examples/issues/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.application").version(agpVersion) id("com.android.library").version(agpVersion) diff --git a/examples/jetsnack/gradle.properties b/examples/jetsnack/gradle.properties new file mode 100644 index 00000000000..5527a505a8b --- /dev/null +++ b/examples/jetsnack/gradle.properties @@ -0,0 +1,6 @@ +org.gradle.jvmargs=-Xmx8g +kotlin.code.style=official +android.useAndroidX=true +agp.version=8.0.2 +kotlin.version=2.0.0 +compose.version=1.6.10 diff --git a/examples/notepad/build.gradle.kts b/examples/notepad/build.gradle.kts index 20b11e97447..258ba6c619e 100644 --- a/examples/notepad/build.gradle.kts +++ b/examples/notepad/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("jvm") + kotlin("plugin.compose") id("org.jetbrains.compose") } @@ -14,7 +15,7 @@ repositories { dependencies { implementation(compose.desktop.currentOs) implementation(compose.materialIconsExtended) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.6.0") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-swing:1.8.0") } compose.desktop { diff --git a/examples/notepad/gradle.properties b/examples/notepad/gradle.properties index bd8bb181cf1..cb0d8e12b8a 100644 --- a/examples/notepad/gradle.properties +++ b/examples/notepad/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 kotlin.code.style=official -kotlin.version=1.9.23 -compose.version=1.6.2 +kotlin.version=2.0.0 +compose.version=1.6.10 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/examples/notepad/settings.gradle.kts b/examples/notepad/settings.gradle.kts index 9474fbaae53..377c453a535 100644 --- a/examples/notepad/settings.gradle.kts +++ b/examples/notepad/settings.gradle.kts @@ -6,6 +6,7 @@ pluginManagement { plugins { kotlin("jvm").version(extra["kotlin.version"] as String) + kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } } diff --git a/examples/todoapp-lite/androidApp/build.gradle.kts b/examples/todoapp-lite/androidApp/build.gradle.kts index 50c5f5f4402..a132898a208 100755 --- a/examples/todoapp-lite/androidApp/build.gradle.kts +++ b/examples/todoapp-lite/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/todoapp-lite/build.gradle.kts b/examples/todoapp-lite/build.gradle.kts index 0c00883af5a..07a155af144 100755 --- a/examples/todoapp-lite/build.gradle.kts +++ b/examples/todoapp-lite/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/todoapp-lite/desktopApp/build.gradle.kts b/examples/todoapp-lite/desktopApp/build.gradle.kts index 5db5a5b4f30..d0348565210 100755 --- a/examples/todoapp-lite/desktopApp/build.gradle.kts +++ b/examples/todoapp-lite/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/todoapp-lite/gradle.properties b/examples/todoapp-lite/gradle.properties index db415c227cd..e7adc121496 100755 --- a/examples/todoapp-lite/gradle.properties +++ b/examples/todoapp-lite/gradle.properties @@ -1,7 +1,7 @@ kotlin.code.style=official xcodeproj=./iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true @@ -10,6 +10,6 @@ kotlin.native.useEmbeddableCompilerJar=true kotlin.mpp.androidSourceSetLayoutVersion=2 # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/examples/todoapp-lite/settings.gradle.kts b/examples/todoapp-lite/settings.gradle.kts index b68b8e62284..2578b7db209 100755 --- a/examples/todoapp-lite/settings.gradle.kts +++ b/examples/todoapp-lite/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.application").version(agpVersion) id("com.android.library").version(agpVersion) diff --git a/examples/todoapp-lite/shared/build.gradle.kts b/examples/todoapp-lite/shared/build.gradle.kts index c1b5b905e67..0208a8b7229 100755 --- a/examples/todoapp-lite/shared/build.gradle.kts +++ b/examples/todoapp-lite/shared/build.gradle.kts @@ -2,6 +2,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") } diff --git a/examples/widgets-gallery/androidApp/build.gradle.kts b/examples/widgets-gallery/androidApp/build.gradle.kts index 2cf4ecfbd93..1b91eecaa73 100644 --- a/examples/widgets-gallery/androidApp/build.gradle.kts +++ b/examples/widgets-gallery/androidApp/build.gradle.kts @@ -1,5 +1,6 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.application") id("org.jetbrains.compose") } diff --git a/examples/widgets-gallery/build.gradle.kts b/examples/widgets-gallery/build.gradle.kts index 8d0c1f3d7c3..1d07fe4acc6 100644 --- a/examples/widgets-gallery/build.gradle.kts +++ b/examples/widgets-gallery/build.gradle.kts @@ -3,6 +3,7 @@ plugins { // in each subproject's classloader kotlin("jvm") apply false kotlin("multiplatform") apply false + kotlin("plugin.compose") apply false kotlin("android") apply false id("com.android.application") apply false id("com.android.library") apply false diff --git a/examples/widgets-gallery/desktopApp/build.gradle.kts b/examples/widgets-gallery/desktopApp/build.gradle.kts index 11fbaa2a69f..0689b90448c 100644 --- a/examples/widgets-gallery/desktopApp/build.gradle.kts +++ b/examples/widgets-gallery/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("org.jetbrains.compose") } diff --git a/examples/widgets-gallery/gradle.properties b/examples/widgets-gallery/gradle.properties index 61ac58395e7..1b20c5e7a7b 100644 --- a/examples/widgets-gallery/gradle.properties +++ b/examples/widgets-gallery/gradle.properties @@ -1,7 +1,7 @@ kotlin.code.style=official xcodeproj=./iosApp android.useAndroidX=true -org.gradle.jvmargs=-Xmx3g +org.gradle.jvmargs=-Xmx8g org.gradle.configuration-cache=true org.gradle.caching=true org.jetbrains.compose.experimental.jscanvas.enabled=true @@ -10,7 +10,7 @@ kotlin.native.useEmbeddableCompilerJar=true kotlin.mpp.androidSourceSetLayoutVersion=2 # Enable kotlin/native experimental memory model kotlin.native.binary.memoryModel=experimental -kotlin.version=1.9.23 +kotlin.version=2.0.0 agp.version=8.0.2 # Replace this with release version when it comes out -compose.version=1.6.2 +compose.version=1.6.10 diff --git a/examples/widgets-gallery/settings.gradle.kts b/examples/widgets-gallery/settings.gradle.kts index b1665a68cd5..7943c26e519 100644 --- a/examples/widgets-gallery/settings.gradle.kts +++ b/examples/widgets-gallery/settings.gradle.kts @@ -12,6 +12,7 @@ pluginManagement { kotlin("jvm").version(kotlinVersion) kotlin("multiplatform").version(kotlinVersion) + kotlin("plugin.compose").version(kotlinVersion) kotlin("android").version(kotlinVersion) id("com.android.base").version(agpVersion) id("com.android.application").version(agpVersion) diff --git a/examples/widgets-gallery/shared/build.gradle.kts b/examples/widgets-gallery/shared/build.gradle.kts index 546fb28c750..00b6b2dac57 100644 --- a/examples/widgets-gallery/shared/build.gradle.kts +++ b/examples/widgets-gallery/shared/build.gradle.kts @@ -3,6 +3,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree plugins { kotlin("multiplatform") + kotlin("plugin.compose") id("com.android.library") id("org.jetbrains.compose") } diff --git a/tutorials/HTML/Getting_Started/README.md b/tutorials/HTML/Getting_Started/README.md index dd617c0a0cb..96f81dd6d1b 100644 --- a/tutorials/HTML/Getting_Started/README.md +++ b/tutorials/HTML/Getting_Started/README.md @@ -36,8 +36,8 @@ pluginManagement { ``` kotlin // Add compose gradle plugin plugins { - kotlin("multiplatform") version "1.9.23" - id("org.jetbrains.compose") version "1.6.2" + kotlin("multiplatform") version "2.0.0" + id("org.jetbrains.compose") version "1.6.10" } // Add maven repositories