Skip to content

Commit a055936

Browse files
committed
Migrate build to shared convention plugins setup
1 parent 6a64acb commit a055936

File tree

7 files changed

+40
-91
lines changed

7 files changed

+40
-91
lines changed

.github/workflows/ci-build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ jobs:
1212
steps:
1313
- name: git clone
1414
uses: actions/checkout@v5
15+
- name: git clone gradlex-build-conventions
16+
uses: actions/checkout@v5
17+
with:
18+
repository: gradlex-org/plugin-publish-conventions
19+
path: build/plugin-publish-conventions
20+
ref: new-convention-plugins
1521
- name: Set up JDK
1622
uses: actions/setup-java@v5
1723
with:

build.gradle.kts

Lines changed: 25 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,25 @@
1-
plugins {
2-
id("groovy")
3-
id("org.gradlex.internal.plugin-publish-conventions") version "0.6"
4-
}
5-
6-
group = "org.gradlex"
7-
version = "1.7"
8-
9-
tasks.withType<JavaCompile>().configureEach { options.release = 8 }
10-
11-
dependencies {
12-
testImplementation("org.spockframework:spock-core:2.3-groovy-4.0")
13-
testImplementation("org.gradle.exemplar:samples-check:1.0.3")
14-
testRuntimeOnly("org.junit.vintage:junit-vintage-engine")
15-
}
16-
17-
pluginPublishConventions {
18-
id("${project.group}.${project.name}")
19-
implementationClass("org.gradlex.javamodule.testing.JavaModuleTestingPlugin")
20-
displayName("Java Module Testing Gradle Plugin")
21-
description("A plugin to test Java Modules (whitebox and blackbox) without the hassle.")
22-
tags("gradlex", "java", "modularity", "jigsaw", "jpms", "testing")
23-
gitHub("https://github.com/gradlex-org/java-module-testing")
24-
developer {
25-
id.set("jjohannes")
26-
name.set("Jendrik Johannes")
27-
email.set("[email protected]")
28-
}
29-
}
30-
31-
testing.suites.named<JvmTestSuite>("test") {
32-
useJUnitJupiter()
33-
listOf("7.4", "7.6.5", "8.0.2", "8.14.2").forEach { gradleVersionUnderTest ->
34-
targets.register("test${gradleVersionUnderTest}") {
35-
testTask {
36-
group = LifecycleBasePlugin.VERIFICATION_GROUP
37-
description = "Runs tests against Gradle $gradleVersionUnderTest"
38-
systemProperty("gradleVersionUnderTest", gradleVersionUnderTest)
39-
exclude("**/*SamplesTest.class") // Not yet cross-version ready
40-
}
41-
}
42-
}
43-
targets.all {
44-
testTask {
45-
maxParallelForks = 4
46-
inputs.dir(layout.projectDirectory.dir("samples"))
47-
inputs.dir("samples")
48-
}
49-
}
50-
}
1+
version = "1.7"
2+
3+
pluginPublishConventions {
4+
id("${project.group}.${project.name}")
5+
implementationClass("org.gradlex.javamodule.testing.JavaModuleTestingPlugin")
6+
displayName("Java Module Testing Gradle Plugin")
7+
description("A plugin to test Java Modules (whitebox and blackbox) without the hassle.")
8+
tags("gradlex", "java", "modularity", "jigsaw", "jpms", "testing")
9+
gitHub("https://github.com/gradlex-org/java-module-testing")
10+
developer {
11+
id.set("jjohannes")
12+
name.set("Jendrik Johannes")
13+
email.set("[email protected]")
14+
}
15+
}
16+
17+
testingConventions { testGradleVersions("7.4", "7.6.5", "8.0.2", "8.14.2") }
18+
19+
// === the following custom configuration should be removed once tests are migrated to Java
20+
apply(plugin = "groovy")
21+
22+
tasks.named<GroovyCompile>("compileTestGroovy") { targetCompatibility = "11" } // allow tests to run against 6.x
23+
24+
dependencies { testImplementation("org.spockframework:spock-core:2.3-groovy-4.0") } //
25+
// ====================================================================================

gradle/checkstyle/checkstyle.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

gradle/checkstyle/header.txt

Lines changed: 0 additions & 15 deletions
This file was deleted.

settings.gradle.kts

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,5 @@
1-
plugins {
2-
id("com.gradle.develocity") version "4.2.2"
3-
}
1+
pluginManagement { includeBuild("../plugin-publish-conventions") }
42

5-
dependencyResolutionManagement {
6-
repositories.mavenCentral()
7-
}
3+
plugins { id("org.gradlex.internal.gradlex-build-conventions") version "0.7" }
84

95
rootProject.name = "java-module-testing"
10-
11-
develocity {
12-
buildScan {
13-
val isCi = providers.environmentVariable("CI").getOrElse("false").toBoolean()
14-
if (isCi) {
15-
termsOfUseUrl = "https://gradle.com/help/legal-terms-of-use"
16-
termsOfUseAgree = "yes"
17-
} else {
18-
publishing.onlyIf { false }
19-
}
20-
}
21-
}

src/test/java/org/gradlex/javamodule/testing/test/samples/SamplesTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@
1919
import org.gradle.exemplar.test.runner.SampleModifiers;
2020
import org.gradle.exemplar.test.runner.SamplesRoot;
2121
import org.gradle.exemplar.test.runner.SamplesRunner;
22+
import org.gradlex.testing.NoCrossVersion;
23+
import org.junit.experimental.categories.Category;
2224
import org.junit.runner.RunWith;
2325

2426
@RunWith(SamplesRunner.class)
2527
@SamplesRoot("samples")
2628
@SampleModifiers(PluginBuildLocationSampleModifier.class)
29+
@Category(NoCrossVersion.class)
2730
public class SamplesTest {
2831

2932
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.gradlex.testing;
2+
3+
public @interface NoCrossVersion {
4+
}

0 commit comments

Comments
 (0)