diff --git a/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/DetektPlugin.kt b/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/DetektPlugin.kt index d3ce092f6c8..27629298c95 100644 --- a/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/DetektPlugin.kt +++ b/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/DetektPlugin.kt @@ -1,6 +1,5 @@ package io.gitlab.arturbosch.detekt -import io.github.detekt.utils.openSafeStream import io.gitlab.arturbosch.detekt.extensions.DetektExtension import io.gitlab.arturbosch.detekt.internal.DetektAndroid import io.gitlab.arturbosch.detekt.internal.DetektJvm @@ -10,7 +9,6 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.plugins.ReportingBasePlugin import org.gradle.api.reporting.ReportingExtension -import java.util.Properties class DetektPlugin : Plugin { @@ -80,7 +78,7 @@ class DetektPlugin : Plugin { configuration.description = "The $CONFIGURATION_DETEKT dependencies to be used for this project." configuration.defaultDependencies { dependencySet -> - val version = extension.toolVersion ?: loadDetektVersion(DetektPlugin::class.java.classLoader) + val version = extension.toolVersion dependencySet.add(project.dependencies.create("io.gitlab.arturbosch.detekt:detekt-cli:$version")) } } @@ -119,8 +117,3 @@ class DetektPlugin : Plugin { const val CONFIGURATION_DETEKT = "detekt" const val CONFIGURATION_DETEKT_PLUGINS = "detektPlugins" - -internal fun loadDetektVersion(classLoader: ClassLoader): String = Properties().run { - load(classLoader.getResource("versions.properties")!!.openSafeStream()) - getProperty("detektVersion") -} diff --git a/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/extensions/DetektExtension.kt b/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/extensions/DetektExtension.kt index f7f46bf482d..5a599ee7fc9 100644 --- a/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/extensions/DetektExtension.kt +++ b/detekt-gradle-plugin/src/main/kotlin/io/gitlab/arturbosch/detekt/extensions/DetektExtension.kt @@ -1,14 +1,20 @@ package io.gitlab.arturbosch.detekt.extensions +import io.github.detekt.utils.openSafeStream import org.gradle.api.Action import org.gradle.api.file.ConfigurableFileCollection import org.gradle.api.model.ObjectFactory import org.gradle.api.plugins.quality.CodeQualityExtension import java.io.File +import java.util.Properties import javax.inject.Inject open class DetektExtension @Inject constructor(objects: ObjectFactory) : CodeQualityExtension() { + init { + toolVersion = loadDetektVersion(DetektExtension::class.java.classLoader) + } + var ignoreFailures: Boolean @JvmName("ignoreFailures_") get() = isIgnoreFailures @@ -101,3 +107,8 @@ open class DetektExtension @Inject constructor(objects: ObjectFactory) : CodeQua const val DEFAULT_BUILD_UPON_DEFAULT_CONFIG_VALUE = false } } + +internal fun loadDetektVersion(classLoader: ClassLoader): String = Properties().run { + load(classLoader.getResource("versions.properties")!!.openSafeStream()) + getProperty("detektVersion") +} diff --git a/detekt-gradle-plugin/src/test/kotlin/io/gitlab/arturbosch/detekt/DetektTaskDslSpec.kt b/detekt-gradle-plugin/src/test/kotlin/io/gitlab/arturbosch/detekt/DetektTaskDslSpec.kt index c422ab32803..2d112b0c360 100644 --- a/detekt-gradle-plugin/src/test/kotlin/io/gitlab/arturbosch/detekt/DetektTaskDslSpec.kt +++ b/detekt-gradle-plugin/src/test/kotlin/io/gitlab/arturbosch/detekt/DetektTaskDslSpec.kt @@ -1,6 +1,7 @@ package io.gitlab.arturbosch.detekt import io.gitlab.arturbosch.detekt.extensions.DetektReportType +import io.gitlab.arturbosch.detekt.extensions.loadDetektVersion import io.gitlab.arturbosch.detekt.testkit.DslGradleRunner import io.gitlab.arturbosch.detekt.testkit.DslTestBuilder.Companion.kotlin import io.gitlab.arturbosch.detekt.testkit.ProjectLayout