diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4503f5..dafcd0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [11] + java: [11, 21] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: ${{ matrix.java }} diff --git a/build.gradle.kts b/build.gradle.kts index ac846ef..4035611 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,12 +3,9 @@ import org.zaproxy.gradle.addon.misc.ConvertMarkdownToHtml plugins { `java-library` - id("org.zaproxy.add-on") version "0.9.0" - id("com.diffplug.spotless") version "6.20.0" -} - -repositories { - mavenCentral() + id("org.zaproxy.add-on") version "0.10.0" + id("com.diffplug.spotless") + id("org.zaproxy.common") } description = "A template for a 3rd party ZAP Java add-on." @@ -16,7 +13,7 @@ description = "A template for a 3rd party ZAP Java add-on." zapAddOn { addOnId.set("addonjava") addOnName.set("A Template Java Add-on") - zapVersion.set("2.13.0") + zapVersion.set("2.14.0") addOnStatus.set(AddOnStatus.ALPHA) releaseLink.set("https://github.com/youruser/javaexample/compare/v@PREVIOUS_VERSION@...v@CURRENT_VERSION@") @@ -37,12 +34,6 @@ java { } spotless { - java { - licenseHeaderFile("$rootDir/gradle/spotless/license.java") - - googleJavaFormat("1.17.0").aosp() - } - kotlinGradle { ktlint() } diff --git a/gradle/spotless/license.java b/gradle/spotless/license.java deleted file mode 100644 index 6c2dca3..0000000 --- a/gradle/spotless/license.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Zed Attack Proxy (ZAP) and its related class files. - * - * ZAP is an HTTP/HTTPS proxy for assessing web application security. - * - * Copyright $YEAR The ZAP Development Team - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 033e24c..d64cd49 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 a6f7c3a..a7a990a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=7c3ad722e9b0ce8205b91560fd6ce8296ac3eadf065672242fd73c06b8eeb6ee -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip +distributionSha256Sum=c16d517b50dd28b3f5838f0e844b7520b8f1eb610f2f29de7e4e04a1b7c9c79b +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index fcb6fca..1aa94a4 100755 --- a/gradlew +++ b/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -144,7 +145,7 @@ 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 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -201,11 +202,11 @@ 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 -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/settings.gradle.kts b/settings.gradle.kts index a86e0d7..db1dc10 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,6 @@ +plugins { + id("org.zaproxy.common.settings") version "0.2.0" + id("com.diffplug.spotless") version "6.20.0" apply false +} + rootProject.name = "addon-java" diff --git a/src/main/java/com/github/youruser/zap/javaexample/RightClickMsgMenu.java b/src/main/java/com/github/youruser/zap/javaexample/RightClickMsgMenu.java index ae326f7..a1dea35 100644 --- a/src/main/java/com/github/youruser/zap/javaexample/RightClickMsgMenu.java +++ b/src/main/java/com/github/youruser/zap/javaexample/RightClickMsgMenu.java @@ -34,6 +34,7 @@ public class RightClickMsgMenu extends PopupMenuItemHttpMessageContainer { private static final long serialVersionUID = 1L; + @SuppressWarnings("serial") private ExtensionJavaExample extension; public RightClickMsgMenu(ExtensionJavaExample ext, String label) { diff --git a/src/main/java/com/github/youruser/zap/javaexample/SimpleExampleAPI.java b/src/main/java/com/github/youruser/zap/javaexample/SimpleExampleAPI.java index cd03016..b7b7fd1 100644 --- a/src/main/java/com/github/youruser/zap/javaexample/SimpleExampleAPI.java +++ b/src/main/java/com/github/youruser/zap/javaexample/SimpleExampleAPI.java @@ -35,6 +35,7 @@ public class SimpleExampleAPI extends ApiImplementor { private static final Logger LOGGER = LogManager.getLogger(SimpleExampleAPI.class); + @SuppressWarnings("this-escape") public SimpleExampleAPI() { this.addApiAction(new ApiAction(ACTION_HELLO_WORLD)); }