From 9d6529c99a7786da87b0a4a1d0f5cf4b1079bf22 Mon Sep 17 00:00:00 2001 From: akuleshov7 Date: Sat, 23 Mar 2024 22:06:25 +0300 Subject: [PATCH 1/2] Small enhancements and refactoring changes for being more compact --- backend-webflux/README.md | 0 backend-webmvc/README.md | 0 common/README.md | 0 frontend/README.md | 0 .../com/saveourtool/template/build/Utils.kt | 3 -- ...tlin-mpp-with-jvm-configuration.gradle.kts | 30 ------------------- 6 files changed, 33 deletions(-) create mode 100644 backend-webflux/README.md create mode 100644 backend-webmvc/README.md create mode 100644 common/README.md create mode 100644 frontend/README.md delete mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/template/build/Utils.kt delete mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/template/build/kotlin-mpp-with-jvm-configuration.gradle.kts 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/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..e69de29 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() -} From 9275470dae6eccb23438b4f5f077a6f30f093cbd Mon Sep 17 00:00:00 2001 From: akuleshov7 Date: Sat, 23 Mar 2024 22:06:40 +0300 Subject: [PATCH 2/2] Small enhancements and refactoring changes for being more compact --- common/build.gradle.kts | 23 ++++++----- frontend/build.gradle.kts | 2 +- gradle/libs.versions.toml | 1 + ...pring-boot-kotlin-configuration.gradle.kts | 11 +++++- settings.gradle.kts | 38 ++++++++----------- 5 files changed, 39 insertions(+), 36 deletions(-) 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/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/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")