Skip to content

Commit be51865

Browse files
authored
Fixing correct reference to DevelocityConfiguration (#62)
* fixing correct reference to DevelocityConfiguration
1 parent fc5ada8 commit be51865

File tree

11 files changed

+237
-203
lines changed

11 files changed

+237
-203
lines changed

.github/workflows/build.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@ on:
44
push:
55
branches: [main]
66
jobs:
7+
ktlint:
8+
timeout-minutes: 300
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v6
12+
- uses: actions/setup-java@v5
13+
with:
14+
distribution: temurin
15+
java-version: 17
16+
17+
- name: Setup Gradle
18+
uses: gradle/actions/setup-gradle@v5
19+
- name: Execute Gradle build
20+
run: ./gradlew ktlintCheck
21+
env:
22+
GE_URL: ${{ secrets.GE_URL }}
23+
GE_API_KEY: ${{ secrets.GE_API_KEY }}
24+
725
prBranch:
826
timeout-minutes: 300
927
strategy:
@@ -26,6 +44,7 @@ jobs:
2644
GE_URL: ${{ secrets.GE_URL }}
2745
GE_API_KEY: ${{ secrets.GE_API_KEY }}
2846

47+
2948
integrationJavaTests:
3049
timeout-minutes: 300
3150
strategy:

build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ plugins {
33
`maven-publish`
44
`kotlin-dsl`
55
id("com.gradle.plugin-publish") version "1.0.0-rc-1"
6+
id("org.jlleitschuh.gradle.ktlint") version "14.0.1"
67
}
78

89
group = "io.github.cdsap"
@@ -25,7 +26,7 @@ tasks.withType<Test>().configureEach {
2526
filter {
2627

2728
if (project.hasProperty("excludeTests")) {
28-
excludeTest(project.property("excludeTests").toString(),"")
29+
excludeTest(project.property("excludeTests").toString(), "")
2930
}
3031
}
3132
}
@@ -87,7 +88,7 @@ publishing {
8788
name.set("InfoKotlinProcess")
8889
url.set("https://github.com/cdsap/InfoKotlinProcess/")
8990
description.set(
90-
"Retrieve information of the Kotlin process in your Build Scan or console"
91+
"Retrieve information of the Kotlin process in your Build Scan or console",
9192
)
9293
licenses {
9394
license {

settings.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,3 @@ dependencyResolutionManagement {
1616
}
1717

1818
rootProject.name = "infokotlinprocess"
19-

src/main/kotlin/io/github/cdsap/kotlinprocess/DevelocityWrapperConfiguration.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,16 @@ import org.gradle.api.Project
1111
import org.gradle.api.provider.Provider
1212

1313
class DevelocityWrapperConfiguration {
14-
1514
fun configureProjectWithDevelocity(target: Project) {
16-
val extension = target.extensions.findByType(DevelocityWrapperConfiguration::class.java) != null
15+
val extension = target.extensions.findByType(DevelocityConfiguration::class.java) != null
1716
if (extension) {
1817
buildScanDevelocityReporting(target, target.extensions.findByType(DevelocityConfiguration::class.java)!!)
19-
target.extensions.create("develocity", DevelocityWrapperConfiguration::class.java)
2018
}
2119
}
2220

2321
private fun buildScanDevelocityReporting(
2422
project: Project,
25-
buildScanExtension: DevelocityConfiguration
23+
buildScanExtension: DevelocityConfiguration,
2624
) {
2725
val (jStat, jInfo) = providerPair(project)
2826

@@ -34,7 +32,7 @@ class DevelocityWrapperConfiguration {
3432

3533
private fun processes(
3634
jStat: Provider<String>,
37-
jInfo: Provider<String>
35+
jInfo: Provider<String>,
3836
): List<Process> {
3937
val processes = ConsolidateProcesses().consolidate(jStat.get(), jInfo.get(), TypeProcess.Kotlin)
4038
return processes

src/main/kotlin/io/github/cdsap/kotlinprocess/InfoKotlinProcessBuildService.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import org.gradle.tooling.events.FinishEvent
1010
import org.gradle.tooling.events.OperationCompletionListener
1111

1212
abstract class InfoKotlinProcessBuildService :
13-
BuildService<InfoKotlinProcessBuildService.Params>, AutoCloseable,
13+
BuildService<InfoKotlinProcessBuildService.Params>,
14+
AutoCloseable,
1415
OperationCompletionListener {
1516
interface Params : BuildServiceParameters {
1617
var jInfoProvider: Provider<String>
@@ -22,7 +23,7 @@ abstract class InfoKotlinProcessBuildService :
2223
ConsolidateProcesses().consolidate(
2324
parameters.jStatProvider.get(),
2425
parameters.jInfoProvider.get(),
25-
TypeProcess.Kotlin
26+
TypeProcess.Kotlin,
2627
)
2728
if (processes.isNotEmpty()) {
2829
ConsoleOutput(processes).print()

src/main/kotlin/io/github/cdsap/kotlinprocess/InfoKotlinProcessPlugin.kt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ import org.gradle.api.Project
77
import org.gradle.build.event.BuildEventsListenerRegistry
88
import org.gradle.kotlin.dsl.support.serviceOf
99

10-
1110
class InfoKotlinProcessPlugin : Plugin<Project> {
1211
override fun apply(target: Project) {
1312
target.gradle.rootProject {
14-
15-
val hasDevelocity = try {
16-
Class.forName("com.gradle.develocity.agent.gradle.DevelocityConfiguration")
17-
true
18-
} catch (_: ClassNotFoundException) {
19-
false
20-
}
21-
if (hasDevelocity ) {
13+
val hasDevelocity =
14+
try {
15+
Class.forName("com.gradle.develocity.agent.gradle.DevelocityConfiguration")
16+
true
17+
} catch (_: ClassNotFoundException) {
18+
false
19+
}
20+
if (hasDevelocity) {
2221
DevelocityWrapperConfiguration().configureProjectWithDevelocity(target)
2322
} else {
2423
consoleReporting(target)
@@ -27,12 +26,14 @@ class InfoKotlinProcessPlugin : Plugin<Project> {
2726
}
2827

2928
private fun consoleReporting(project: Project) {
30-
val service = project.gradle.sharedServices.registerIfAbsent(
31-
"kotlinProcessService", InfoKotlinProcessBuildService::class.java
32-
) {
33-
parameters.jInfoProvider = project.jInfo(Constants.KOTLIN_PROCESS_NAME)
34-
parameters.jStatProvider = project.jStat(Constants.KOTLIN_PROCESS_NAME)
35-
}
29+
val service =
30+
project.gradle.sharedServices.registerIfAbsent(
31+
"kotlinProcessService",
32+
InfoKotlinProcessBuildService::class.java,
33+
) {
34+
parameters.jInfoProvider = project.jInfo(Constants.KOTLIN_PROCESS_NAME)
35+
parameters.jStatProvider = project.jStat(Constants.KOTLIN_PROCESS_NAME)
36+
}
3637
project.serviceOf<BuildEventsListenerRegistry>().onTaskCompletion(service)
3738
}
3839
}

src/main/kotlin/io/github/cdsap/kotlinprocess/output/ConsoleOutput.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ import com.jakewharton.picnic.TextAlignment
44
import com.jakewharton.picnic.table
55
import io.github.cdsap.jdk.tools.parser.model.Process
66

7-
class ConsoleOutput(private val processes: List<Process>) {
7+
class ConsoleOutput(
8+
private val processes: List<Process>,
9+
) {
810
fun print() {
911
println(
1012
table {
@@ -42,6 +44,7 @@ class ConsoleOutput(private val processes: List<Process>) {
4244
}
4345
}
4446
}
45-
})
47+
},
48+
)
4649
}
4750
}

src/main/kotlin/io/github/cdsap/kotlinprocess/output/DevelocityValues.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ class DevelocityValues(
77
private val develocityConfiguration: DevelocityConfiguration,
88
private val processes: List<Process>,
99
) {
10-
1110
fun addProcessesInfoToBuildScan() {
1211
processes.map {
1312
develocityConfiguration.buildScan {

src/test/kotlin/io/github/cdsap/kotlinprocess/InfoKotlinProcessNoDVTest.kt

Lines changed: 52 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -7,82 +7,87 @@ import org.junit.Test
77
import org.junit.rules.TemporaryFolder
88

99
class InfoKotlinProcessNoDVTest {
10-
1110
@Rule
1211
@JvmField
1312
val testProjectDir = TemporaryFolder()
1413

1514
@Test
1615
fun testPluginIsCompatibleWithConfigurationCacheWithDevelocity() {
17-
1816
testProjectDir.newFile("settings.gradle").appendText(
1917
"""
20-
""".trimIndent()
18+
""".trimIndent(),
2119
)
2220
testProjectDir.newFile("build.gradle").appendText(
2321
"""
24-
plugins {
25-
id 'org.jetbrains.kotlin.jvm' version '1.7.21'
26-
id 'application'
27-
id 'io.github.cdsap.kotlinprocess'
28-
}
29-
repositories {
30-
mavenCentral()
31-
}
22+
plugins {
23+
id 'org.jetbrains.kotlin.jvm' version '1.7.21'
24+
id 'application'
25+
id 'io.github.cdsap.kotlinprocess'
26+
}
27+
repositories {
28+
mavenCentral()
29+
}
3230
33-
""".trimIndent()
31+
""".trimIndent(),
3432
)
3533
listOf("8.14.2").forEach {
36-
val firstBuild = GradleRunner.create()
37-
.withProjectDir(testProjectDir.root)
38-
.withArguments("compileKotlin", "--configuration-cache")
39-
.withPluginClasspath()
40-
.withGradleVersion(it)
41-
.build()
42-
val secondBuild = GradleRunner.create()
43-
.withProjectDir(testProjectDir.root)
44-
.withArguments("compileKotlin", "--configuration-cache")
45-
.withPluginClasspath()
46-
.withGradleVersion(it)
47-
.build()
34+
val firstBuild =
35+
GradleRunner
36+
.create()
37+
.withProjectDir(testProjectDir.root)
38+
.withArguments("compileKotlin", "--configuration-cache")
39+
.withPluginClasspath()
40+
.withGradleVersion(it)
41+
.build()
42+
val secondBuild =
43+
GradleRunner
44+
.create()
45+
.withProjectDir(testProjectDir.root)
46+
.withArguments("compileKotlin", "--configuration-cache")
47+
.withPluginClasspath()
48+
.withGradleVersion(it)
49+
.build()
4850
TestCase.assertTrue(firstBuild.output.contains("Configuration cache entry stored"))
4951
TestCase.assertTrue(secondBuild.output.contains("Configuration cache entry reused."))
5052
}
5153
}
5254

5355
@Test
5456
fun testPluginIsCompatibleWithProjectIsolation() {
55-
5657
testProjectDir.newFile("settings.gradle").appendText(
5758
"""
58-
""".trimIndent()
59+
""".trimIndent(),
5960
)
6061
testProjectDir.newFile("build.gradle").appendText(
6162
"""
62-
plugins {
63-
id 'org.jetbrains.kotlin.jvm' version '2.0.20'
64-
id 'application'
65-
id 'io.github.cdsap.kotlinprocess'
66-
}
67-
repositories {
68-
mavenCentral()
69-
}
63+
plugins {
64+
id 'org.jetbrains.kotlin.jvm' version '2.0.20'
65+
id 'application'
66+
id 'io.github.cdsap.kotlinprocess'
67+
}
68+
repositories {
69+
mavenCentral()
70+
}
7071
71-
""".trimIndent()
72+
""".trimIndent(),
7273
)
7374
listOf("8.14.2").forEach {
74-
val firstBuild = GradleRunner.create()
75-
.withProjectDir(testProjectDir.root)
76-
.withArguments("compileKotlin", "-Dorg.gradle.unsafe.isolated-projects=true")
77-
.withPluginClasspath()
78-
.withGradleVersion(it)
79-
.build()
80-
val secondBuild = GradleRunner.create()
81-
.withProjectDir(testProjectDir.root)
82-
.withArguments("compileKotlin", "-Dorg.gradle.unsafe.isolated-projects=true")
83-
.withPluginClasspath()
84-
.withGradleVersion(it)
85-
.build()
75+
val firstBuild =
76+
GradleRunner
77+
.create()
78+
.withProjectDir(testProjectDir.root)
79+
.withArguments("compileKotlin", "-Dorg.gradle.unsafe.isolated-projects=true")
80+
.withPluginClasspath()
81+
.withGradleVersion(it)
82+
.build()
83+
val secondBuild =
84+
GradleRunner
85+
.create()
86+
.withProjectDir(testProjectDir.root)
87+
.withArguments("compileKotlin", "-Dorg.gradle.unsafe.isolated-projects=true")
88+
.withPluginClasspath()
89+
.withGradleVersion(it)
90+
.build()
8691
TestCase.assertTrue(firstBuild.output.contains("Configuration cache entry stored"))
8792
TestCase.assertTrue(secondBuild.output.contains("Configuration cache entry reused."))
8893
}

0 commit comments

Comments
 (0)