diff --git a/build.gradle b/build.gradle
index 92df0ea..bc24754 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,12 @@
plugins {
- id "de.marcphilipp.nexus-publish" version "0.4.0"
- id "io.codearte.nexus-staging" version "0.21.1"
- id "org.cyclonedx.bom" version "1.7.2"
- id "com.github.spotbugs" version "5.0.13"
id "checkstyle"
id "pmd"
+ id 'maven-publish'
+ id 'signing'
+ id "io.github.gradle-nexus.publish-plugin" version "1.3.0"
+ id "com.github.spotbugs" version "5.0.14"
+ id "org.cyclonedx.bom" version "1.7.2"
+ id "org.xbib.gradle.plugin.asciidoctor" version "2.5.2.2"
}
wrapper {
@@ -13,7 +15,7 @@ wrapper {
}
ext {
- user = 'jprante'
+ user = 'joerg'
name = 'guava'
description = 'Guava implementation with named modules for Java 11+'
inceptionYear = '2019'
@@ -34,9 +36,9 @@ apply from: rootProject.file('gradle/ide/idea.gradle')
apply from: rootProject.file('gradle/repositories/maven.gradle')
apply from: rootProject.file('gradle/compile/java.gradle')
apply from: rootProject.file('gradle/test/junit5.gradle')
-apply from: rootProject.file('gradle/publishing/publication.gradle')
-apply from: rootProject.file('gradle/publishing/sonatype.gradle')
apply from: rootProject.file('gradle/quality/cyclonedx.gradle')
apply from: rootProject.file('gradle/quality/spotbugs.gradle')
apply from: rootProject.file('gradle/quality/checkstyle.gradle')
apply from: rootProject.file('gradle/quality/pmd.gradle')
+apply from: rootProject.file('gradle/publish/sonatype.gradle')
+apply from: rootProject.file('gradle/publish/forgejo.gradle')
diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml
deleted file mode 100644
index ffaa04f..0000000
--- a/config/checkstyle/checkstyle.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml
deleted file mode 100644
index dcc9f23..0000000
--- a/config/checkstyle/suppressions.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/gradle/compile/java.gradle b/gradle/compile/java.gradle
index 8a7b121..09a2962 100644
--- a/gradle/compile/java.gradle
+++ b/gradle/compile/java.gradle
@@ -3,16 +3,18 @@ apply plugin: 'java-library'
java {
modularity.inferModulePath.set(true)
+ withJavadocJar()
+ withSourcesJar()
}
compileJava {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
compileTestJava {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
}
jar {
@@ -21,20 +23,6 @@ jar {
}
}
-task sourcesJar(type: Jar, dependsOn: classes) {
- classifier 'sources'
- from sourceSets.main.allSource
-}
-
-task javadocJar(type: Jar, dependsOn: javadoc) {
- classifier 'javadoc'
- from javadoc.destinationDir
-}
-
-artifacts {
- archives sourcesJar, javadocJar
-}
-
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xlint:all')
options.encoding = 'UTF-8'
diff --git a/gradle/publish/forgejo.gradle b/gradle/publish/forgejo.gradle
new file mode 100644
index 0000000..b99b2fb
--- /dev/null
+++ b/gradle/publish/forgejo.gradle
@@ -0,0 +1,16 @@
+if (project.hasProperty('forgeJoToken')) {
+ publishing {
+ repositories {
+ maven {
+ url 'https://xbib.org/api/packages/joerg/maven'
+ credentials(HttpHeaderCredentials) {
+ name = "Authorization"
+ value = "token ${project.property('forgeJoToken')}"
+ }
+ authentication {
+ header(HttpHeaderAuthentication)
+ }
+ }
+ }
+ }
+}
diff --git a/gradle/publish/ivy.gradle b/gradle/publish/ivy.gradle
new file mode 100644
index 0000000..71aa155
--- /dev/null
+++ b/gradle/publish/ivy.gradle
@@ -0,0 +1,27 @@
+apply plugin: 'ivy-publish'
+
+publishing {
+ repositories {
+ ivy {
+ url = "https://xbib.org/repo"
+ }
+ }
+ publications {
+ ivy(IvyPublication) {
+ from components.java
+ descriptor {
+ license {
+ name = 'The Apache License, Version 2.0'
+ url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ }
+ author {
+ name = 'Jörg Prante'
+ url = 'https://xbib.org/joerg'
+ }
+ descriptor.description {
+ text = rootProject.ext.description
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/gradle/publishing/publication.gradle b/gradle/publish/maven.gradle
similarity index 70%
rename from gradle/publishing/publication.gradle
rename to gradle/publish/maven.gradle
index 2e2b2c0..867e23a 100644
--- a/gradle/publishing/publication.gradle
+++ b/gradle/publish/maven.gradle
@@ -1,13 +1,10 @@
-apply plugin: "de.marcphilipp.nexus-publish"
-
publishing {
publications {
- mavenJava(MavenPublication) {
+ "${project.name}"(MavenPublication) {
from components.java
- artifact sourcesJar
- artifact javadocJar
pom {
+ artifactId = project.name
name = project.name
description = rootProject.ext.description
url = rootProject.ext.url
@@ -19,10 +16,10 @@ publishing {
}
developers {
developer {
- id = 'jprante'
+ id = 'joerg'
name = 'Jörg Prante'
email = 'joergprante@gmail.com'
- url = 'https://github.com/jprante'
+ url = 'https://xbib.org/joerg'
}
}
scm {
@@ -49,18 +46,6 @@ publishing {
if (project.hasProperty("signing.keyId")) {
apply plugin: 'signing'
signing {
- sign publishing.publications.mavenJava
- }
-}
-
-if (project.hasProperty("ossrhUsername")) {
- nexusPublishing {
- repositories {
- sonatype {
- username = project.property('ossrhUsername')
- password = project.property('ossrhPassword')
- packageGroup = "org.xbib"
- }
- }
+ sign publishing.publications."${project.name}"
}
}
diff --git a/gradle/publish/sonatype.gradle b/gradle/publish/sonatype.gradle
new file mode 100644
index 0000000..5d739de
--- /dev/null
+++ b/gradle/publish/sonatype.gradle
@@ -0,0 +1,11 @@
+if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
+ nexusPublishing {
+ repositories {
+ sonatype {
+ username = project.property('ossrhUsername')
+ password = project.property('ossrhPassword')
+ packageGroup = "org.xbib"
+ }
+ }
+ }
+}
diff --git a/gradle/publishing/sonatype.gradle b/gradle/publishing/sonatype.gradle
deleted file mode 100644
index e1813f3..0000000
--- a/gradle/publishing/sonatype.gradle
+++ /dev/null
@@ -1,11 +0,0 @@
-
-if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
-
- apply plugin: 'io.codearte.nexus-staging'
-
- nexusStaging {
- username = project.property('ossrhUsername')
- password = project.property('ossrhPassword')
- packageGroup = "org.xbib"
- }
-}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 249e583..c1962a7 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 8fad3f5..8707e8b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip
+networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index a69d9cb..aeb74cb 100755
--- a/gradlew
+++ b/gradlew
@@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,13 +80,10 @@ do
esac
done
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
-
-APP_NAME="Gradle"
+# This is normally unused
+# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -143,12 +140,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -193,6 +194,10 @@ if "$cygwin" || "$msys" ; then
done
fi
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
diff --git a/gradlew.bat b/gradlew.bat
index 53a6b23..6689b85 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
diff --git a/settings.gradle b/settings.gradle
index babff4c..1f4408e 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,8 +1,8 @@
dependencyResolutionManagement {
versionCatalogs {
libs {
- version('gradle', '7.5.1')
- version('junit', '5.9.1')
+ version('gradle', '8.1.1')
+ version('junit', '5.9.3')
library('junit-jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junit')
library('junit-jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junit')
library('junit4', 'junit', 'junit').version('4.13.2')