From b6643b4543b311ea371a283fe0dae6aa43232659 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sat, 27 Sep 2025 12:28:47 +0200 Subject: [PATCH] Upgrade build system --- .woodpecker/.build.yml | 12 +++++--- .woodpecker/.reuse.yml | 4 ++- build.gradle | 39 ++++++------------------ config/checkstyle/checkstyle.xml | 11 ------- gradle/wrapper/gradle-wrapper.properties | 2 +- version.gradle | 7 ++--- 6 files changed, 24 insertions(+), 51 deletions(-) diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml index f504b44..c40f8ae 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/.build.yml @@ -1,6 +1,8 @@ -pipeline: - run: - image: gradle:7.5-jdk8 +steps: + build: + image: gradle:8.8-jdk11 + when: + branch: main commands: - git checkout $CI_COMMIT_BRANCH # Code works @@ -9,4 +11,6 @@ pipeline: - gradle check javadocAll # Code has coverage - gradle jacocoRootReport coveralls - secrets: [COVERALLS_REPO_TOKEN] + environment: + COVERALLS_REPO_TOKEN: + from_secret: COVERALLS_REPO_TOKEN diff --git a/.woodpecker/.reuse.yml b/.woodpecker/.reuse.yml index 58f17e6..7eb6ab9 100644 --- a/.woodpecker/.reuse.yml +++ b/.woodpecker/.reuse.yml @@ -1,7 +1,9 @@ # Code is licensed properly # See https://reuse.software/ -pipeline: +steps: reuse: + when: + branch: main image: fsfe/reuse:latest commands: - reuse lint \ No newline at end of file diff --git a/build.gradle b/build.gradle index a970ae7..02787f3 100644 --- a/build.gradle +++ b/build.gradle @@ -16,10 +16,6 @@ buildscript { } } -plugins { - id 'ru.vyarus.animalsniffer' version '1.5.3' -} - apply from: 'version.gradle' allprojects { @@ -29,18 +25,6 @@ allprojects { apply plugin: 'jacoco' apply plugin: 'checkstyle' - // For non-cli modules enable android api compatibility check - if (it.name.equals('wkd-java')) { - // animalsniffer - apply plugin: 'ru.vyarus.animalsniffer' - dependencies { - signature "net.sf.androidscents.signature:android-api-level-${minAndroidSdk}:2.3.3_r2@signature" - } - animalsniffer { - sourceSets = [sourceSets.main] - } - } - // Only generate jar for submodules // https://stackoverflow.com/a/25445035 jar { @@ -49,7 +33,7 @@ allprojects { // checkstyle checkstyle { - toolVersion = '8.18' + toolVersion = '10.25.0' } group 'org.pgpainless' @@ -76,8 +60,7 @@ allprojects { isReleaseVersion = !isSnapshot signingRequired = !(isSnapshot || isContinuousIntegrationEnvironment) sonatypeCredentialsAvailable = project.hasProperty('sonatypeUsername') && project.hasProperty('sonatypePassword') - sonatypeSnapshotUrl = 'https://oss.sonatype.org/content/repositories/snapshots' - sonatypeStagingUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2' + sonatypeStagingUrl = 'https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/' } if (isSnapshot) { @@ -94,7 +77,7 @@ allprojects { } jacoco { - toolVersion = "0.8.7" + toolVersion = "0.8.13" } jacocoTestReport { @@ -102,7 +85,7 @@ allprojects { sourceDirectories.setFrom(project.files(sourceSets.main.allSource.srcDirs)) classDirectories.setFrom(project.files(sourceSets.main.output)) reports { - xml.enabled true + xml.required = true } } @@ -120,15 +103,15 @@ subprojects { apply plugin: 'signing' task sourcesJar(type: Jar, dependsOn: classes) { - classifier = 'sources' + archiveClassifier = 'sources' from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier = 'javadoc' from javadoc.destinationDir } task testsJar(type: Jar, dependsOn: testClasses) { - classifier = 'tests' + archiveClassifier = 'tests' from sourceSets.test.output } @@ -172,7 +155,7 @@ subprojects { repositories { if (sonatypeCredentialsAvailable) { maven { - url isSnapshot ? sonatypeSnapshotUrl : sonatypeStagingUrl + url sonatypeStagingUrl credentials { username = sonatypeUsername password = sonatypePassword @@ -225,7 +208,7 @@ task jacocoRootReport(type: JacocoReport) { classDirectories.setFrom(files(subprojects.sourceSets.main.output)) executionData.setFrom(files(subprojects.jacocoTestReport.executionData)) reports { - xml.enabled true + xml.required = true xml.destination file("${buildDir}/reports/jacoco/test/jacocoTestReport.xml") } // We could remove the following setOnlyIf line, but then @@ -236,10 +219,6 @@ task jacocoRootReport(type: JacocoReport) { } task javadocAll(type: Javadoc) { - def currentJavaVersion = JavaVersion.current() - if (currentJavaVersion.compareTo(JavaVersion.VERSION_1_9) >= 0) { - options.addStringOption("-release", "8"); - } source subprojects.collect {project -> project.sourceSets.main.allJava } destinationDir = new File(buildDir, 'javadoc') diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index bf1878e..970b438 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -99,17 +99,6 @@ SPDX-License-Identifier: CC0-1.0 - - - - - - - - - - - diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 69a9715..0d18421 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/version.gradle b/version.gradle index b13e945..4dfa197 100644 --- a/version.gradle +++ b/version.gradle @@ -6,17 +6,16 @@ allprojects { ext { shortVersion = '0.1.3' isSnapshot = true - minAndroidSdk = 10 - javaSourceCompatibility = 1.8 + javaSourceCompatibility = 11 jacksonDataBindVersion = '2.15.2' jacksonDataFormatXmlVersion = '2.15.2' junitVersion = '5.8.2' junitSysExitVersion = '1.1.2' jsrVersion = '3.0.2' slf4jVersion = '1.7.36' - logbackVersion = '1.2.11' + logbackVersion = '1.5.13' mockitoVersion = '4.5.1' - pgpainlessVersion = '1.5.6' + pgpainlessVersion = '1.7.7' pgpainlessCertDVersion = '0.2.2' picocliVersion = '4.6.3' certDJavaVersion = '0.2.2'