Skip to content

Commit

Permalink
Remove some Ktlint version check
Browse files Browse the repository at this point in the history
  • Loading branch information
fthouraud committed Aug 28, 2022
1 parent be947e2 commit ef520c2
Show file tree
Hide file tree
Showing 7 changed files with 5 additions and 68 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.jlleitschuh.gradle.ktlint

import net.swiftzer.semver.SemVer
import org.gradle.api.Project
import org.gradle.api.artifacts.Configuration
import org.gradle.api.artifacts.component.ModuleComponentIdentifier
Expand Down Expand Up @@ -30,25 +29,18 @@ internal fun createKtlintConfiguration(target: Project, extension: KtlintExtensi
isCanBeResolved = true
isCanBeConsumed = false
isVisible = false

// Starting from KtLint 0.41.0 version published artifact has two variants: "external" and "shadowed"
attributes {
it.attribute(Bundling.BUNDLING_ATTRIBUTE, target.objects.named(Bundling::class.java, Bundling.EXTERNAL))
}

val dependencyProvider = target.provider {
val ktlintVersion = extension.version.get()
target.logger.info("Add dependency: ktlint version $ktlintVersion")
target.dependencies.create("${resolveGroup(ktlintVersion)}:ktlint:$ktlintVersion")
target.dependencies.create("com.pinterest:ktlint:$ktlintVersion")
}
dependencies.addLater(dependencyProvider)
}

private fun resolveGroup(ktlintVersion: String) = when {
SemVer.parse(ktlintVersion) < SemVer(0, 32, 0) -> "com.github.shyiko"
else -> "com.pinterest"
}

internal fun createKtlintRulesetConfiguration(
target: Project,
ktLintConfiguration: Configuration
Expand Down Expand Up @@ -116,19 +108,7 @@ internal fun createKtLintBaselineReporterConfiguration(
withDependencies {
dependencies.addLater(
target.provider {
val ktlintVersion = extension.version.get()
// Baseline reporter is only available starting 0.41.0 release
if (SemVer.parse(ktlintVersion) >= SemVer(0, 41, 0)) {
target.dependencies.create(
"com.pinterest.ktlint:ktlint-reporter-baseline:${extension.version.get()}"
)
} else {
// Adding fake plain reporter as addLater() does not accept `null` value
// Generate baseline tasks anyway will not run on KtLint versions < 0.41.0
target.dependencies.create(
"com.pinterest.ktlint:ktlint-reporter-plain:${extension.version.get()}"
)
}
target.dependencies.create("com.pinterest.ktlint:ktlint-reporter-baseline:${extension.version.get()}")
}
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.jlleitschuh.gradle.ktlint

import net.swiftzer.semver.SemVer
import org.gradle.api.DefaultTask
import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.model.ObjectFactory
Expand Down Expand Up @@ -42,28 +41,14 @@ open class KtlintApplyToIdeaTask @Inject constructor(

// Subcommand
if (globally.get()) {
it.args(getApplyToIdeaCommand())
it.args("applyToIDEA")
} else {
it.args(getApplyToProjectCommand())
it.args("applyToIDEAProject")
}

// Subcommand parameters
// -y here to auto-overwrite existing IDEA code style
it.args("-y")
}
}

private fun getApplyToIdeaCommand() =
if (SemVer.parse(ktlintVersion.get()) >= SemVer(0, 35, 0)) {
"applyToIDEA"
} else {
"--apply-to-idea"
}

private fun getApplyToProjectCommand() =
if (SemVer.parse(ktlintVersion.get()) >= SemVer(0, 35, 0)) {
"applyToIDEAProject"
} else {
"--apply-to-idea-project"
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.jlleitschuh.gradle.ktlint.tasks

import net.swiftzer.semver.SemVer
import org.gradle.api.DefaultTask
import org.gradle.api.Task
import org.gradle.api.file.ConfigurableFileCollection
Expand Down Expand Up @@ -50,14 +49,6 @@ abstract class GenerateBaselineTask @Inject constructor(
super.onlyIf(spec)
}

init {
onlyIf {
val isEnabled = SemVer.parse(ktLintVersion.get()) >= SemVer(0, 41, 0)
if (!isEnabled) logger.warn("Generate baseline only works starting from KtLint 0.41.0 version")
isEnabled
}
}

@Suppress("UnstableApiUsage")
@TaskAction
fun generateBaseline() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package org.jlleitschuh.gradle.ktlint.tasks

import net.swiftzer.semver.SemVer
import org.gradle.api.DefaultTask
import org.gradle.api.GradleException
import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.file.ProjectLayout
Expand Down Expand Up @@ -118,8 +116,6 @@ abstract class GenerateReportsTask @Inject constructor(
@Suppress("UnstableApiUsage")
@TaskAction
fun generateReports() {
checkBaselineSupportedKtLintVersion()

// Classloader isolation is enough here as we just want to use some classes from KtLint classpath
// to get errors and generate files/console reports. No KtLint main object is initialized/used in this case.
val queue = workerExecutor.classLoaderIsolation { spec ->
Expand Down Expand Up @@ -183,12 +179,6 @@ abstract class GenerateReportsTask @Inject constructor(
return options.toMap()
}

private fun checkBaselineSupportedKtLintVersion() {
if (baseline.isPresent && SemVer.parse(ktLintVersion.get()) < SemVer(0, 41, 0)) {
throw GradleException("Baseline support is only enabled for KtLint versions 0.41.0+.")
}
}

internal enum class LintType(
val suffix: String
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,7 @@ internal interface KtLintClassesSerializer {
): List<ReporterProvider<*>>

companion object {
fun create(ktLintVersion: SemVer): KtLintClassesSerializer =
if (ktLintVersion >= SemVer(0, 41, 0)) {
CurrentKtLintClassesSerializer()
} else {
OldKtLintClassesSerializer()
}
fun create(ktLintVersion: SemVer): KtLintClassesSerializer = CurrentKtLintClassesSerializer()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ package org.jlleitschuh.gradle.ktlint
import org.assertj.core.api.Assertions.assertThat
import org.gradle.testkit.runner.TaskOutcome
import org.gradle.util.GradleVersion
import org.jlleitschuh.gradle.ktlint.tasks.KtLintCheckTask
import org.jlleitschuh.gradle.ktlint.testdsl.CommonTest
import org.jlleitschuh.gradle.ktlint.testdsl.GradleTestVersions
import org.jlleitschuh.gradle.ktlint.testdsl.build
import org.jlleitschuh.gradle.ktlint.testdsl.buildAndFail
import org.jlleitschuh.gradle.ktlint.testdsl.project
import org.junit.jupiter.api.DisplayName

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import org.jlleitschuh.gradle.ktlint.testdsl.build
import org.jlleitschuh.gradle.ktlint.testdsl.buildAndFail
import org.jlleitschuh.gradle.ktlint.testdsl.project
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.condition.DisabledOnOs
import org.junit.jupiter.api.condition.OS

@GradleTestVersions
class ReportersTest : AbstractPluginTest() {
Expand Down

0 comments on commit ef520c2

Please sign in to comment.