diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36e7b94..5db3afd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,14 +6,14 @@ jobs: build: name: Build JXMPP - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 strategy: matrix: java: - - 11 - - 15 + - 17 + - 21 env: - PRIMARY_JAVA_VERSION: 11 + PRIMARY_JAVA_VERSION: 21 steps: - name: Checkout @@ -65,23 +65,19 @@ jobs: # Javadoc - name: Javadoc if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }} - run: ./gradlew aggregateJavadoc --stacktrace + run: ./gradlew javadocAll --stacktrace # Test Coverage Report - name: Jacoco Test Coverage - env: - COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - if: | - ${{ matrix.java == env.PRIMARY_JAVA_VERSION }} && - ${{ env.COVERALLS_REPO_TOKEN != '' }} - run: | - if [[ -z ${COVERALLS_REPO_TOKEN} ]]; then - echo WARNING: COVERALLS_REPO_TOKEN is empty - else - echo COVERALLS_REPO_TOKEN is not empty - fi - ./gradlew testCodeCoverageReport - ./gradlew jxmpp-repl:coveralls + run: ./gradlew jxmpp-repl:testCodeCoverageReport + + # Coveralls + - name: Report coverage stats to Coveralls + if: ${{ matrix.java == env.PRIMARY_JAVA_VERSION }} + uses: coverallsapp/github-action@v2 + with: + format: jacoco + file: jxmpp-repl/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml # Upload build artifacts - name: Upload build artifacts diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a716a6e --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +GRADLE ?= ./gradlew + +.PHONY: all +all: check codecov eclipse javadocAll + +.PHONY: codecov +codecov: + $(GRADLE) jxmpp-repl:testCodeCoverageReport + echo "Code coverage report available at file://$(PWD)/jxmpp-repl/build/reports/jacoco/testCodeCoverageReport/html/index.html" + +.PHONY: check +check: + $(GRADLE) $@ + +.PHONY: eclipse +eclipse: + $(GRADLE) $@ + +.PHONY: javadocAll +javadocAll: + $(GRADLE) $@ + echo "javadoc available at file://$(PWD)/build/javadoc/index.html" diff --git a/build-logic/build.gradle b/build-logic/build.gradle index 159dc41..7b02d03 100644 --- a/build-logic/build.gradle +++ b/build-logic/build.gradle @@ -7,10 +7,8 @@ repositories { } dependencies { - implementation "biz.aQute.bnd:biz.aQute.bnd.gradle:6.4.0" - implementation "io.freefair.gradle:maven-plugin:6.6.3" // for io.freefair.agregate-javadoc - implementation "me.champeau.jmh:jmh-gradle-plugin:0.6.8" - implementation "net.ltgt.gradle:gradle-errorprone-plugin:3.0.1" - implementation "gradle.plugin.org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.12.0" - implementation "ru.vyarus:gradle-animalsniffer-plugin:1.7.0" + implementation "biz.aQute.bnd:biz.aQute.bnd.gradle:7.0.0" + implementation "me.champeau.jmh:jmh-gradle-plugin:0.7.2" + implementation "net.ltgt.gradle:gradle-errorprone-plugin:4.0.1" + implementation "ru.vyarus:gradle-animalsniffer-plugin:1.7.1" } diff --git a/build-logic/src/main/groovy/org.jxmpp.android-conventions.gradle b/build-logic/src/main/groovy/org.jxmpp.android-conventions.gradle index e69d0a0..cf6f4a0 100644 --- a/build-logic/src/main/groovy/org.jxmpp.android-conventions.gradle +++ b/build-logic/src/main/groovy/org.jxmpp.android-conventions.gradle @@ -1,8 +1,9 @@ plugins { id 'ru.vyarus.animalsniffer' + id 'org.jxmpp.common-conventions' } dependencies { - signature "net.sf.androidscents.signature:android-api-level-${jxmppMinAndroidSdk}:4.4.2_r4@signature" + signature "net.sf.androidscents.signature:android-api-level-${minAndroidSdk}:4.4.2_r4@signature" } animalsniffer { sourceSets = [sourceSets.main] diff --git a/build-logic/src/main/groovy/org.jxmpp.common-conventions.gradle b/build-logic/src/main/groovy/org.jxmpp.common-conventions.gradle new file mode 100644 index 0000000..6e63cff --- /dev/null +++ b/build-logic/src/main/groovy/org.jxmpp.common-conventions.gradle @@ -0,0 +1,36 @@ +ext { + javaVersion = JavaVersion.VERSION_11 + javaMajor = javaVersion.getMajorVersion() + minAndroidSdk = 19 + + androidBootClasspath = getAndroidRuntimeJar(minAndroidSdk) + + // Export the function by turning it into a closure. + // https://stackoverflow.com/a/23290820/194894 + getAndroidRuntimeJar = this.&getAndroidRuntimeJar +} + +repositories { + mavenLocal() + mavenCentral() +} + +def getAndroidRuntimeJar(androidApiLevel) { + def androidHome = getAndroidHome() + def androidJar = new File("$androidHome/platforms/android-${androidApiLevel}/android.jar") + if (androidJar.isFile()) { + return androidJar + } else { + throw new Exception("Can't find android.jar for API level ${androidApiLevel}. Please install corresponding SDK platform package") + } +} + +def getAndroidHome() { + def androidHomeEnv = System.getenv("ANDROID_HOME") + if (androidHomeEnv == null) { + throw new Exception("ANDROID_HOME environment variable is not set") + } + def androidHome = new File(androidHomeEnv) + if (!androidHome.isDirectory()) throw new Exception("Environment variable ANDROID_HOME is not pointing to a directory") + return androidHome +} diff --git a/build-logic/src/main/groovy/org.jxmpp.java-common-conventions.gradle b/build-logic/src/main/groovy/org.jxmpp.java-conventions.gradle similarity index 75% rename from build-logic/src/main/groovy/org.jxmpp.java-common-conventions.gradle rename to build-logic/src/main/groovy/org.jxmpp.java-conventions.gradle index d29a82d..5eae1ac 100644 --- a/build-logic/src/main/groovy/org.jxmpp.java-common-conventions.gradle +++ b/build-logic/src/main/groovy/org.jxmpp.java-conventions.gradle @@ -1,7 +1,6 @@ plugins { id 'biz.aQute.bnd.builder' id 'checkstyle' - id 'com.github.kt3k.coveralls' id 'eclipse' id 'idea' id 'jacoco' @@ -13,11 +12,9 @@ plugins { id 'jacoco-report-aggregation' id 'test-report-aggregation' -} -repositories { - mavenLocal() - mavenCentral() + id 'org.jxmpp.common-conventions' + id 'org.jxmpp.javadoc-conventions' } version readVersionFile() @@ -37,14 +34,12 @@ ext { builtDate = (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(new Date()) oneLineDesc = 'An Open Source XMPP (Jabber) library' junitVersion = '5.9.2' - jxmppMinAndroidSdk = 19 } group = 'org.jxmpp' -import org.jxmpp.BuildConstants java { - sourceCompatibility = BuildConstants.JAVA_COMPATIBILITY + sourceCompatibility = javaVersion targetCompatibility = sourceCompatibility } @@ -80,39 +75,11 @@ tasks.withType(JavaCompile) { '-Xlint:-options', '-Werror', ] -} -if (JavaVersion.current().isJava8Compatible()) { - tasks.withType(Javadoc) { - // The '-quiet' as second argument is actually a hack, - // since the one parameter addStringOption doesn't seem to - // work, we extra add '-quiet', which is added anyway by - // gradle. - // We disable 'missing' as we do most of javadoc checking via checkstyle. - options.addStringOption('Xdoclint:all,-missing', '-quiet') - // Abort on javadoc warnings. - // See JDK-8200363 (https://bugs.openjdk.java.net/browse/JDK-8200363) - // for information about the -Xwerror option. - options.addStringOption('Xwerror', '-quiet') - } -} - -if (JavaVersion.current().isJava9Compatible()) { - tasks.withType(Javadoc) { - options.addStringOption('-release', BuildConstants.JAVA_MAJOR_COMPATIBILITY) - } - tasks.withType(JavaCompile) { - options.compilerArgs.addAll([ - '--release', BuildConstants.JAVA_MAJOR_COMPATIBILITY, - ]) - } -} - -tasks.withType(Javadoc) { - options.charSet = "UTF-8" + options.release = Integer.valueOf(javaMajor) } jacoco { - toolVersion = "0.8.8" + toolVersion = "0.8.12" } jacocoTestReport { @@ -125,10 +92,15 @@ jacocoTestReport { dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:$junitVersion" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + + errorprone 'com.google.errorprone:error_prone_core:2.32.0' } test { useJUnitPlatform() + + maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 + // Enable full stacktraces of failed tests. Especially handy // for environments like Travis. testLogging { @@ -149,15 +121,15 @@ checkstyle { toolVersion = '10.8.0' } 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) { - classifier = 'tests' + archiveClassifier = 'tests' from sourceSets.test.output } artifacts { @@ -257,11 +229,6 @@ tasks.withType(JavaCompile) { } } -dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.9.0' - errorproneJavac('com.google.errorprone:javac:9+181-r4173-1') -} - // TODO: Note sure what this does (did). Was there prior the build-logic conversion. // dependencies { // androidProjects.each { project -> @@ -269,10 +236,6 @@ dependencies { // } // } -coveralls { - jacocoReportPath 'build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml' -} - def getGitCommit() { def projectDirFile = new File("$projectDir") def dotGit = new File(projectDirFile, ".git") @@ -285,17 +248,6 @@ def getGitCommit() { gitCommit } -def getAndroidRuntimeJar() { - def androidHome = new File("$System.env.ANDROID_HOME") - if (!androidHome.isDirectory()) throw new Exception("ANDROID_HOME not found or set") - def androidJar = new File("$androidHome/platforms/android-$jxmppMinAndroidSdk/android.jar") - if (androidJar.isFile()) { - return androidJar - } else { - throw new Exception("Can't find android.jar for $jxmppMinAndroidSdk API. Please install corresponding SDK platform package") - } -} - def readVersionFile() { def versionFile = new File(rootDir, 'version') if (!versionFile.isFile()) { diff --git a/build-logic/src/main/groovy/org.jxmpp.javadoc-conventions.gradle b/build-logic/src/main/groovy/org.jxmpp.javadoc-conventions.gradle new file mode 100644 index 0000000..082b92c --- /dev/null +++ b/build-logic/src/main/groovy/org.jxmpp.javadoc-conventions.gradle @@ -0,0 +1,24 @@ +plugins { + // Javadoc linking requires repositories to bet configured. And + // those are declared in common-conventions, hence we add it here. + id 'org.jxmpp.common-conventions' +} + + +tasks.withType(Javadoc) { + // The '-quiet' as second argument is actually a hack, + // since the one parameter addStringOption doesn't seem to + // work, we extra add '-quiet', which is added anyway by + // gradle. + // We disable 'missing' as we do most of javadoc checking via checkstyle. + options.addStringOption('Xdoclint:all,-missing', '-quiet') + // Abort on javadoc warnings. + // See JDK-8200363 (https://bugs.openjdk.java.net/browse/JDK-8200363) + // for information about the -Xwerror option. + options.addStringOption('Xwerror', '-quiet') + options.addStringOption('-release', javaMajor) +} + +tasks.withType(Javadoc) { + options.charSet = "UTF-8" +} diff --git a/build-logic/src/main/groovy/org.jxmpp.root-conventions.gradle b/build-logic/src/main/groovy/org.jxmpp.root-conventions.gradle deleted file mode 100644 index cd5b74e..0000000 --- a/build-logic/src/main/groovy/org.jxmpp.root-conventions.gradle +++ /dev/null @@ -1,3 +0,0 @@ -plugins { - id 'io.freefair.aggregate-javadoc' -} diff --git a/build-logic/src/main/groovy/org/jxmpp/BuildConstants.groovy b/build-logic/src/main/groovy/org/jxmpp/BuildConstants.groovy deleted file mode 100644 index 904228d..0000000 --- a/build-logic/src/main/groovy/org/jxmpp/BuildConstants.groovy +++ /dev/null @@ -1,8 +0,0 @@ -package org.jxmpp - -import org.gradle.api.JavaVersion - -class BuildConstants { - static final JAVA_COMPATIBILITY = JavaVersion.VERSION_1_8 - static final JAVA_MAJOR_COMPATIBILITY = JAVA_COMPATIBILITY.getMajorVersion() -} diff --git a/build.gradle b/build.gradle index 833e203..ab38ba8 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,56 @@ plugins { - id 'org.jxmpp.root-conventions' + // The scalastyle plugin of jxmpp-repl wants the root project to + // have a ideaProject task, so let's add one. + id 'idea' + + id 'org.jxmpp.javadoc-conventions' +} + +ext { + javadocAllDir = new File(buildDir, 'javadoc') + javadocAllProjects = subprojects +} + +evaluationDependsOnChildren() +task javadocAll(type: Javadoc) { + source javadocAllProjects.collect {project -> + project.sourceSets.main.allJava.findAll { + // Filter out symbolic links to avoid + // "warning: a package-info.java file has already been seen for package" + // javadoc warnings. + !java.nio.file.Files.isSymbolicLink(it.toPath()) + } + } + destinationDir = javadocAllDir + // Might need a classpath + classpath = files(subprojects.collect {project -> + project.sourceSets.main.compileClasspath}) + classpath += files(androidBootClasspath) + options { + linkSource = true + use = true + links = [ + "https://docs.oracle.com/en/java/javase/${javaMajor}/docs/api/", + ] as String[] + overview = "$projectDir/resources/javadoc-overview.html" + } + + // Finally copy the javadoc doc-files from the subprojects, which + // are potentially generated, to the javadocAll directory. Note + // that we use a copy *method* and not a *task* because the inputs + // of copy tasks is determined within the configuration phase. And + // since some of the inputs are generated, they will not get + // picked up if we used a copy method. See also + // https://stackoverflow.com/a/40518516/194894 + doLast { + copy { + javadocAllProjects.each { + from ("${it.projectDir}/src/javadoc") { + include '**/doc-files/*.*' + } + } + + into javadocAllDir + } + } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cb..afba109 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 b1624c4..5c40527 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/jxmpp-core/build.gradle b/jxmpp-core/build.gradle index 554fdae..aaaf0cb 100644 --- a/jxmpp-core/build.gradle +++ b/jxmpp-core/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.android-conventions' id 'org.jxmpp.junit4-conventions' } diff --git a/jxmpp-core/src/main/java/org/jxmpp/util/XmppStringUtils.java b/jxmpp-core/src/main/java/org/jxmpp/util/XmppStringUtils.java index 42ed9e5..41fc68b 100644 --- a/jxmpp-core/src/main/java/org/jxmpp/util/XmppStringUtils.java +++ b/jxmpp-core/src/main/java/org/jxmpp/util/XmppStringUtils.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2014-2019 Florian Schmaus + * Copyright © 2014-2024 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -281,6 +281,7 @@ public static String escapeLocalpart(String localpart) { * @return the un-escaped version of the localpart. * @see XEP-106: JID Escaping */ + @SuppressWarnings("LabelledBreakTarget") public static String unescapeLocalpart(String localpart) { if (localpart == null) { return null; diff --git a/jxmpp-core/src/main/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitter.java b/jxmpp-core/src/main/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitter.java index 2c6de65..d90b185 100644 --- a/jxmpp-core/src/main/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitter.java +++ b/jxmpp-core/src/main/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitter.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2015-2018 Florian Schmaus + * Copyright © 2015-2024 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -137,7 +137,7 @@ private void writeByteBufferInternal(ByteBuffer byteBuffer) throws IOException { } } - byteBuffer.flip(); + ((java.nio.Buffer) byteBuffer).flip(); } @Override diff --git a/jxmpp-core/src/test/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitterTest.java b/jxmpp-core/src/test/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitterTest.java index a587776..f9a04cb 100644 --- a/jxmpp-core/src/test/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitterTest.java +++ b/jxmpp-core/src/test/java/org/jxmpp/xml/splitter/Utf8ByteXmppXmlSplitterTest.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2015-2018 Florian Schmaus + * Copyright © 2015-2024 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import java.io.IOException; import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.List; @@ -62,7 +63,7 @@ private static void testUtf8ByteSplitter(String... elements) throws IOException List bytesArray = new ArrayList<>(); for (String element : elements) { queue.add(element); - byte[] utf8bytes = element.getBytes("UTF-8"); + byte[] utf8bytes = element.getBytes(StandardCharsets.UTF_8); for (byte b : utf8bytes) { bytesArray.add(b); } @@ -100,7 +101,7 @@ private static void testUtf8ByteSplitterByteBufferArray(String... elements) thro List byteBufferArray = new ArrayList<>(); for (String element : elements) { queue.add(element); - byte[] utf8bytes = element.getBytes("UTF-8"); + byte[] utf8bytes = element.getBytes(StandardCharsets.UTF_8); ByteBuffer byteBuffer = ByteBuffer.wrap(utf8bytes); byteBufferArray.add(byteBuffer); } diff --git a/jxmpp-jid/build.gradle b/jxmpp-jid/build.gradle index 866017f..3500a63 100644 --- a/jxmpp-jid/build.gradle +++ b/jxmpp-jid/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.android-conventions' id 'org.jxmpp.junit4-conventions' } diff --git a/jxmpp-jid/src/main/java/org/jxmpp/jid/impl/AbstractJid.java b/jxmpp-jid/src/main/java/org/jxmpp/jid/impl/AbstractJid.java index 824594f..74bf05b 100644 --- a/jxmpp-jid/src/main/java/org/jxmpp/jid/impl/AbstractJid.java +++ b/jxmpp-jid/src/main/java/org/jxmpp/jid/impl/AbstractJid.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2014-2017 Florian Schmaus + * Copyright © 2014-2024 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -255,7 +255,7 @@ private void throwIse(String message) { throw new IllegalStateException(exceptionMessage); } - static O requireNonNull(O object, String message) { + static O requireNonNull(O object, String message) { if (object != null) { return object; } diff --git a/jxmpp-jid/src/main/java/org/jxmpp/jid/util/JidUtil.java b/jxmpp-jid/src/main/java/org/jxmpp/jid/util/JidUtil.java index 6c0c058..386bbfb 100644 --- a/jxmpp-jid/src/main/java/org/jxmpp/jid/util/JidUtil.java +++ b/jxmpp-jid/src/main/java/org/jxmpp/jid/util/JidUtil.java @@ -1,6 +1,6 @@ /** * - * Copyright © 2014-2015 Florian Schmaus + * Copyright © 2014-2024 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ public class JidUtil { *

