From 0693cef2e84342b30e6a4de10189eb3318d34abb Mon Sep 17 00:00:00 2001 From: Joseph Ess Date: Tue, 3 Feb 2026 10:54:24 -0500 Subject: [PATCH] Changes for jakarta namespace --- build.gradle | 7 +- gradle/wrapper/gradle-wrapper.jar | Bin 58695 -> 61624 bytes gradle/wrapper/gradle-wrapper.properties | 3 +- gradlew | 269 +++++++++++------- gradlew.bat | 35 +-- .../java/org/projecthaystack/server/HOp.java | 2 +- .../org/projecthaystack/server/HServlet.java | 6 +- .../org/projecthaystack/server/HStdOps.java | 4 +- 8 files changed, 189 insertions(+), 137 deletions(-) diff --git a/build.gradle b/build.gradle index 022feae..73bbbe4 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ group = "org.projecthaystack" version = "3.0.7" java { - sourceCompatibility = JavaVersion.VERSION_1_7 - targetCompatibility = JavaVersion.VERSION_1_7 + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 withJavadocJar() withSourcesJar() @@ -29,7 +29,7 @@ repositories { } dependencies { - providedCompile 'javax.servlet:javax.servlet-api:3.1.0' + providedCompile 'jakarta.servlet:jakarta.servlet-api:6.1.0' // Use TestNG framework, also requires calling test.useTestNG() below testImplementation 'org.testng:testng:7.1.0' @@ -83,6 +83,7 @@ String findProperty(String s) { project.findProperty(s) } javadoc { if(JavaVersion.current().isJava9Compatible()) { options.addBooleanOption('html5', true) + options.addBooleanOption('Xdoclint:none', true) } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f3d88b1c2faf2fc91d853cd5d4242b5547257070..afba109285af78dbd2a1d187e33ac4f87c76e392 100644 GIT binary patch delta 39276 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 Z{P1f?LhuOuvUin%h*Co!x95J9{tw2%2m}BC delta 36399 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 \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # 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"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum warn () { echo "$*" -} +} >&2 die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" + JAVACMD=java which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -105,79 +140,105 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - 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 fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=`expr $i + 1` + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` +# 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. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 9109989..6689b85 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +55,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,38 +65,26 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/main/java/org/projecthaystack/server/HOp.java b/src/main/java/org/projecthaystack/server/HOp.java index ba142d3..62f70c7 100644 --- a/src/main/java/org/projecthaystack/server/HOp.java +++ b/src/main/java/org/projecthaystack/server/HOp.java @@ -9,7 +9,7 @@ import java.io.*; import java.util.*; -import javax.servlet.http.*; +import jakarta.servlet.http.*; import org.projecthaystack.*; import org.projecthaystack.io.*; diff --git a/src/main/java/org/projecthaystack/server/HServlet.java b/src/main/java/org/projecthaystack/server/HServlet.java index e2b7969..5020dc4 100644 --- a/src/main/java/org/projecthaystack/server/HServlet.java +++ b/src/main/java/org/projecthaystack/server/HServlet.java @@ -10,9 +10,9 @@ import java.io.*; import java.net.*; import java.util.*; -import javax.servlet.*; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.*; +import jakarta.servlet.*; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.*; /** * HServlet implements the haystack HTTP REST API for diff --git a/src/main/java/org/projecthaystack/server/HStdOps.java b/src/main/java/org/projecthaystack/server/HStdOps.java index e614ddb..ee6cff7 100644 --- a/src/main/java/org/projecthaystack/server/HStdOps.java +++ b/src/main/java/org/projecthaystack/server/HStdOps.java @@ -8,8 +8,8 @@ package org.projecthaystack.server; import java.util.*; -import javax.servlet.*; -import javax.servlet.http.*; +import jakarta.servlet.*; +import jakarta.servlet.http.*; import org.projecthaystack.*; import org.projecthaystack.io.*;