Skip to content

Commit

Permalink
Properly set toolVersion on DetektExtension (#4623)
Browse files Browse the repository at this point in the history
  • Loading branch information
cortinico committed Mar 10, 2022
1 parent 1269b9b commit ea6737f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
@@ -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
Expand All @@ -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<Project> {

Expand Down Expand Up @@ -80,7 +78,7 @@ class DetektPlugin : Plugin<Project> {
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"))
}
}
Expand Down Expand Up @@ -119,8 +117,3 @@ class DetektPlugin : Plugin<Project> {

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")
}
@@ -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
Expand Down Expand Up @@ -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")
}
@@ -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
Expand Down

0 comments on commit ea6737f

Please sign in to comment.