Skip to content

Commit 52f132b

Browse files
committed
Add Convention Plugins for Java Modules
1 parent 8774239 commit 52f132b

24 files changed

+190
-244
lines changed

.github/workflows/build.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,24 @@ jobs:
4444
# projectName: "gradle-project-setup-howto"
4545
# projectVersion: ${{ github.ref_name }}
4646
# autoCreate: true
47+
48+
package:
49+
needs: gradle-build
50+
strategy:
51+
matrix:
52+
os: [ubuntu-22.04, windows-2022, macos-13, macos-14]
53+
runs-on: ${{ matrix.os }}
54+
steps:
55+
- uses: actions/checkout@v4
56+
- uses: actions/setup-java@v4
57+
with:
58+
distribution: temurin
59+
java-version-file: gradle/jdk-version.txt
60+
- uses: gradle/actions/setup-gradle@v3
61+
with:
62+
cache-read-only: false
63+
- run: "./gradlew assemble${{ matrix.os }}"
64+
- uses: actions/upload-artifact@v4
65+
with:
66+
name: Application Package ${{ matrix.os }}
67+
path: app/build/packages/*/*
22.4 KB
Loading
10.1 KB
Binary file not shown.
159 KB
Binary file not shown.

gradle/libs.versions.toml

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

gradle/modules.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# override defaults as there are multiple options
2+
jakarta.activation=com.sun.activation:jakarta.activation
3+
jakarta.mail=com.sun.mail:jakarta.mail

gradle/plugins/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ dependencies {
88
implementation("com.gradle:develocity-gradle-plugin:4.1")
99
implementation("io.fuchs.gradle.classpath-collision-detector:classpath-collision-detector:1.0.0")
1010
implementation("org.cyclonedx:cyclonedx-gradle-plugin:2.3.1")
11+
implementation("org.gradlex:extra-java-module-info:1.12")
12+
implementation("org.gradlex:java-module-dependencies:1.8.1")
13+
implementation("org.gradlex:java-module-packaging:1.0")
14+
implementation("org.gradlex:java-module-testing:1.6")
1115
implementation("org.gradlex:jvm-dependency-conflict-resolution:2.4")
1216
}
1317

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
plugins { id("org.gradle.base") }
22

3-
// Set the group required to refer to a Module "from outside".
4-
// I.e., when it is published or used in Included Builds.
5-
group = "org.example.product.java"
6-
73
// Set the version from 'version.txt'
84
version = providers.fileContents(isolated.rootProject.projectDirectory.file("gradle/version.txt")).asText.getOrElse("")
95

@@ -16,5 +12,5 @@ if (providers.environmentVariable("CI").getOrElse("false").toBoolean()) {
1612
.asText
1713
.get()
1814
.trim()
19-
version = "$version-$gitCommitTimestamp"
15+
version = "$version.$gitCommitTimestamp"
2016
}

gradle/plugins/src/main/kotlin/org.example.gradle.base.lifecycle.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ if (gradle.startParameter.taskNames.isEmpty()) {
1111
tasks.register("qualityCheck") {
1212
group = "verification"
1313
description = "Runs checks (without executing tests)"
14-
dependsOn(tasks.assemble)
14+
dependsOn(tasks.withType<SourceTask>())
1515
}
1616

1717
tasks.register("qualityGate") {
1818
group = "build"
1919
description = "Runs checks and auto-corrects (without executing tests)"
20-
dependsOn(tasks.assemble)
20+
dependsOn(tasks.withType<SourceTask>())
2121
}
2222

2323
tasks.check { dependsOn(tasks.named("qualityCheck")) }
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
plugins { id("org.gradlex.extra-java-module-info") }
2+
3+
extraJavaModuleInfo {
4+
failOnAutomaticModules = true
5+
6+
module("com.github.virtuald:curvesapi", "com.github.virtuald.curvesapi")
7+
module("com.google.code.findbugs:jsr305", "javax.annotations.jsr305")
8+
module("com.google.errorprone:error_prone_annotations", "com.google.errorprone.annotations")
9+
module("com.google.guava:failureaccess", "com.google.common.internal.failureaccess")
10+
module("com.google.guava:guava", "com.google.common")
11+
module("com.zaxxer:SparseBitSet", "SparseBitSet")
12+
module("commons-codec:commons-codec", "org.apache.commons.codec")
13+
module("commons-io:commons-io", "org.apache.commons.io")
14+
module("org.apache.commons:commons-collections4", "org.apache.commons.collections4")
15+
module("org.apache.commons:commons-compress", "org.apache.commons.compress")
16+
module("org.apache.commons:commons-lang3", "org.apache.commons.lang3")
17+
module("org.apache.commons:commons-math3", "commons.math3")
18+
module("org.apache.velocity:velocity-engine-core", "velocity.engine.core")
19+
module("org.hamcrest:hamcrest-core", "org.hamcrest.core")
20+
}

0 commit comments

Comments
 (0)