From 03aeb82684561ba0e9a6cee266c45b9a9bd4c4ef Mon Sep 17 00:00:00 2001 From: WhiteScent Date: Tue, 8 Jul 2025 18:23:24 +0800 Subject: [PATCH 1/4] build(deps): upgrade deps --- gradle/libs.versions.toml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1168059..8336b17 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] -agp = "8.7.1" -android-compileSdk = "35" +agp = "8.11.0" +android-targetSdk = "36" +android-compileSdk = "36" android-minSdk = "26" -android-targetSdk = "35" androidx-activityCompose = "1.9.3" assertj = "3.27.2" kotlinCompileTesting = "0.7.0" @@ -10,6 +10,7 @@ junitVersion = "4.13.2" storytale = "0.0.3+dev8" compose-plugin = "1.8.1" +compose-hot-reload = "1.0.0-beta06" compose-navigation = "2.9.0-alpha16" kotlinx-serialization-json = "1.7.3" kotlin = "2.1.21" @@ -34,6 +35,7 @@ kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotl androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" } kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } compose-gradle-plugin = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-plugin" } +compose-hot-reload-plugin = { module = "org.jetbrains.compose.hot-reload:hot-reload-gradle-plugin", version.ref = "compose-hot-reload" } kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "kotlin" } kotlin-poet = { module = "com.squareup:kotlinpoet", version.ref = "kotlin-poet" } android-gradle-plugin = { module = "com.android.tools.build:gradle", version.ref = "agp" } @@ -59,6 +61,7 @@ serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" } +compose-hot-reload = { id = "org.jetbrains.compose.hot-reload", version.ref = "compose-hot-reload" } buildTimeConfig = { id = "dev.limebeck.build-time-config", version.ref = "build-time-config" } storytale = { id = "org.jetbrains.compose.storytale", version.ref = "storytale" } kotlinDsl = { id = "kotlin-dsl" } From 8c1b58ab993f9bba4abc62b3bce1b7e0c449f0b6 Mon Sep 17 00:00:00 2001 From: WhiteScent Date: Tue, 8 Jul 2025 18:24:56 +0800 Subject: [PATCH 2/4] feat: add gradle task to support gallery hot reload --- examples/build.gradle.kts | 1 + examples/gradle | 1 - examples/gradle.properties | 1 - examples/settings.gradle.kts | 42 ---------- gallery-demo/build.gradle.kts | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- modules/gradle-plugin/build.gradle.kts | 1 + .../storytale/plugin/JvmMultiplatformTasks.kt | 19 +++++ settings.gradle.kts | 82 +++++++++---------- 9 files changed, 66 insertions(+), 89 deletions(-) delete mode 120000 examples/gradle delete mode 120000 examples/gradle.properties delete mode 100644 examples/settings.gradle.kts diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index 6ebee04..c0a70ab 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -9,6 +9,7 @@ plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.compose.hot.reload) } kotlin { diff --git a/examples/gradle b/examples/gradle deleted file mode 120000 index 3337596..0000000 --- a/examples/gradle +++ /dev/null @@ -1 +0,0 @@ -../gradle \ No newline at end of file diff --git a/examples/gradle.properties b/examples/gradle.properties deleted file mode 120000 index 7677fb7..0000000 --- a/examples/gradle.properties +++ /dev/null @@ -1 +0,0 @@ -../gradle.properties \ No newline at end of file diff --git a/examples/settings.gradle.kts b/examples/settings.gradle.kts deleted file mode 100644 index fac1f1b..0000000 --- a/examples/settings.gradle.kts +++ /dev/null @@ -1,42 +0,0 @@ -rootProject.name = "StorytaleUsageExamples" -enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - -val storytaleVersion = - providers.gradleProperty("storytale.deploy.version").orNull?.takeIf(String::isNotBlank) - -pluginManagement { - repositories { - google { - mavenContent { - includeGroupAndSubgroups("androidx") - includeGroupAndSubgroups("com.android") - includeGroupAndSubgroups("com.google") - } - } - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - mavenCentral() - gradlePluginPortal() - mavenLocal() - } -} - -dependencyResolutionManagement { - repositories { - google { - mavenContent { - includeGroupAndSubgroups("androidx") - includeGroupAndSubgroups("com.android") - includeGroupAndSubgroups("com.google") - } - } - maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") - mavenCentral() - mavenLocal() - } - - if (storytaleVersion != null) { - versionCatalogs.register("libs") { - version("storytale", storytaleVersion) - } - } -} diff --git a/gallery-demo/build.gradle.kts b/gallery-demo/build.gradle.kts index aa6bd22..d5c95c4 100644 --- a/gallery-demo/build.gradle.kts +++ b/gallery-demo/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.compose.reload.ComposeHotRun +import org.jetbrains.compose.reload.gradle.ComposeHotRun import org.jetbrains.kotlin.compose.compiler.gradle.ComposeFeatureFlag import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation @@ -11,7 +11,7 @@ plugins { alias(libs.plugins.jetbrainsCompose) alias(libs.plugins.compose.compiler) alias(libs.plugins.serialization) - id("org.jetbrains.compose.hot-reload") version "1.0.0-alpha10" + alias(libs.plugins.compose.hot.reload) } class StorytaleCompilerPlugin : KotlinCompilerPluginSupportPlugin { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b810f5f..e01c8e9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ -#Tue Oct 29 23:06:22 CST 2024 +#Tue Jul 08 17:33:08 CST 2025 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/modules/gradle-plugin/build.gradle.kts b/modules/gradle-plugin/build.gradle.kts index 63b4ea9..d874a2b 100644 --- a/modules/gradle-plugin/build.gradle.kts +++ b/modules/gradle-plugin/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { implementation(libs.android.gradle.plugin) implementation(libs.kotlin.compiler.embeddable) implementation(libs.compose.gradle.plugin) + implementation(libs.compose.hot.reload.plugin) implementation(libs.kotlin.poet) } diff --git a/modules/gradle-plugin/src/main/kotlin/org/jetbrains/compose/storytale/plugin/JvmMultiplatformTasks.kt b/modules/gradle-plugin/src/main/kotlin/org/jetbrains/compose/storytale/plugin/JvmMultiplatformTasks.kt index aa77243..663ced5 100644 --- a/modules/gradle-plugin/src/main/kotlin/org/jetbrains/compose/storytale/plugin/JvmMultiplatformTasks.kt +++ b/modules/gradle-plugin/src/main/kotlin/org/jetbrains/compose/storytale/plugin/JvmMultiplatformTasks.kt @@ -7,7 +7,9 @@ import org.gradle.api.provider.Provider import org.gradle.api.tasks.JavaExec import org.gradle.jvm.toolchain.JavaLauncher import org.gradle.jvm.toolchain.JavaToolchainService +import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.task +import org.jetbrains.compose.reload.gradle.ComposeHotRun import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget @@ -20,6 +22,7 @@ fun Project.processJvmCompilation(extension: StorytaleExtension, target: KotlinJ val runtimeClasspath = storytaleCompilation.output.allOutputs + storytaleCompilation.runtimeDependencyFiles createJvmStorytaleExecTask(extension, storytaleCompilation, target, runtimeClasspath) + createJvmStorytaleHotReloadExecTask(compilation = storytaleCompilation, target = target) } private fun Project.createJvmStorytaleGenerateSourceTask( @@ -96,6 +99,22 @@ private fun Project.createJvmStorytaleExecTask( } } +private fun Project.createJvmStorytaleHotReloadExecTask( + compilation: KotlinJvmCompilation, + target: KotlinJvmTarget, +) { + val taskName = "${target.name}${StorytaleGradlePlugin.STORYTALE_EXEC_SUFFIX}HotRun" + project.plugins.withId("org.jetbrains.compose.hot-reload") { + logger.info("Compose Hot Reload plugin found, configuring Storytale Hot Reload for ${target.name}") + tasks.register(taskName) { + this.compilation.set(compilation) + group = StorytaleGradlePlugin.STORYTALE_TASK_GROUP + description = "Execute storytale for '${target.name}' with hot reload" + mainClass.set("org.jetbrains.compose.storytale.generated.MainKt") + } + } +} + private fun Project.javaLauncherProvider(): Provider = provider { val toolchainService = extensions.findByType(JavaToolchainService::class.java) ?: return@provider null val javaExtension = extensions.findByType(JavaPluginExtension::class.java) ?: return@provider null diff --git a/settings.gradle.kts b/settings.gradle.kts index f160878..4f9c231 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,62 +2,62 @@ rootProject.name = "Storytale" enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") pluginManagement { - repositories { - google { - mavenContent { - includeGroupAndSubgroups("androidx") - includeGroupAndSubgroups("com.android") - includeGroupAndSubgroups("com.google") - } + repositories { + google { + mavenContent { + includeGroupAndSubgroups("androidx") + includeGroupAndSubgroups("com.android") + includeGroupAndSubgroups("com.google") + } + } + mavenCentral() + gradlePluginPortal() + mavenLocal() } - mavenCentral() - gradlePluginPortal() - mavenLocal() - } } dependencyResolutionManagement { - repositories { - google { - mavenContent { - includeGroupAndSubgroups("androidx") - includeGroupAndSubgroups("com.android") - includeGroupAndSubgroups("com.google") - } - } - mavenCentral() - mavenLocal() - exclusiveContent { - forRepository { - maven { - url = uri("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/") - } + repositories { + google { + mavenContent { + includeGroupAndSubgroups("androidx") + includeGroupAndSubgroups("com.android") + includeGroupAndSubgroups("com.google") + } } - filter { - includeGroupByRegex("org\\.jetbrains\\.intellij\\.deps.*") + mavenCentral() + mavenLocal() + exclusiveContent { + forRepository { + maven { + url = uri("https://packages.jetbrains.team/maven/p/ij/intellij-dependencies/") + } + } + filter { + includeGroupByRegex("org\\.jetbrains\\.intellij\\.deps.*") + } } - } - exclusiveContent { - forRepository { - maven { - url = uri("https://www.jetbrains.com/intellij-repository/releases/") - } + exclusiveContent { + forRepository { + maven { + url = uri("https://www.jetbrains.com/intellij-repository/releases/") + } + } + filter { + includeGroup("com.jetbrains.intellij.platform") + } } - filter { - includeGroup("com.jetbrains.intellij.platform") - } - } - } + } } plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0" } +include(":examples") +include(":gallery-demo") include(":modules:gallery") include(":modules:gradle-plugin") include(":modules:compiler-plugin") include(":modules:dokka-plugin") include(":modules:runtime-api") - -include(":gallery-demo") From 14586da7aa1c3cf9698f86d0774b5265b708023d Mon Sep 17 00:00:00 2001 From: WhiteScent Date: Tue, 8 Jul 2025 18:25:09 +0800 Subject: [PATCH 3/4] style: apply spotless --- .../androidMain/kotlin/Platform.android.kt | 2 +- .../storytale/example/MainActivity.kt | 12 ++++---- examples/src/commonMain/kotlin/App.kt | 28 +++++++++---------- examples/src/commonMain/kotlin/ComposeLogo.kt | 12 ++++---- examples/src/commonMain/kotlin/Greeting.kt | 8 +++--- examples/src/commonMain/kotlin/Platform.kt | 2 +- .../src/commonMain/kotlin/PrimaryButton.kt | 5 ++-- .../src/desktopMain/kotlin/Platform.jvm.kt | 2 +- examples/src/desktopMain/kotlin/main.kt | 12 ++++---- examples/src/iosMain/kotlin/Platform.ios.kt | 2 +- examples/src/jsMain/kotlin/Platform.js.kt | 2 +- .../src/wasmJsMain/kotlin/Platform.wasmJs.kt | 2 +- 12 files changed, 45 insertions(+), 44 deletions(-) diff --git a/examples/src/androidMain/kotlin/Platform.android.kt b/examples/src/androidMain/kotlin/Platform.android.kt index 0a87ecf..1e282d1 100644 --- a/examples/src/androidMain/kotlin/Platform.android.kt +++ b/examples/src/androidMain/kotlin/Platform.android.kt @@ -1,7 +1,7 @@ import android.os.Build class AndroidPlatform : Platform { - override val name: String = "Android ${Build.VERSION.SDK_INT}" + override val name: String = "Android ${Build.VERSION.SDK_INT}" } actual fun getPlatform(): Platform = AndroidPlatform() diff --git a/examples/src/androidMain/kotlin/org/jetbrains/storytale/example/MainActivity.kt b/examples/src/androidMain/kotlin/org/jetbrains/storytale/example/MainActivity.kt index 0b46ea7..528231d 100644 --- a/examples/src/androidMain/kotlin/org/jetbrains/storytale/example/MainActivity.kt +++ b/examples/src/androidMain/kotlin/org/jetbrains/storytale/example/MainActivity.kt @@ -8,17 +8,17 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview class MainActivity : ComponentActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) - setContent { - App() + setContent { + App() + } } - } } @Preview @Composable private fun AppAndroidPreview() { - App() + App() } diff --git a/examples/src/commonMain/kotlin/App.kt b/examples/src/commonMain/kotlin/App.kt index ef0426d..36ff24f 100644 --- a/examples/src/commonMain/kotlin/App.kt +++ b/examples/src/commonMain/kotlin/App.kt @@ -16,21 +16,21 @@ import androidx.compose.ui.unit.dp @Composable fun App(modifier: Modifier = Modifier) { - var showContent by remember { mutableStateOf(false) } + var showContent by remember { mutableStateOf(false) } - MaterialTheme { - Column( - modifier = modifier.fillMaxWidth(), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - PrimaryButton(text = "Click Me", onClick = { showContent = !showContent }) - AnimatedVisibility(showContent) { - val greeting = remember { Greeting().greet() } - Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { - ComposeLogo(Modifier.size(600.dp)) - Text("Compose: $greeting") + MaterialTheme { + Column( + modifier = modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + PrimaryButton(text = "Click Me", onClick = { showContent = !showContent }) + AnimatedVisibility(showContent) { + val greeting = remember { Greeting().greet() } + Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) { + ComposeLogo(Modifier.size(600.dp)) + Text("Compose: $greeting") + } + } } - } } - } } diff --git a/examples/src/commonMain/kotlin/ComposeLogo.kt b/examples/src/commonMain/kotlin/ComposeLogo.kt index 22667c0..c3324f5 100644 --- a/examples/src/commonMain/kotlin/ComposeLogo.kt +++ b/examples/src/commonMain/kotlin/ComposeLogo.kt @@ -7,11 +7,11 @@ import org.jetbrains.compose.storytale.example.compose_multiplatform @Composable fun ComposeLogo( - modifier: Modifier = Modifier, + modifier: Modifier = Modifier, ) { - Image( - painter = painterResource(Res.drawable.compose_multiplatform), - contentDescription = "Compose Multiplatform Logo", - modifier = modifier, - ) + Image( + painter = painterResource(Res.drawable.compose_multiplatform), + contentDescription = "Compose Multiplatform Logo", + modifier = modifier, + ) } diff --git a/examples/src/commonMain/kotlin/Greeting.kt b/examples/src/commonMain/kotlin/Greeting.kt index 5f8462d..8236679 100644 --- a/examples/src/commonMain/kotlin/Greeting.kt +++ b/examples/src/commonMain/kotlin/Greeting.kt @@ -1,7 +1,7 @@ class Greeting { - private val platform = getPlatform() + private val platform = getPlatform() - fun greet(): String { - return "Hello, ${platform.name}!" - } + fun greet(): String { + return "Hello, ${platform.name}!" + } } diff --git a/examples/src/commonMain/kotlin/Platform.kt b/examples/src/commonMain/kotlin/Platform.kt index 6992e78..fc48e12 100644 --- a/examples/src/commonMain/kotlin/Platform.kt +++ b/examples/src/commonMain/kotlin/Platform.kt @@ -1,5 +1,5 @@ interface Platform { - val name: String + val name: String } expect fun getPlatform(): Platform diff --git a/examples/src/commonMain/kotlin/PrimaryButton.kt b/examples/src/commonMain/kotlin/PrimaryButton.kt index 9ba10b8..59807b9 100644 --- a/examples/src/commonMain/kotlin/PrimaryButton.kt +++ b/examples/src/commonMain/kotlin/PrimaryButton.kt @@ -2,7 +2,6 @@ import androidx.compose.material.Button import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @Composable @@ -30,5 +29,7 @@ fun PrimaryButton( } enum class PrimaryButtonSize { - Small, Medium, Large, + Small, + Medium, + Large, } diff --git a/examples/src/desktopMain/kotlin/Platform.jvm.kt b/examples/src/desktopMain/kotlin/Platform.jvm.kt index ca4e1e7..5bf6fad 100644 --- a/examples/src/desktopMain/kotlin/Platform.jvm.kt +++ b/examples/src/desktopMain/kotlin/Platform.jvm.kt @@ -1,5 +1,5 @@ class JVMPlatform : Platform { - override val name: String = "Java ${System.getProperty("java.version")}" + override val name: String = "Java ${System.getProperty("java.version")}" } actual fun getPlatform(): Platform = JVMPlatform() diff --git a/examples/src/desktopMain/kotlin/main.kt b/examples/src/desktopMain/kotlin/main.kt index 92e3f83..b11c937 100644 --- a/examples/src/desktopMain/kotlin/main.kt +++ b/examples/src/desktopMain/kotlin/main.kt @@ -2,10 +2,10 @@ import androidx.compose.ui.window.Window import androidx.compose.ui.window.application fun main() = application { - Window( - onCloseRequest = ::exitApplication, - title = "example", - ) { - App() - } + Window( + onCloseRequest = ::exitApplication, + title = "example", + ) { + App() + } } diff --git a/examples/src/iosMain/kotlin/Platform.ios.kt b/examples/src/iosMain/kotlin/Platform.ios.kt index c868f23..9bb8535 100644 --- a/examples/src/iosMain/kotlin/Platform.ios.kt +++ b/examples/src/iosMain/kotlin/Platform.ios.kt @@ -1,7 +1,7 @@ import platform.UIKit.UIDevice class IOSPlatform : Platform { - override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion + override val name: String = UIDevice.currentDevice.systemName() + " " + UIDevice.currentDevice.systemVersion } actual fun getPlatform(): Platform = IOSPlatform() diff --git a/examples/src/jsMain/kotlin/Platform.js.kt b/examples/src/jsMain/kotlin/Platform.js.kt index a73a101..9bf0ce9 100644 --- a/examples/src/jsMain/kotlin/Platform.js.kt +++ b/examples/src/jsMain/kotlin/Platform.js.kt @@ -1,5 +1,5 @@ class JsPlatform : Platform { - override val name: String = "Web with Kotlin/Js" + override val name: String = "Web with Kotlin/Js" } actual fun getPlatform(): Platform = JsPlatform() diff --git a/examples/src/wasmJsMain/kotlin/Platform.wasmJs.kt b/examples/src/wasmJsMain/kotlin/Platform.wasmJs.kt index d38c09b..28dcfde 100644 --- a/examples/src/wasmJsMain/kotlin/Platform.wasmJs.kt +++ b/examples/src/wasmJsMain/kotlin/Platform.wasmJs.kt @@ -1,5 +1,5 @@ class WasmPlatform : Platform { - override val name: String = "Web with Kotlin/Wasm" + override val name: String = "Web with Kotlin/Wasm" } actual fun getPlatform(): Platform = WasmPlatform() From 463337fea0fc0065aabe580bafcbbf0da19193b7 Mon Sep 17 00:00:00 2001 From: WhiteScent Date: Wed, 9 Jul 2025 18:30:51 +0800 Subject: [PATCH 4/4] feat: convert the gradle plugin module to a composite build --- examples/build.gradle.kts | 11 +++++++++++ modules/gradle-plugin/settings.gradle.kts | 11 +++++++++++ settings.gradle.kts | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 modules/gradle-plugin/settings.gradle.kts diff --git a/examples/build.gradle.kts b/examples/build.gradle.kts index c0a70ab..6d4edc1 100644 --- a/examples/build.gradle.kts +++ b/examples/build.gradle.kts @@ -12,6 +12,17 @@ plugins { alias(libs.plugins.compose.hot.reload) } +configurations.all { + resolutionStrategy.dependencySubstitution { + substitute(module("org.jetbrains.compose.storytale:compiler-plugin")) + .using(project(":modules:compiler-plugin")) + substitute(module("org.jetbrains.compose.storytale:runtime-api")) + .using(project(":modules:runtime-api")) + substitute(module("org.jetbrains.compose.storytale:gallery")) + .using(project(":modules:gallery")) + } +} + kotlin { wasmJs { moduleName = "composeApp" diff --git a/modules/gradle-plugin/settings.gradle.kts b/modules/gradle-plugin/settings.gradle.kts new file mode 100644 index 0000000..df14551 --- /dev/null +++ b/modules/gradle-plugin/settings.gradle.kts @@ -0,0 +1,11 @@ +dependencyResolutionManagement { + repositories { + google() + mavenCentral() + } + versionCatalogs { + create("libs") { + from(files("../../gradle/libs.versions.toml")) + } + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 4f9c231..87ebbe0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -57,7 +57,7 @@ plugins { include(":examples") include(":gallery-demo") include(":modules:gallery") -include(":modules:gradle-plugin") +includeBuild("modules/gradle-plugin") include(":modules:compiler-plugin") include(":modules:dokka-plugin") include(":modules:runtime-api")