* * @param jid the CharSequence to check. - * @return true if @{code jid} represents a valid entity bare JID, false otherwise + * @return true if {@code jid} represents a valid entity bare JID, false otherwise * @see #isValidEntityBareJid(CharSequence) * @see EntityBareJid */ @@ -91,7 +91,7 @@ public static EntityBareJid validateTypicalEntityBareJid(CharSequence jidcs) thr * * @param jid * the CharSequence to check. - * @return true if @{code jid} represents a valid entity bare JID, false otherwise + * @return true if {@code jid} represents a valid entity bare JID, false otherwise * @see EntityBareJid */ public static boolean isValidEntityBareJid(CharSequence jid) { diff --git a/jxmpp-repl/build.gradle b/jxmpp-repl/build.gradle index df3dad0..016ed21 100644 --- a/jxmpp-repl/build.gradle +++ b/jxmpp-repl/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.junit4-conventions' } ext { - scalaVersion = '2.11.7' + scalaVersion = '2.13.13' } description = """\ @@ -16,7 +16,7 @@ dependencies { api project(':jxmpp-stringprep-icu4j') api project(':jxmpp-stringprep-libidn') api project(':jxmpp-util-cache') - api "com.lihaoyi:ammonite_$scalaVersion:0.8.0" + api "com.lihaoyi:ammonite_$scalaVersion:3.0.0-M1" testImplementation project(":jxmpp-core") } diff --git a/jxmpp-stringprep-icu4j/build.gradle b/jxmpp-stringprep-icu4j/build.gradle index d5ba8c0..103169c 100644 --- a/jxmpp-stringprep-icu4j/build.gradle +++ b/jxmpp-stringprep-icu4j/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.junit4-conventions' } diff --git a/jxmpp-stringprep-libidn/build.gradle b/jxmpp-stringprep-libidn/build.gradle index 5a5670d..e14e418 100644 --- a/jxmpp-stringprep-libidn/build.gradle +++ b/jxmpp-stringprep-libidn/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.android-conventions' id 'org.jxmpp.junit4-conventions' } diff --git a/jxmpp-stringprep-rocksxmppprecis/build.gradle b/jxmpp-stringprep-rocksxmppprecis/build.gradle index ec33c61..619e6e7 100644 --- a/jxmpp-stringprep-rocksxmppprecis/build.gradle +++ b/jxmpp-stringprep-rocksxmppprecis/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.junit4-conventions' } diff --git a/jxmpp-strings-testframework/build.gradle b/jxmpp-strings-testframework/build.gradle index cc8ee86..80eb980 100644 --- a/jxmpp-strings-testframework/build.gradle +++ b/jxmpp-strings-testframework/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.junit4-conventions' } @@ -21,7 +21,7 @@ dependencies { api project(':jxmpp-stringprep-libidn') api project(':jxmpp-stringprep-rocksxmppprecis') - implementation 'org.parboiled:parboiled-java:1.3.1' + implementation 'org.parboiled:parboiled-java:1.4.1' implementation "info.picocli:picocli:${picocliVersion}" // Needed for org.apache.tools.ant.types.Commandline.translateCommandline(String) // See StringsTestframeworkMain.main() diff --git a/jxmpp-util-cache/build.gradle b/jxmpp-util-cache/build.gradle index ded42a0..3a96163 100644 --- a/jxmpp-util-cache/build.gradle +++ b/jxmpp-util-cache/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.jxmpp.java-common-conventions' + id 'org.jxmpp.java-conventions' id 'org.jxmpp.android-conventions' id 'org.jxmpp.jmh-conventions' id 'org.jxmpp.junit4-conventions'