Migrate buildSrc to composite build (#4090)

This will help reduce build times when changes are made to the precompiled
script plugins used in the build. This is because a change in buildSrc
causes the whole project to become out-of-date [0]. Using an included build
instead works around this problem.

[0] https://docs.gradle.org/7.2/userguide/organizing_gradle_projects.html#sec:build_sources
This commit is contained in:
Matthew Haughton
2021-09-04 23:09:59 +10:00
committed by GitHub
parent 5081b891b7
commit fd0cb9096e
42 changed files with 40 additions and 35 deletions

View File

@@ -43,7 +43,7 @@ Visit [the project website](https://detekt.github.io/detekt/) for installation g
- [Suppressing issues via baseline file](https://detekt.github.io/detekt/baseline.html)
- [Configuring detekt](https://detekt.github.io/detekt/configurations.html)
- Sample Gradle integrations examples:
- [multi project (Kotlin DSL) with precompiled script plugin](https://github.com/detekt/detekt/blob/main/buildSrc/src/main/kotlin/detekt.gradle.kts)
- [multi project (Kotlin DSL) with precompiled script plugin](https://github.com/detekt/detekt/blob/main/build-logic/src/main/kotlin/detekt.gradle.kts)
- [single project (Groovy DSL)](https://github.com/arturbosch/kutils/blob/main/build.gradle)
- [single project (Unofficial Maven plugin)](https://github.com/detekt/sonar-kotlin/blob/main/pom.xml)
- [setup additional detekt task for all modules (Kotlin DSL)](https://github.com/detekt/detekt/blob/3357abba87e1550c65b6610012bb291e0fbb64ce/build.gradle.kts#L280-L295)

View File

@@ -32,7 +32,7 @@ project.afterEvaluate {
}
fun updateVersion(increment: (Semver) -> Semver) {
val versionsFile = file("${rootProject.rootDir}/buildSrc/src/main/kotlin/Versions.kt")
val versionsFile = file("${rootProject.rootDir}/build-logic/src/main/kotlin/Versions.kt")
val newContent = versionsFile.readLines()
.joinToString("\n") {
if (it.contains("const val DETEKT: String")) {

View File

@@ -2,9 +2,9 @@ import io.gitlab.arturbosch.detekt.Detekt
import io.gitlab.arturbosch.detekt.DetektCreateBaselineTask
plugins {
packaging
releasing
detekt
id("packaging")
id("releasing")
id("detekt")
alias(libs.plugins.gradleVersionz)
alias(libs.plugins.sonarqube)
}

View File

@@ -3,7 +3,7 @@
-b
./config/detekt/baseline.xml
-ex
**/resources/**,**/detekt*/build/**,**/buildSrc/build/**
**/resources/**,**/detekt*/build/**,**/build-logic/build/**
--build-upon-default-config
-c
./config/detekt/detekt.yml

View File

@@ -107,7 +107,7 @@ formatting:
naming:
InvalidPackageDeclaration:
active: true
excludes: ['**/buildSrc/**/*.kt', '**/*.kts']
excludes: ['**/build-logic/**/*.kt', '**/*.kts']
NoNameShadowing:
active: true
NonBooleanPropertyPrefixedWithIs:

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,7 +1,7 @@
import org.jetbrains.dokka.gradle.DokkaTask
plugins {
module
id("module")
alias(libs.plugins.dokka)
`java-test-fixtures`
alias(libs.plugins.binaryCompatibilityValidator)

View File

@@ -1,6 +1,6 @@
plugins {
alias(libs.plugins.shadow)
module
id("module")
application
}

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,7 +1,7 @@
import java.io.ByteArrayOutputStream
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
`java-gradle-plugin`
alias(libs.plugins.pluginPublishing)
}

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,7 +1,7 @@
import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
alias(libs.plugins.binaryCompatibilityValidator)
}

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
module
id("module")
}
dependencies {

View File

@@ -1,4 +1,9 @@
rootProject.name = "detekt"
pluginManagement {
includeBuild("build-logic")
}
include(
"code-coverage-report",
"custom-checks",