File tree Expand file tree Collapse file tree
io/github/composegears/valkyrie Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ plugins {
2+ `kotlin- dsl`
3+ }
4+
5+ group = " io.github.composegears.valkyrie"
6+
7+ dependencies {
8+ compileOnly(libs.kotlin.compose.compiler.plugin)
9+ compileOnly(libs.kotlin.gradle.plugin)
10+ }
11+
12+ gradlePlugin {
13+ plugins {
14+ register(" valkyrie.kmp" ) {
15+ id = " valkyrie.kmp"
16+ implementationClass = " KmpPlugin"
17+ }
18+ register(" valkyrie.compose" ) {
19+ id = " valkyrie.compose"
20+ implementationClass = " ComposePlugin"
21+ }
22+ }
23+ }
Original file line number Diff line number Diff line change 1+
2+ import io.github.composegears.valkyrie.internal.composeCompiler
3+ import io.github.composegears.valkyrie.internal.jetbrainsComposePluginId
4+ import io.github.composegears.valkyrie.internal.kotlinComposePluginId
5+ import org.gradle.api.Plugin
6+ import org.gradle.api.Project
7+ import org.gradle.kotlin.dsl.apply
8+
9+ class ComposePlugin : Plugin <Project > {
10+
11+ override fun apply (target : Project ) = with (target) {
12+ apply (plugin = jetbrainsComposePluginId)
13+ apply (plugin = kotlinComposePluginId)
14+
15+ composeCompiler {
16+ stabilityConfigurationFiles.add {
17+ rootDir.resolve(" stability_config.conf" )
18+ }
19+ }
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ import io.github.composegears.valkyrie.extension.applyTargets
2+ import io.github.composegears.valkyrie.internal.kmpExtension
3+ import io.github.composegears.valkyrie.internal.kotlinMultiplatformPluginId
4+ import org.gradle.api.Plugin
5+ import org.gradle.api.Project
6+ import org.gradle.kotlin.dsl.apply
7+
8+ class KmpPlugin : Plugin <Project > {
9+
10+ override fun apply (target : Project ) = with (target) {
11+ apply (plugin = kotlinMultiplatformPluginId)
12+
13+ kmpExtension {
14+ applyTargets()
15+
16+ compilerOptions {
17+ extraWarnings.set(true )
18+ }
19+ }
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ package io.github.composegears.valkyrie.extension
2+
3+ import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
4+ import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
5+
6+ fun KotlinMultiplatformExtension.applyTargets () {
7+ jvm()
8+
9+ @OptIn(ExperimentalWasmDsl ::class )
10+ wasmJs {
11+ browser()
12+ binaries.executable()
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ package io.github.composegears.valkyrie.internal
2+
3+ import libs
4+ import org.gradle.api.Project
5+
6+ internal val Project .kotlinMultiplatformPluginId
7+ get() = libs.plugins.kotlin.multiplatform.get().pluginId
8+
9+ internal val Project .jetbrainsComposePluginId
10+ get() = libs.plugins.jetbrains.compose.get().pluginId
11+
12+ internal val Project .kotlinComposePluginId
13+ get() = libs.plugins.kotlin.compose.get().pluginId
Original file line number Diff line number Diff line change 1+ package io.github.composegears.valkyrie.internal
2+
3+ import org.gradle.api.Project
4+ import org.gradle.kotlin.dsl.configure
5+ import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
6+ import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension
7+
8+ internal fun Project.kmpExtension (action : KotlinMultiplatformExtension .() -> Unit ) =
9+ extensions.configure<KotlinMultiplatformExtension >(action)
10+
11+ fun Project.composeCompiler (block : ComposeCompilerGradlePluginExtension .() -> Unit ) =
12+ extensions.configure<ComposeCompilerGradlePluginExtension >(block)
Original file line number Diff line number Diff line change 1+ dependencyResolutionManagement {
2+ repositories {
3+ google()
4+ mavenCentral()
5+ }
6+ }
7+
8+ plugins {
9+ id(" dev.panuszewski.typesafe-conventions" ) version " 0.6.0"
10+ }
11+
12+ rootProject.name = " build-logic"
13+ include(" :convention" )
Original file line number Diff line number Diff line change @@ -2,7 +2,6 @@ import com.diffplug.gradle.spotless.SpotlessExtension
22import org.jetbrains.intellij.platform.gradle.extensions.IntelliJPlatformDependenciesExtension
33import org.jetbrains.intellij.platform.gradle.extensions.intellijPlatform
44import org.jetbrains.intellij.platform.gradle.plugins.project.IntelliJPlatformBasePlugin
5- import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension
65
76plugins {
87 alias(libs.plugins.kotlin.jvm) apply false
@@ -17,12 +16,6 @@ plugins {
1716}
1817
1918allprojects {
20- plugins.withId(rootProject.libs.plugins.kotlin.compose.get().pluginId) {
21- extensions.configure<ComposeCompilerGradlePluginExtension > {
22- stabilityConfigurationFiles.addAll(rootProject.layout.projectDirectory.file(" stability_config.conf" ))
23- }
24- }
25-
2619 plugins.withType<IntelliJPlatformBasePlugin >().configureEach {
2720 // https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html#configuration.repositories
2821 repositories {
Original file line number Diff line number Diff line change 1- import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
2-
31plugins {
4- alias(libs.plugins.kotlin.multiplatform)
5- alias(libs.plugins.kotlin.compose)
6- alias(libs.plugins.jetbrains.compose)
2+ alias(libs.plugins.valkyrie.kmp)
3+ alias(libs.plugins.valkyrie.compose)
74}
85
96kotlin {
10- jvm()
11-
12- @OptIn(ExperimentalWasmDsl ::class )
13- wasmJs {
14- browser()
15- binaries.executable()
16- }
17-
187 sourceSets {
198 commonMain.dependencies {
209 api(projects.components.ir)
Original file line number Diff line number Diff line change 1- import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
2-
31plugins {
4- alias(libs.plugins.kotlin.multiplatform )
2+ alias(libs.plugins.valkyrie.kmp )
53}
64
75kotlin {
8- jvm()
9-
10- @OptIn(ExperimentalWasmDsl ::class )
11- wasmJs {
12- browser()
13- binaries.executable()
14- }
15-
166 sourceSets {
177 commonTest.dependencies {
188 implementation(libs.assertk)
You can’t perform that action at this time.
0 commit comments