diff --git a/build.gradle.kts b/build.gradle.kts index 588ef8ee3..248a164a2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,7 @@ plugins { id("io.gitlab.arturbosch.detekt") alias(libs.plugins.gradleVersions) alias(libs.plugins.sonarqube) + alias(libs.plugins.dependencyAnalysis) } allprojects { @@ -44,6 +45,16 @@ allprojects { } } +dependencyAnalysis { + issues { + all { + onUsedTransitiveDependencies { + severity("ignore") + } + } + } +} + val analysisDir = file(projectDir) val baselineFile = file("$rootDir/config/detekt/baseline.xml") val configFile = file("$rootDir/config/detekt/detekt.yml") diff --git a/detekt-core/build.gradle.kts b/detekt-core/build.gradle.kts index 79f033b20..0d92502f4 100644 --- a/detekt-core/build.gradle.kts +++ b/detekt-core/build.gradle.kts @@ -3,12 +3,12 @@ plugins { } dependencies { + api(projects.detektApi) + api(projects.detektParser) + api(projects.detektTooling) implementation(libs.snakeyaml) - implementation(projects.detektApi) implementation(projects.detektMetrics) - implementation(projects.detektParser) implementation(projects.detektPsiUtils) - implementation(projects.detektTooling) implementation(projects.detektReportHtml) implementation(projects.detektReportTxt) implementation(projects.detektReportXml) diff --git a/detekt-formatting/build.gradle.kts b/detekt-formatting/build.gradle.kts index f4baac2e0..5b89fc4e0 100644 --- a/detekt-formatting/build.gradle.kts +++ b/detekt-formatting/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation(projects.detektApi) + compileOnly(projects.detektApi) implementation(libs.ktlint.rulesetStandard) { exclude(group = "org.jetbrains.kotlin") } diff --git a/detekt-psi-utils/build.gradle.kts b/detekt-psi-utils/build.gradle.kts index aee5b188d..b3581319b 100644 --- a/detekt-psi-utils/build.gradle.kts +++ b/detekt-psi-utils/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } dependencies { - implementation(libs.kotlin.compilerEmbeddable) + api(libs.kotlin.compilerEmbeddable) testImplementation(libs.assertj) testImplementation(projects.detektTest) diff --git a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt index 6307b4722..728cfa0ef 100644 --- a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt +++ b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/Results.kt @@ -12,7 +12,7 @@ import io.gitlab.arturbosch.detekt.api.Location import io.gitlab.arturbosch.detekt.api.RuleSetId import io.gitlab.arturbosch.detekt.api.SeverityLevel -fun toResults(detektion: Detektion): List = +internal fun toResults(detektion: Detektion): List = detektion.findings.flatMap { (ruleSetId, findings) -> findings.map { it.toResult(ruleSetId) } } diff --git a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/RuleDescriptors.kt b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/RuleDescriptors.kt index 108a6be09..90a534849 100644 --- a/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/RuleDescriptors.kt +++ b/detekt-report-sarif/src/main/kotlin/io/github/detekt/report/sarif/RuleDescriptors.kt @@ -13,7 +13,7 @@ import java.util.ServiceLoader /** * Given the existing config, return a list of [ReportingDescriptor] for the rules. */ -fun toReportingDescriptors(config: Config): List { +internal fun toReportingDescriptors(config: Config): List { val sets = ServiceLoader.load(RuleSetProvider::class.java, SarifOutputReport::class.java.classLoader) .map { it.instance(config.subConfig(it.ruleSetId)) } diff --git a/detekt-report-txt/build.gradle.kts b/detekt-report-txt/build.gradle.kts index 8e4a6293e..057172aa0 100644 --- a/detekt-report-txt/build.gradle.kts +++ b/detekt-report-txt/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation(projects.detektApi) + compileOnly(projects.detektApi) testImplementation(testFixtures(projects.detektApi)) testImplementation(libs.assertj) } diff --git a/detekt-report-xml/build.gradle.kts b/detekt-report-xml/build.gradle.kts index 8e4a6293e..057172aa0 100644 --- a/detekt-report-xml/build.gradle.kts +++ b/detekt-report-xml/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } dependencies { - implementation(projects.detektApi) + compileOnly(projects.detektApi) testImplementation(testFixtures(projects.detektApi)) testImplementation(libs.assertj) } diff --git a/detekt-sample-extensions/build.gradle.kts b/detekt-sample-extensions/build.gradle.kts index f11625c1b..da1a1c665 100644 --- a/detekt-sample-extensions/build.gradle.kts +++ b/detekt-sample-extensions/build.gradle.kts @@ -5,7 +5,7 @@ plugins { dependencies { // When creating a sample extension, change this dependency to the detekt-api version you build against // e.g. io.gitlab.arturbosch.detekt:detekt-api:1.x.x - implementation(projects.detektApi) + compileOnly(projects.detektApi) // When creating a sample extension, change this dependency to the detekt-test version you build against // e.g. io.gitlab.arturbosch.detekt:detekt-test:1.x.x testImplementation(projects.detektTest) diff --git a/detekt-test-utils/build.gradle.kts b/detekt-test-utils/build.gradle.kts index cfa4cd1d0..de2a88d0f 100644 --- a/detekt-test-utils/build.gradle.kts +++ b/detekt-test-utils/build.gradle.kts @@ -5,10 +5,10 @@ plugins { dependencies { api(libs.kotlin.stdlibJdk8) + api(libs.junit.api) compileOnly(libs.spek.dsl) implementation(projects.detektParser) implementation(libs.kotlin.scriptUtil) - implementation(libs.junit.api) testImplementation(libs.assertj) runtimeOnly(libs.kotlin.scriptingCompilerEmbeddable) diff --git a/gradle.properties b/gradle.properties index 45ed9218c..2ed1bffb5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ kotlin.code.style=official systemProp.sonar.host.url=http://localhost:9000 +systemProp.dependency.analysis.test.analysis=false org.gradle.parallel=true org.gradle.caching=true org.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 329854cbd..da5977c72 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -43,6 +43,7 @@ contester-driver = { module = "io.github.davidburstrom.contester:contester-drive [plugins] binaryCompatibilityValidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version = "0.10.0" } +dependencyAnalysis = { id = "com.autonomousapps.dependency-analysis", version = "1.2.1" } dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } gradleVersions = { id = "com.github.ben-manes.versions", version = "0.42.0" } pluginPublishing = { id = "com.gradle.plugin-publish", version = "0.21.0" }