From 9c62798ed6b1b1fbb4d5b23971aba9622b92b5f2 Mon Sep 17 00:00:00 2001 From: Peter Trifanov Date: Fri, 16 Dec 2022 18:55:08 +0600 Subject: [PATCH] Move code analysis configuration to `gradle/plugins`, convert to script plugins (#1622) * Move configuration of diktat, detekt and spotless into `gradle/plugins` Continuation of #948 --- api-gateway/build.gradle.kts | 3 +- authentication-service/build.gradle.kts | 2 +- build.gradle.kts | 7 +- buildSrc/build.gradle.kts | 3 - .../save/buildutils/DetektConfiguration.kt | 56 -------------- .../save/buildutils/DiktatConfiguration.kt | 75 ------------------- gradle/libs.versions.toml | 1 + gradle/plugins/build.gradle.kts | 10 ++- .../code-quality-convention.gradle.kts | 7 ++ ...detekt-convention-configuration.gradle.kts | 39 ++++++++++ ...diktat-convention-configuration.gradle.kts | 29 +++++++ ...otless-convention-configuration.gradle.kts | 36 +++++++++ save-agent/build.gradle.kts | 3 +- save-api-cli/build.gradle.kts | 1 + save-api/build.gradle.kts | 1 + save-backend/build.gradle.kts | 2 +- save-cloud-common/build.gradle.kts | 3 +- save-demo-cpg/build.gradle.kts | 2 +- save-demo/build.gradle.kts | 2 +- save-frontend/build.gradle.kts | 4 +- save-orchestrator-common/build.gradle.kts | 2 +- save-orchestrator/build.gradle.kts | 2 +- save-preprocessor/build.gradle.kts | 3 +- save-sandbox/build.gradle.kts | 2 +- test-utils/build.gradle.kts | 5 +- 25 files changed, 135 insertions(+), 165 deletions(-) delete mode 100644 buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DetektConfiguration.kt delete mode 100644 buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DiktatConfiguration.kt create mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/code-quality-convention.gradle.kts create mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/detekt-convention-configuration.gradle.kts create mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/diktat-convention-configuration.gradle.kts create mode 100644 gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/spotless-convention-configuration.gradle.kts diff --git a/api-gateway/build.gradle.kts b/api-gateway/build.gradle.kts index c98d0df794..9751b48096 100644 --- a/api-gateway/build.gradle.kts +++ b/api-gateway/build.gradle.kts @@ -1,9 +1,9 @@ import com.saveourtool.save.buildutils.configureJacoco -import com.saveourtool.save.buildutils.configureSpotless plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-app-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") } dependencies { @@ -17,4 +17,3 @@ dependencies { } configureJacoco() -configureSpotless() diff --git a/authentication-service/build.gradle.kts b/authentication-service/build.gradle.kts index 4579e4f1f6..3f7b71abc3 100644 --- a/authentication-service/build.gradle.kts +++ b/authentication-service/build.gradle.kts @@ -3,6 +3,7 @@ import com.saveourtool.save.buildutils.* plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") kotlin("plugin.allopen") alias(libs.plugins.kotlin.plugin.jpa) } @@ -30,4 +31,3 @@ dependencies { } configureJacoco() -configureSpotless() diff --git a/build.gradle.kts b/build.gradle.kts index afdef37336..721e8f6c32 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ import com.saveourtool.save.buildutils.* plugins { id("com.saveourtool.save.buildutils.versioning-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") alias(libs.plugins.talaiot.base) alias(libs.plugins.liquibase.gradle) java @@ -58,19 +59,13 @@ talaiot { } allprojects { - configureDetekt() configurations.all { // if SNAPSHOT dependencies are used, refresh them periodically resolutionStrategy.cacheDynamicVersionsFor(10, TimeUnit.MINUTES) resolutionStrategy.cacheChangingModulesFor(10, TimeUnit.MINUTES) } } -allprojects { - configureDiktat() -} -configureSpotless() createStackDeployTask(profile) configurePublishing() -createDetektTask() installGitHooks() diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 737ce9c7c1..ac8bf6cb84 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -12,10 +12,7 @@ dependencies { implementation(files(project.libs.javaClass.superclass.protectionDomain.codeSource.location)) implementation(libs.kotlin.gradle.plugin) implementation(libs.spring.boot.gradle.plugin) - implementation(libs.diktat.gradle.plugin) - implementation(libs.detekt.gradle.plugin) implementation(libs.kotlin.plugin.allopen) - implementation(libs.gradle.plugin.spotless) implementation(libs.publish.gradle.plugin) implementation(libs.download.plugin) } diff --git a/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DetektConfiguration.kt b/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DetektConfiguration.kt deleted file mode 100644 index f7026e6e3e..0000000000 --- a/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DetektConfiguration.kt +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Configuration for detekt static analysis - */ - -package com.saveourtool.save.buildutils - -import io.gitlab.arturbosch.detekt.Detekt -import io.gitlab.arturbosch.detekt.DetektPlugin -import io.gitlab.arturbosch.detekt.extensions.DetektExtension -import io.gitlab.arturbosch.detekt.report.ReportMergeTask -import org.gradle.api.Project -import org.gradle.api.tasks.TaskProvider -import org.gradle.kotlin.dsl.apply -import org.gradle.kotlin.dsl.configure -import org.gradle.kotlin.dsl.named -import org.gradle.kotlin.dsl.register -import org.gradle.kotlin.dsl.withType - -/** - * Configure Detekt for a single project - */ -@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") -fun Project.configureDetekt() { - apply() - configure { - config = rootProject.files("detekt.yml") - basePath = rootDir.canonicalPath - buildUponDefaultConfig = true - } - if (path == rootProject.path) { - tasks.register("mergeDetektReports", ReportMergeTask::class) { - output.set(buildDir.resolve("detekt-sarif-reports/detekt-merged.sarif")) - } - } - val reportMerge: TaskProvider = rootProject.tasks.named("mergeDetektReports") { - input.from( - tasks.withType().map { it.sarifReportFile } - ) - shouldRunAfter(tasks.withType()) - } - tasks.withType().configureEach { - reports.sarif.required.set(true) - finalizedBy(reportMerge) - } -} - -/** - * Register a unified detekt task - */ -fun Project.createDetektTask() { - tasks.register("detektAll") { - allprojects { - this@register.dependsOn(tasks.withType()) - } - } -} diff --git a/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DiktatConfiguration.kt b/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DiktatConfiguration.kt deleted file mode 100644 index e8f32d5b25..0000000000 --- a/buildSrc/src/main/kotlin/com/saveourtool/save/buildutils/DiktatConfiguration.kt +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Configuration for diktat static analysis - */ - -package com.saveourtool.save.buildutils - -import com.diffplug.gradle.spotless.SpotlessExtension -import com.diffplug.gradle.spotless.SpotlessPlugin -import org.cqfn.diktat.plugin.gradle.DiktatExtension -import org.cqfn.diktat.plugin.gradle.DiktatGradlePlugin -import org.cqfn.diktat.plugin.gradle.DiktatJavaExecTaskBase -import org.gradle.accessors.dm.LibrariesForLibs -import org.gradle.api.Project -import org.gradle.jvm.toolchain.JavaLanguageVersion -import org.gradle.jvm.toolchain.JavaToolchainService -import org.gradle.kotlin.dsl.* - -/** - * Applies diktat gradle plugin and configures diktat for [this] project - */ -fun Project.configureDiktat() { - apply() - configure { - diktatConfigFile = rootProject.file("diktat-analysis.yml") - githubActions = findProperty("diktat.githubActions")?.toString()?.toBoolean() ?: false - inputs { - // using `Project#path` here, because it must be unique in gradle's project hierarchy - if (path == rootProject.path) { - include("gradle/plugins/src/**/*.kt", "*.kts", "gradle/plugins/**/*.kts") - exclude("gradle/plugins/build/**") - } else { - include("src/**/*.kt", "**/*.kts") - exclude("src/test/**/*.kt", "src/*Test/**/*.kt") - } - } - } - fixDiktatTasks() -} - -/** - * Applies spotless to [this] project and configures diktat step - */ -@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") -fun Project.configureSpotless() { - val libs = the() - val diktatVersion = libs.versions.diktat.get() - apply() - configure { - kotlin { - diktat(diktatVersion).configFile(rootProject.file("diktat-analysis.yml")) - target("src/**/*.kt") - if (path == rootProject.path) { - target("gradle/plugins/**/*.kt") - } - } - kotlinGradle { - diktat(diktatVersion).configFile(rootProject.file("diktat-analysis.yml")) - - // using `Project#path` here, because it must be unique in gradle's project hierarchy - if (path == rootProject.path) { - target("$rootDir/*.kts", "$rootDir/gradle/plugins/**/*.kts") - } else { - target("**/*.kts") - } - } - } -} - -private fun Project.fixDiktatTasks() { - tasks.withType().configureEach { - javaLauncher.set(project.extensions.getByType().launcherFor { - languageVersion.set(JavaLanguageVersion.of(Versions.jdk)) - }) - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 77ab73a302..60ae374609 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -48,6 +48,7 @@ kotlin-plugin-jpa = { id = "org.jetbrains.kotlin.plugin.jpa", version.ref = "kot kotlin-plugin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" } liquibase-gradle = { id = "org.liquibase.gradle", version = "2.1.1" } talaiot-base = { id = "io.github.cdsap.talaiot.plugin.base", version = "1.5.3" } +detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } spotless = { id = "com.diffplug.gradle.spotless", version.ref = "spotless" } download = { id = "de.undercouch.download", version.ref = "download" } diff --git a/gradle/plugins/build.gradle.kts b/gradle/plugins/build.gradle.kts index ac0aa0d41e..45c7354d85 100644 --- a/gradle/plugins/build.gradle.kts +++ b/gradle/plugins/build.gradle.kts @@ -1,10 +1,12 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { `kotlin-dsl` } repositories { - gradlePluginPortal() mavenCentral() + gradlePluginPortal() } dependencies { @@ -13,12 +15,14 @@ dependencies { implementation(libs.kotlin.gradle.plugin) implementation(libs.spring.boot.gradle.plugin) implementation(libs.kotlin.plugin.allopen) - implementation(libs.gradle.plugin.spotless) implementation(libs.download.plugin) implementation(libs.reckon.gradle.plugin) + implementation(libs.detekt.gradle.plugin) + implementation(libs.diktat.gradle.plugin) + implementation(libs.gradle.plugin.spotless) } -tasks.withType { +tasks.withType { kotlinOptions { jvmTarget = "17" freeCompilerArgs = freeCompilerArgs + "-opt-in=kotlin.RequiresOptIn" diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/code-quality-convention.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/code-quality-convention.gradle.kts new file mode 100644 index 0000000000..78b2f350b8 --- /dev/null +++ b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/code-quality-convention.gradle.kts @@ -0,0 +1,7 @@ +package com.saveourtool.save.buildutils + +plugins { + id("com.saveourtool.save.buildutils.detekt-convention-configuration") + id("com.saveourtool.save.buildutils.diktat-convention-configuration") + id("com.saveourtool.save.buildutils.spotless-convention-configuration") +} diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/detekt-convention-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/detekt-convention-configuration.gradle.kts new file mode 100644 index 0000000000..3e5235a2ee --- /dev/null +++ b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/detekt-convention-configuration.gradle.kts @@ -0,0 +1,39 @@ +package com.saveourtool.save.buildutils + +import io.gitlab.arturbosch.detekt.Detekt +import io.gitlab.arturbosch.detekt.report.ReportMergeTask + +plugins { + id("io.gitlab.arturbosch.detekt") +} + +detekt { + config = rootProject.files("detekt.yml") + basePath = rootDir.canonicalPath + buildUponDefaultConfig = true +} + +@Suppress("RUN_IN_SCRIPT") +if (path == rootProject.path) { + tasks.register("detektAll") { + allprojects { + this@register.dependsOn(tasks.withType()) + } + } + + tasks.register("mergeDetektReports", ReportMergeTask::class) { + output.set(buildDir.resolve("detekt-sarif-reports/detekt-merged.sarif")) + } +} + +@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") +val reportMerge: TaskProvider = rootProject.tasks.named("mergeDetektReports") { + input.from( + tasks.withType().map { it.sarifReportFile } + ) + shouldRunAfter(tasks.withType()) +} +tasks.withType().configureEach { + reports.sarif.required.set(true) + finalizedBy(reportMerge) +} diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/diktat-convention-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/diktat-convention-configuration.gradle.kts new file mode 100644 index 0000000000..eff795d654 --- /dev/null +++ b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/diktat-convention-configuration.gradle.kts @@ -0,0 +1,29 @@ +package com.saveourtool.save.buildutils + +import Versions +import org.cqfn.diktat.plugin.gradle.DiktatJavaExecTaskBase + +plugins { + id("org.cqfn.diktat.diktat-gradle-plugin") +} + +diktat { + diktatConfigFile = rootProject.file("diktat-analysis.yml") + githubActions = findProperty("diktat.githubActions")?.toString()?.toBoolean() ?: false + inputs { + // using `Project#path` here, because it must be unique in gradle's project hierarchy + if (path == rootProject.path) { + include("gradle/plugins/src/**/*.kt", "*.kts", "gradle/plugins/**/*.kts") + exclude("gradle/plugins/build/**") + } else { + include("src/**/*.kt", "**/*.kts") + exclude("src/test/**/*.kt", "src/*Test/**/*.kt") + } + } +} + +tasks.withType().configureEach { + javaLauncher.set(project.extensions.getByType().launcherFor { + languageVersion.set(JavaLanguageVersion.of(Versions.jdk)) + }) +} diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/spotless-convention-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/spotless-convention-configuration.gradle.kts new file mode 100644 index 0000000000..034f28b8ca --- /dev/null +++ b/gradle/plugins/src/main/kotlin/com/saveourtool/save/buildutils/spotless-convention-configuration.gradle.kts @@ -0,0 +1,36 @@ +package com.saveourtool.save.buildutils + +import org.gradle.accessors.dm.LibrariesForLibs + +plugins { + id("com.diffplug.spotless") +} + +@Suppress("GENERIC_VARIABLE_WRONG_DECLARATION") +val libs = the() +val diktatVersion: String = libs.versions.diktat.get() +spotless { + kotlin { + diktat(diktatVersion).configFile(rootProject.file("diktat-analysis.yml")) + target("src/**/*.kt") + targetExclude("src/test/**/*.kt", "src/*Test/**/*.kt") + if (path == rootProject.path) { + target("gradle/plugins/src/**/*.kt") + } + } + kotlinGradle { + diktat(diktatVersion).configFile(rootProject.file("diktat-analysis.yml")) + + // using `Project#path` here, because it must be unique in gradle's project hierarchy + if (path == rootProject.path) { + target("$rootDir/*.kts", "$rootDir/gradle/plugins/**/*.kts") + targetExclude( + "$rootDir/build/**/*.kts", + "$rootDir/gradle/plugins/build/**/*.kts", + ) + } else { + target("**/*.kts") + targetExclude("build/**/*.kts") + } + } +} diff --git a/save-agent/build.gradle.kts b/save-agent/build.gradle.kts index 2f0eb288fd..7d620c4efe 100644 --- a/save-agent/build.gradle.kts +++ b/save-agent/build.gradle.kts @@ -1,4 +1,3 @@ -import com.saveourtool.save.buildutils.configureSpotless import org.gradle.api.tasks.TaskProvider import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform import org.jetbrains.kotlin.gradle.tasks.KotlinNativeLink @@ -6,6 +5,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinNativeLink plugins { kotlin("multiplatform") alias(libs.plugins.kotlin.plugin.serialization) + id("com.saveourtool.save.buildutils.code-quality-convention") } kotlin { @@ -129,7 +129,6 @@ kotlin { tasks.withType { testLogging.showStandardStreams = true } -configureSpotless() /* * On Windows, it's impossible to link a Linux executable against diff --git a/save-api-cli/build.gradle.kts b/save-api-cli/build.gradle.kts index 280d068bed..4d3e6d89ed 100644 --- a/save-api-cli/build.gradle.kts +++ b/save-api-cli/build.gradle.kts @@ -1,6 +1,7 @@ plugins { application id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") alias(libs.plugins.kotlin.plugin.serialization) } diff --git a/save-api/build.gradle.kts b/save-api/build.gradle.kts index e948de224a..3d97a1e590 100644 --- a/save-api/build.gradle.kts +++ b/save-api/build.gradle.kts @@ -3,6 +3,7 @@ import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") alias(libs.plugins.kotlin.plugin.serialization) `maven-publish` } diff --git a/save-backend/build.gradle.kts b/save-backend/build.gradle.kts index 9bf8c60dfe..317a2896d9 100644 --- a/save-backend/build.gradle.kts +++ b/save-backend/build.gradle.kts @@ -12,6 +12,7 @@ plugins { id("com.saveourtool.save.buildutils.spring-data-configuration") id("com.saveourtool.save.buildutils.save-cli-configuration") id("com.saveourtool.save.buildutils.save-agent-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") // this plugin will generate generateOpenApiDocs task // running this task, it will write the OpenAPI spec into a backend-api-docs.json file in save-backend dir. id("org.springdoc.openapi-gradle-plugin") version "1.5.0" @@ -94,4 +95,3 @@ tasks.withType { excludes = listOf("**/CorsFilter.kt") } } -configureSpotless() diff --git a/save-cloud-common/build.gradle.kts b/save-cloud-common/build.gradle.kts index ebcf17f2f0..0f2f6b53aa 100644 --- a/save-cloud-common/build.gradle.kts +++ b/save-cloud-common/build.gradle.kts @@ -1,11 +1,11 @@ import com.saveourtool.save.buildutils.configurePublishing -import com.saveourtool.save.buildutils.configureSpotless plugins { kotlin("multiplatform") alias(libs.plugins.kotlin.plugin.serialization) kotlin("plugin.allopen") alias(libs.plugins.kotlin.plugin.jpa) + id("com.saveourtool.save.buildutils.code-quality-convention") `maven-publish` } kotlin { @@ -67,5 +67,4 @@ kotlin { } } -configureSpotless() configurePublishing() diff --git a/save-demo-cpg/build.gradle.kts b/save-demo-cpg/build.gradle.kts index 1d30a31a28..ea7e228108 100644 --- a/save-demo-cpg/build.gradle.kts +++ b/save-demo-cpg/build.gradle.kts @@ -4,6 +4,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-app-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") alias(libs.plugins.kotlin.plugin.serialization) } @@ -36,7 +37,6 @@ dependencies { } configureJacoco() -configureSpotless() // This is a special hack for macOS and JEP, see: https://github.com/Fraunhofer-AISEC/cpg/pull/995/files val os = System.getProperty("os.name") diff --git a/save-demo/build.gradle.kts b/save-demo/build.gradle.kts index af83e9c293..2d4c3626f6 100644 --- a/save-demo/build.gradle.kts +++ b/save-demo/build.gradle.kts @@ -5,12 +5,12 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-app-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") alias(libs.plugins.kotlin.plugin.serialization) kotlin("plugin.allopen") } configureJacoco() -configureSpotless() tasks.withType { kotlinOptions { diff --git a/save-frontend/build.gradle.kts b/save-frontend/build.gradle.kts index 5549bf6a8d..6cd42d0db8 100644 --- a/save-frontend/build.gradle.kts +++ b/save-frontend/build.gradle.kts @@ -1,5 +1,3 @@ -import com.saveourtool.save.buildutils.configureSpotless - import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin @@ -8,6 +6,7 @@ import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest plugins { kotlin("js") id("com.saveourtool.save.buildutils.build-frontend-image-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") } rootProject.plugins.withType { @@ -258,4 +257,3 @@ artifacts.add(distribution.name, distributionJarTask.get().archiveFile) { detekt { config.setFrom(config.plus(file("detekt.yml"))) } -configureSpotless() diff --git a/save-orchestrator-common/build.gradle.kts b/save-orchestrator-common/build.gradle.kts index aa227ad35f..fd9c1fd95c 100644 --- a/save-orchestrator-common/build.gradle.kts +++ b/save-orchestrator-common/build.gradle.kts @@ -5,11 +5,11 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") id("org.gradle.test-retry") version "1.5.0" } configureJacoco() -configureSpotless() tasks.withType { kotlinOptions { diff --git a/save-orchestrator/build.gradle.kts b/save-orchestrator/build.gradle.kts index 1ddbadca7f..9863bacf19 100644 --- a/save-orchestrator/build.gradle.kts +++ b/save-orchestrator/build.gradle.kts @@ -5,12 +5,12 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") id("com.saveourtool.save.buildutils.spring-boot-app-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") id("de.undercouch.download") id("org.gradle.test-retry") version "1.5.0" } configureJacoco() -configureSpotless() tasks.withType { kotlinOptions { diff --git a/save-preprocessor/build.gradle.kts b/save-preprocessor/build.gradle.kts index 95c38ca4ea..b1fa588a42 100644 --- a/save-preprocessor/build.gradle.kts +++ b/save-preprocessor/build.gradle.kts @@ -1,10 +1,10 @@ import com.saveourtool.save.buildutils.configureJacoco -import com.saveourtool.save.buildutils.configureSpotless plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") alias(libs.plugins.kotlin.plugin.serialization) id("com.saveourtool.save.buildutils.spring-boot-app-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") } dependencies { @@ -24,4 +24,3 @@ dependencies { } configureJacoco() -configureSpotless() diff --git a/save-sandbox/build.gradle.kts b/save-sandbox/build.gradle.kts index 51e904789d..406ac65d0a 100644 --- a/save-sandbox/build.gradle.kts +++ b/save-sandbox/build.gradle.kts @@ -8,6 +8,7 @@ plugins { id("com.saveourtool.save.buildutils.spring-data-configuration") id("com.saveourtool.save.buildutils.save-cli-configuration") id("com.saveourtool.save.buildutils.save-agent-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") id("org.gradle.test-retry") version "1.5.0" kotlin("plugin.allopen") alias(libs.plugins.kotlin.plugin.jpa) @@ -20,7 +21,6 @@ kotlin { } configureJacoco() -configureSpotless() tasks.withType { kotlinOptions { diff --git a/test-utils/build.gradle.kts b/test-utils/build.gradle.kts index fd638e6855..ab6d07a003 100644 --- a/test-utils/build.gradle.kts +++ b/test-utils/build.gradle.kts @@ -1,7 +1,6 @@ -import com.saveourtool.save.buildutils.configureSpotless - plugins { id("com.saveourtool.save.buildutils.kotlin-jvm-configuration") + id("com.saveourtool.save.buildutils.code-quality-convention") } dependencies { @@ -12,5 +11,3 @@ dependencies { testImplementation(libs.junit.jupiter.api) testImplementation(libs.junit.jupiter.engine) } - -configureSpotless()