Skip to content

Commit d9b06b8

Browse files
committed
gradle-plugin: fix docs and tests for Groovy DSL
### What's done: * Update build.gradle in examples * Add test for Groovy DSL with explicit inputs * Minor cleanup in gradle-plugin's docs
1 parent cefb5f1 commit d9b06b8

File tree

5 files changed

+38
-13
lines changed

5 files changed

+38
-13
lines changed

diktat-gradle-plugin/build.gradle.kts

+5-4
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,9 @@ repositories {
2727
}
2828

2929
// default value is needed for correct gradle loading in IDEA; actual value from maven is used during build
30-
val ktlintVersion = project.properties.getOrDefault("ktlintVersion", "0.43.0") as String
31-
val diktatVersion = project.version.takeIf { it.toString() != Project.DEFAULT_VERSION } ?: "1.1.0"
30+
// To debug gradle plugin, please set `diktatVersion` manually to the current maven project version.
31+
val ktlintVersion = project.properties.getOrDefault("ktlintVersion", "0.46.1") as String
32+
val diktatVersion = project.version.takeIf { it.toString() != Project.DEFAULT_VERSION } ?: "1.2.1"
3233
val junitVersion = project.properties.getOrDefault("junitVersion", "5.8.1") as String
3334
val jacocoVersion = project.properties.getOrDefault("jacocoVersion", "0.8.7") as String
3435
dependencies {
@@ -107,7 +108,7 @@ val functionalTest = sourceSets.create("functionalTest") {
107108
runtimeClasspath += output + compileClasspath
108109
}
109110
tasks.getByName<Test>("functionalTest") {
110-
dependsOn("test")
111+
shouldRunAfter("test")
111112
testClassesDirs = functionalTest.output.classesDirs
112113
classpath = functionalTest.runtimeClasspath
113114
maxParallelForks = Runtime.getRuntime().availableProcessors()
@@ -131,7 +132,7 @@ jacocoTestKit {
131132
applyTo("functionalTestRuntimeOnly", tasks.named("functionalTest"))
132133
}
133134
tasks.jacocoTestReport {
134-
dependsOn(tasks.withType<Test>())
135+
shouldRunAfter(tasks.withType<Test>())
135136
executionData(
136137
fileTree("$buildDir/jacoco").apply {
137138
include("*.exec")

diktat-gradle-plugin/src/functionalTest/kotlin/org/cqfn/diktat/plugin/gradle/DiktatGradlePluginGroovyFunctionalTest.kt

+18-6
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,26 @@ class DiktatGradlePluginGroovyFunctionalTest {
2727
}
2828

2929
@Test
30-
fun `should execute diktatCheck on default values`() {
30+
fun `should execute diktatCheck with default values`() {
3131
val result = runDiktat(testProjectDir, shouldSucceed = false)
3232

33-
val diktatCheckBuildResult = result.task(":${DiktatGradlePlugin.DIKTAT_CHECK_TASK}")
34-
requireNotNull(diktatCheckBuildResult)
35-
Assertions.assertEquals(TaskOutcome.FAILED, diktatCheckBuildResult.outcome)
36-
Assertions.assertTrue(
37-
result.output.contains("[FILE_NAME_MATCH_CLASS]")
33+
assertDiktatExecuted(result)
34+
}
35+
36+
@Test
37+
fun `should execute diktatCheck with explicit configuration`() {
38+
buildFile.appendText(
39+
"""${System.lineSeparator()}
40+
diktat {
41+
inputs { it.include("src/**/*.kt") }
42+
reporter = "plain"
43+
diktatConfigFile = file(rootDir.path + "/diktat-analysis.yml")
44+
}
45+
""".trimIndent()
3846
)
47+
48+
val result = runDiktat(testProjectDir, shouldSucceed = false)
49+
50+
assertDiktatExecuted(result)
3951
}
4052
}

diktat-gradle-plugin/src/functionalTest/kotlin/org/cqfn/diktat/plugin/gradle/Utils.kt

+12
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ package org.cqfn.diktat.plugin.gradle
22

33
import org.gradle.buildinit.plugins.internal.modifiers.BuildInitDsl
44
import org.gradle.internal.impldep.org.junit.rules.TemporaryFolder
5+
import org.gradle.testkit.runner.BuildResult
56
import org.gradle.testkit.runner.GradleRunner
7+
import org.gradle.testkit.runner.TaskOutcome
8+
import org.junit.jupiter.api.Assertions
69
import java.io.File
710
import java.util.concurrent.atomic.AtomicInteger
811

@@ -71,3 +74,12 @@ private fun GradleRunner.withJaCoCo(number: Int) = apply {
7174
}
7275
}
7376
}
77+
78+
fun assertDiktatExecuted(result: BuildResult) {
79+
val diktatCheckBuildResult = result.task(":${DiktatGradlePlugin.DIKTAT_CHECK_TASK}")
80+
requireNotNull(diktatCheckBuildResult)
81+
Assertions.assertEquals(TaskOutcome.FAILED, diktatCheckBuildResult.outcome)
82+
Assertions.assertTrue(
83+
result.output.contains("[FILE_NAME_MATCH_CLASS]")
84+
)
85+
}

diktat-gradle-plugin/src/main/kotlin/org/cqfn/diktat/plugin/gradle/DiktatExtension.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ open class DiktatExtension(
3434
var reporter: String = "plain"
3535

3636
/**
37-
* Type of output
38-
* Default: System.out
37+
* Destination for reporter. If empty, will write to stdout.
3938
*/
4039
var output: String = ""
4140

examples/gradle-groovy-dsl/build.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ repositories {
77
}
88

99
diktat {
10-
inputs { include ("src/**/*.kt") }
10+
inputs { it.include ("src/**/*.kt") }
11+
diktatConfigFile = file(rootDir.path + "/diktat-analysis.yml")
1112
}

0 commit comments

Comments
 (0)