From 01db248a8c869fb3a93ccdd6d4af70483383907a Mon Sep 17 00:00:00 2001 From: Matthew Haughton <3flex@users.noreply.github.com> Date: Sat, 26 Nov 2022 19:21:36 +1100 Subject: [PATCH] Improve build after Gradle 7.6 update (#5572) * Remove redundant configuration override Fixed in Gradle 7.6 * Apply test fixtures dependency directly to test suite dependencies * Enable stable configuration cache --- code-coverage-report/build.gradle.kts | 24 ------------------------ detekt-gradle-plugin/build.gradle.kts | 5 +---- settings.gradle.kts | 1 + 3 files changed, 2 insertions(+), 28 deletions(-) diff --git a/code-coverage-report/build.gradle.kts b/code-coverage-report/build.gradle.kts index 7277b577397..29aa9b0e48e 100644 --- a/code-coverage-report/build.gradle.kts +++ b/code-coverage-report/build.gradle.kts @@ -43,27 +43,3 @@ dependencies { tasks.check { dependsOn(tasks.named("jacocoMergedReport")) } - -// The `allCodeCoverageReportClassDirectories` configuration provided by the jacoco-report-aggregation plugin actually -// resolves JARs and not class directories as the name suggests. Because the detekt-formatting JAR bundles ktlint and -// other dependencies in its JAR, they are incorrectly displayed on the coverage report even though they're external -// dependencies. -configurations.allCodeCoverageReportClassDirectories.get().attributes { - attributes.attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category::class, Category.LIBRARY)) - attributes.attribute( - LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, - objects.named(LibraryElements::class, LibraryElements.CLASSES) - ) -} - -val customClassDirectories = configurations.allCodeCoverageReportClassDirectories.get().incoming.artifactView { - componentFilter { - it is ProjectComponentIdentifier - } - lenient(true) -} - -tasks.named("jacocoMergedReport", JacocoReport::class).configure { - this.classDirectories.setFrom(customClassDirectories.files) - mustRunAfter(rootProject.project("detekt-generator").tasks.named("generateDocumentation")) -} diff --git a/detekt-gradle-plugin/build.gradle.kts b/detekt-gradle-plugin/build.gradle.kts index 949a08078d1..e1c0b6ebc9c 100644 --- a/detekt-gradle-plugin/build.gradle.kts +++ b/detekt-gradle-plugin/build.gradle.kts @@ -38,6 +38,7 @@ testing { dependencies { implementation(libs.assertj) + implementation(testFixtures(project(":"))) } targets { @@ -67,10 +68,6 @@ dependencies { compileOnly(libs.kotlin.gradlePluginApi) implementation(libs.sarif4k) - // Migrate to `implementation(testFixtures(project))` in test suite configuration when this issue is fixed: - // https://github.com/gradle/gradle/pull/19472 - functionalTestImplementation(testFixtures(project)) - pluginCompileOnly(libs.android.gradle) pluginCompileOnly(libs.kotlin.gradle) diff --git a/settings.gradle.kts b/settings.gradle.kts index 4dd323bf4f8..9045639414f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -40,6 +40,7 @@ include("detekt-tooling") include("detekt-utils") enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") +enableFeaturePreview("STABLE_CONFIGURATION_CACHE") // build scan plugin can only be applied in settings file plugins {