diff --git a/backend-webflux/README.md b/backend-webflux/README.md new file mode 100644 index 0000000..e69de29 diff --git a/backend-webmvc/README.md b/backend-webmvc/README.md new file mode 100644 index 0000000..e69de29 diff --git a/common/README.md b/common/README.md new file mode 100644 index 0000000..e69de29 diff --git a/common/build.gradle.kts b/common/build.gradle.kts index a1671ca..82b0019 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -1,15 +1,18 @@ +repositories { + mavenCentral() + gradlePluginPortal() +} + plugins { - id("com.saveourtool.template.build.kotlin-mpp-with-jvm-configuration") + alias(libs.plugins.kotlin.multiplatform) } kotlin { - jvm() - - sourceSets { - commonMain { - dependencies { - implementation(libs.kotlinx.serialization.core) - } - } + jvm { + } -} \ No newline at end of file +} + +tasks.withType { + useJUnitPlatform() +} diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..e69de29 diff --git a/frontend/build.gradle.kts b/frontend/build.gradle.kts index ff5917f..08ac17f 100644 --- a/frontend/build.gradle.kts +++ b/frontend/build.gradle.kts @@ -1,7 +1,7 @@ import com.saveourtool.template.build.kotlinw plugins { - kotlin("multiplatform") + alias(libs.plugins.kotlin.multiplatform) } kotlin { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ad3b107..5393068 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,6 +6,7 @@ spring-boot = "3.2.3" springdoc = "2.3.0" [plugins] +kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } [libraries] kotlin-spring-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-allopen", version.ref = "kotlin" } diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/Utils.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/Utils.kt deleted file mode 100644 index 0f8f394..0000000 --- a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/Utils.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.saveourtool.template.build - -fun kotlinw(target: String): String = "org.jetbrains.kotlin-wrappers:kotlin-$target" diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-with-jvm-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-with-jvm-configuration.gradle.kts deleted file mode 100644 index fd37296..0000000 --- a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-with-jvm-configuration.gradle.kts +++ /dev/null @@ -1,30 +0,0 @@ -package com.saveourtool.template.build - -import org.gradle.accessors.dm.LibrariesForLibs -import org.gradle.api.tasks.testing.Test -import org.gradle.kotlin.dsl.* - -plugins { - kotlin("multiplatform") -} - -@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") -val libs = the() - -kotlin { - jvm() - - sourceSets { - jvmMain { - dependencies { - implementation(project.dependencies.enforcedPlatform(libs.spring.boot.dependencies)) - } - } - } -} - -configureKotlinCompile() - -tasks.withType { - useJUnitPlatform() -} diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/spring-boot-kotlin-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/spring-boot-kotlin-configuration.gradle.kts index 4743fc1..996474d 100644 --- a/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/spring-boot-kotlin-configuration.gradle.kts +++ b/gradle/plugins/src/main/kotlin/com/saveourtool/template/build/spring-boot-kotlin-configuration.gradle.kts @@ -14,14 +14,21 @@ plugins { id("org.springframework.boot") } -configureKotlinCompile() - @Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") val libs = the() dependencies { implementation(project.dependencies.enforcedPlatform(libs.spring.boot.dependencies)) } +configureKotlinCompile() + +kotlin { + allOpen { + annotation("javax.persistence.Entity") + annotation("org.springframework.stereotype.Service") + } +} + tasks.withType { useJUnitPlatform() } diff --git a/settings.gradle.kts b/settings.gradle.kts index 902a226..2fe071f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -4,46 +4,38 @@ import org.ajoberstar.reckon.gradle.ReckonExtension rootProject.name = "app-cloud-template" -dependencyResolutionManagement { +// ==== gradle configuration ============= +enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") + +// ==== dependencies ===================== +pluginManagement { repositories { mavenCentral() + gradlePluginPortal() } } -pluginManagement { +dependencyResolutionManagement { repositories { mavenCentral() - gradlePluginPortal() } } plugins { - id("com.gradle.enterprise") version "3.15.1" id("org.ajoberstar.reckon.settings") version "0.18.3" } -includeBuild("gradle/plugins") -include("common") -include("backend-webmvc") -include("backend-webflux") -include("frontend") - -enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - -gradleEnterprise { - @Suppress("AVOID_NULL_CHECKS") - if (System.getenv("CI") != null) { - buildScan { - publishAlways() - termsOfServiceUrl = "https://gradle.com/terms-of-service" - termsOfServiceAgree = "yes" - } - } -} - +// ==== automated configuration of version = extensions.configure { setDefaultInferredScope(Scope.PATCH) stages("beta", "rc", Reckoner.FINAL_STAGE) setScopeCalc(calcScopeFromProp().or(calcScopeFromCommitMessages())) setStageCalc(calcStageFromProp()) } + +// ==== subprojects ======================== +includeBuild("gradle/plugins") +include("common") +include("backend-webmvc") +include("backend-webflux") +include("frontend")