Also replace gradle with maven. The JOSM gradle plugin isn't well
maintained.
Since this plugin doesn't use the common ant scripts, the images are
additionally moved to the standard maven location.
Signed-off-by: Taylor Smock <tsmock@meta.com>
---
.build.yml | 23 +-
.mvn/wrapper/maven-wrapper.properties | 19 ++
build.gradle | 4 +-
gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 43504 bytes
gradle/wrapper/gradle-wrapper.properties | 6 +-
gradlew | 286 +++++++++++-------
gradlew.bat | 60 ++--
mvnw | 259 ++++++++++++++++
mvnw.cmd | 149 +++++++++
pom.xml | 100 ++++++
.../josm/plugins/damn/DamnDialog.java | 10 +-
.../plugins/damn/actions/GetAreaAction.java | 10 +-
.../damn/actions/GetAreaGeometryAction.java | 10 +-
.../plugins/damn/actions/GetAreasAction.java | 10 +-
.../damn/actions/GetWorkingOnAction.java | 14 +-
.../damn/actions/PostDoneSquareAction.java | 9 +-
.../actions/PostLockSquareOfAreaAction.java | 11 +-
.../damn/actions/PostMapAreaAction.java | 10 +-
.../damn/actions/PostMapSquareAction.java | 9 +-
.../damn/actions/PostReviewAreaAction.java | 10 +-
.../damn/actions/PostReviewSquareAction.java | 9 +-
.../damn/actions/PostSplitSquareAction.java | 9 +-
.../plugins/damn/actions/SetMapAction.java | 1 -
.../plugins/damn/actions/SetReviewAction.java | 1 -
.../damn/actions/SetWhichMapperAction.java | 1 -
.../damn/callbacks/GetAreaCallback.java | 2 +-
.../callbacks/GetAreaGeometryCallback.java | 2 +-
.../damn/callbacks/GetAreasCallback.java | 2 +-
.../damn/callbacks/GetWorkingOnCallback.java | 2 +-
.../callbacks/PostDoneSquareCallback.java | 2 +-
.../PostLockSquareOfAreaCallback.java | 2 +-
.../damn/callbacks/PostMapAreaCallback.java | 2 +-
.../damn/callbacks/PostMapSquareCallback.java | 2 +-
.../callbacks/PostReviewAreaCallback.java | 2 +-
.../callbacks/PostReviewSquareCallback.java | 2 +-
.../callbacks/PostSplitSquareCallback.java | 2 +-
.../main/resources/images}/actions/areas.svg | 0
.../main/resources/images}/actions/border.svg | 0
.../main/resources/images}/actions/done.svg | 0
.../main/resources/images}/actions/lock.svg | 0
.../main/resources/images}/actions/map.svg | 0
.../main/resources/images}/actions/osm.svg | 0
.../main/resources/images}/actions/q.svg | 0
.../main/resources/images}/actions/review.svg | 0
.../main/resources/images}/actions/split.svg | 0
.../resources/images}/actions/workingon.svg | 0
.../main/resources/images}/dialogs/damn.svg | 0
47 files changed, 799 insertions(+), 253 deletions(-)
create mode 100644 .mvn/wrapper/maven-wrapper.properties
create mode 100755 mvnw
create mode 100644 mvnw.cmd
create mode 100644 pom.xml
rename {images => src/main/resources/images}/actions/areas.svg (100%)
rename {images => src/main/resources/images}/actions/border.svg (100%)
rename {images => src/main/resources/images}/actions/done.svg (100%)
rename {images => src/main/resources/images}/actions/lock.svg (100%)
rename {images => src/main/resources/images}/actions/map.svg (100%)
rename {images => src/main/resources/images}/actions/osm.svg (100%)
rename {images => src/main/resources/images}/actions/q.svg (100%)
rename {images => src/main/resources/images}/actions/review.svg (100%)
rename {images => src/main/resources/images}/actions/split.svg (100%)
rename {images => src/main/resources/images}/actions/workingon.svg (100%)
rename {images => src/main/resources/images}/dialogs/damn.svg (100%)
diff --git a/.build.yml b/.build.yml
index 8d4a241..20bc778 100644
--- a/.build.yml
+++ b/.build.yml
@@ -1,6 +1,6 @@
image: debian/unstable
packages:
- - openjdk-8-jdk
+ - openjdk-11-jdk
- gettext
oauth: pages.sr.ht/PAGES:RW
environment:
@@ -13,11 +13,10 @@ secrets:
tasks:
- test-build: |
cd $wd
- ./gradlew build
- ./gradlew check
- ./gradlew compileJava_minJosm
- ./gradlew compileJava_latestJosm
- ./gradlew compileJava_testedJosm
+ ./mvnw compile
+ ./mvnw verify test
+ ./mvnw -Dplugin.main.version=$(curl https://josm.openstreetmap.de/latest) compile
+ ./mvnw -Dplugin.main.version=$(curl https://josm.openstreetmap.de/tested) compile
- transifex: |
cd $wd
if [ $(git log --decorate | head -1 | grep -c 'master') -eq 0 ]
@@ -36,6 +35,8 @@ tasks:
set +x
TX_TOKEN="$(cat ~/.transifex-token)" ./tx pull -a -f
set -x
+ ./mvnw versions:set -DnewVersion=$(git describe --tags --dirty)
+ ./mvnw package
- make-pages: |
mkdir public
cd $wd
@@ -43,10 +44,12 @@ tasks:
then
complete-build
fi
- ./gradlew jar
- ./gradlew javadoc
- cp ./build/dist/damn.jar ../public/damn.jar
- tar zcf ../public/javadoc.tar.gz ./build/docs/javadoc/
+ git checkout pom.xml
+ ./mvnw versions:set -DnewVersion=$(git describe --tags --dirty)
+ ./mvnw package
+ ./mvnw javadoc:javadoc
+ cp ./target/damn-$(git describe --tags --dirty).jar ../public/damn.jar
+ tar zcf ../public/javadoc.tar.gz ./target/site/apidocs/
- upload-pages: |
cd public
tar -cvz . > ../site.tar.gz
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..f95f1ee
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+wrapperVersion=3.3.2
+distributionType=only-script
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip
diff --git a/build.gradle b/build.gradle
index aad0097..4422365 100644
--- a/build.gradle
@@ -1,5 +1,5 @@
plugins {
- id 'org.openstreetmap.josm' version '0.6.5'
+ id 'org.openstreetmap.josm' version '0.8.2'
}
sourceSets {
@@ -29,6 +29,6 @@ josm {
website = new URL('https://damn-project.org/')
}
i18n {
- pathTransformer = getPathTransformer('git.sr.ht/~qeef/damn-plugin/blob')
+ pathTransformer = getPathTransformer(projectDir, 'git.sr.ht/~qeef/damn-plugin/blob')
}
}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..2c3521197d7c4586c843d1d3e9090525f1898cde 100644
GIT binary patch
literal 43504
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	yu?e%!_ptzGB|8GrCfu%p?(_
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
TZiJi*F`$tkW<p)b$p8Kiq>Ln)
literal 55616
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
I5eVr20d63LbpQYW
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f3ffa9c..68e8816 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,8 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
+distributionSha256Sum=d725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionSha256Sum=027fdd265d277bae65a0d349b6b8da02135b0b8e14ba891e26281fa877fe37a2
\ No newline at end of file
diff --git a/gradlew b/gradlew
index 83f2acf..f5feea6 100755
--- a/gradlew
+++ b/gradlew
@@ -1,7 +1,7 @@
-#!/usr/bin/env sh
+#!/bin/sh
#
-# Copyright 2015 the original author or authors.
+# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,80 +15,116 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
-##
-## Gradle start up script for UN*X
-##
+#
+# Gradle start up script for POSIX generated by Gradle.
+#
+# Important for running:
+#
+# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+# noncompliant, but you have some other compliant shell such as ksh or
+# bash, then to run this script, type that shell name before the whole
+# command line, like:
+#
+# ksh Gradle
+#
+# Busybox and similar reduced shells will NOT work, because this script
+# requires all of these POSIX shell features:
+# * functions;
+# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+# * compound commands having a testable exit status, especially «case»;
+# * various built-in commands including «command», «set», and «ulimit».
+#
+# Important for patching:
+#
+# (2) This script targets any POSIX shell, so it avoids extensions provided
+# by Bash, Ksh, etc; in particular arrays are avoided.
+#
+# The "traditional" practice of packing multiple parameters into a
+# space-separated string is a well documented source of bugs and security
+# problems, so this is (mostly) avoided, by progressively accumulating
+# options in "$@", and eventually passing that to Java.
+#
+# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+# see the in-line comments for details.
+#
+# There are tweaks for specific operating systems such as AIX, CygWin,
+# Darwin, MinGW, and NonStop.
+#
+# (3) This script is generated from the Groovy template
+# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# within the Gradle project.
+#
+# You can find Gradle at https://github.com/gradle/gradle/.
+#
##############################################################################
# Attempt to set APP_HOME
+
# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- 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"`
-
-# 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"'
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
# 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,92 +133,120 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
- 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.
+ JAVACMD=java
+ if ! command -v java >/dev/null 2>&1
+ then
+ 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
location of your Java installation."
+ fi
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=SC2039,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=SC2039,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=$((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, 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"
+# 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"'
-# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
-if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
- cd "$(dirname "$0")"
+# 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" \
+ -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.
+#
+
+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 24467a1..9b42019 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -13,8 +13,10 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
-@if "%DEBUG%" == "" @echo off
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,10 +27,14 @@
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%
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@@ -37,13 +43,13 @@ 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.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
goto fail
@@ -51,48 +57,36 @@ 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%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
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/mvnw b/mvnw
new file mode 100755
index 0000000..19529dd
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,259 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Apache Maven Wrapper startup batch script, version 3.3.2
+#
+# Optional ENV vars
+# -----------------
+# JAVA_HOME - location of a JDK home dir, required when download maven via java source
+# MVNW_REPOURL - repo url base for downloading maven distribution
+# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
+# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output
+# ----------------------------------------------------------------------------
+
+set -euf
+[ "${MVNW_VERBOSE-}" != debug ] || set -x
+
+# OS specific support.
+native_path() { printf %s\\n "$1"; }
+case "$(uname)" in
+CYGWIN* | MINGW*)
+ [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")"
+ native_path() { cygpath --path --windows "$1"; }
+ ;;
+esac
+
+# set JAVACMD and JAVACCMD
+set_java_home() {
+ # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched
+ 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"
+ JAVACCMD="$JAVA_HOME/jre/sh/javac"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ JAVACCMD="$JAVA_HOME/bin/javac"
+
+ if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then
+ echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2
+ echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2
+ return 1
+ fi
+ fi
+ else
+ JAVACMD="$(
+ 'set' +e
+ 'unset' -f command 2>/dev/null
+ 'command' -v java
+ )" || :
+ JAVACCMD="$(
+ 'set' +e
+ 'unset' -f command 2>/dev/null
+ 'command' -v javac
+ )" || :
+
+ if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then
+ echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2
+ return 1
+ fi
+ fi
+}
+
+# hash string like Java String::hashCode
+hash_string() {
+ str="${1:-}" h=0
+ while [ -n "$str" ]; do
+ char="${str%"${str#?}"}"
+ h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296))
+ str="${str#?}"
+ done
+ printf %x\\n $h
+}
+
+verbose() { :; }
+[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; }
+
+die() {
+ printf %s\\n "$1" >&2
+ exit 1
+}
+
+trim() {
+ # MWRAPPER-139:
+ # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds.
+ # Needed for removing poorly interpreted newline sequences when running in more
+ # exotic environments such as mingw bash on Windows.
+ printf "%s" "${1}" | tr -d '[:space:]'
+}
+
+# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties
+while IFS="=" read -r key value; do
+ case "${key-}" in
+ distributionUrl) distributionUrl=$(trim "${value-}") ;;
+ distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;;
+ esac
+done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties"
+[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties"
+
+case "${distributionUrl##*/}" in
+maven-mvnd-*bin.*)
+ MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/
+ case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in
+ *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;;
+ :Darwin*x86_64) distributionPlatform=darwin-amd64 ;;
+ :Darwin*arm64) distributionPlatform=darwin-aarch64 ;;
+ :Linux*x86_64*) distributionPlatform=linux-amd64 ;;
+ *)
+ echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2
+ distributionPlatform=linux-amd64
+ ;;
+ esac
+ distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip"
+ ;;
+maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;;
+*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
+esac
+
+# apply MVNW_REPOURL and calculate MAVEN_HOME
+# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash>
+[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}"
+distributionUrlName="${distributionUrl##*/}"
+distributionUrlNameMain="${distributionUrlName%.*}"
+distributionUrlNameMain="${distributionUrlNameMain%-bin}"
+MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}"
+MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")"
+
+exec_maven() {
+ unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || :
+ exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD"
+}
+
+if [ -d "$MAVEN_HOME" ]; then
+ verbose "found existing MAVEN_HOME at $MAVEN_HOME"
+ exec_maven "$@"
+fi
+
+case "${distributionUrl-}" in
+*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;;
+*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;;
+esac
+
+# prepare tmp dir
+if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then
+ clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; }
+ trap clean HUP INT TERM EXIT
+else
+ die "cannot create temp dir"
+fi
+
+mkdir -p -- "${MAVEN_HOME%/*}"
+
+# Download and Install Apache Maven
+verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
+verbose "Downloading from: $distributionUrl"
+verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
+
+# select .zip or .tar.gz
+if ! command -v unzip >/dev/null; then
+ distributionUrl="${distributionUrl%.zip}.tar.gz"
+ distributionUrlName="${distributionUrl##*/}"
+fi
+
+# verbose opt
+__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR=''
+[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v
+
+# normalize http auth
+case "${MVNW_PASSWORD:+has-password}" in
+'') MVNW_USERNAME='' MVNW_PASSWORD='' ;;
+has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;;
+esac
+
+if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then
+ verbose "Found wget ... using wget"
+ wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl"
+elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then
+ verbose "Found curl ... using curl"
+ curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl"
+elif set_java_home; then
+ verbose "Falling back to use Java to download"
+ javaSource="$TMP_DOWNLOAD_DIR/Downloader.java"
+ targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName"
+ cat >"$javaSource" <<-END
+ public class Downloader extends java.net.Authenticator
+ {
+ protected java.net.PasswordAuthentication getPasswordAuthentication()
+ {
+ return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
+ }
+ public static void main( String[] args ) throws Exception
+ {
+ setDefault( new Downloader() );
+ java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
+ }
+ }
+ END
+ # For Cygwin/MinGW, switch paths to Windows format before running javac and java
+ verbose " - Compiling Downloader.java ..."
+ "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java"
+ verbose " - Running Downloader.java ..."
+ "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")"
+fi
+
+# If specified, validate the SHA-256 sum of the Maven distribution zip file
+if [ -n "${distributionSha256Sum-}" ]; then
+ distributionSha256Result=false
+ if [ "$MVN_CMD" = mvnd.sh ]; then
+ echo "Checksum validation is not supported for maven-mvnd." >&2
+ echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
+ exit 1
+ elif command -v sha256sum >/dev/null; then
+ if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then
+ distributionSha256Result=true
+ fi
+ elif command -v shasum >/dev/null; then
+ if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then
+ distributionSha256Result=true
+ fi
+ else
+ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2
+ echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
+ exit 1
+ fi
+ if [ $distributionSha256Result = false ]; then
+ echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2
+ echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2
+ exit 1
+ fi
+fi
+
+# unzip and move
+if command -v unzip >/dev/null; then
+ unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip"
+else
+ tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar"
+fi
+printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url"
+mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
+
+clean || :
+exec_maven "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..b150b91
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,149 @@
+<# : batch portion
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Apache Maven Wrapper startup batch script, version 3.3.2
+@REM
+@REM Optional ENV vars
+@REM MVNW_REPOURL - repo url base for downloading maven distribution
+@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
+@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output
+@REM ----------------------------------------------------------------------------
+
+@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0)
+@SET __MVNW_CMD__=
+@SET __MVNW_ERROR__=
+@SET __MVNW_PSMODULEP_SAVE=%PSModulePath%
+@SET PSModulePath=
+@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @(
+ IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B)
+)
+@SET PSModulePath=%__MVNW_PSMODULEP_SAVE%
+@SET __MVNW_PSMODULEP_SAVE=
+@SET __MVNW_ARG0_NAME__=
+@SET MVNW_USERNAME=
+@SET MVNW_PASSWORD=
+@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*)
+@echo Cannot start maven from wrapper >&2 && exit /b 1
+@GOTO :EOF
+: end batch / begin powershell #>
+
+$ErrorActionPreference = "Stop"
+if ($env:MVNW_VERBOSE -eq "true") {
+ $VerbosePreference = "Continue"
+}
+
+# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties
+$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl
+if (!$distributionUrl) {
+ Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties"
+}
+
+switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) {
+ "maven-mvnd-*" {
+ $USE_MVND = $true
+ $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip"
+ $MVN_CMD = "mvnd.cmd"
+ break
+ }
+ default {
+ $USE_MVND = $false
+ $MVN_CMD = $script -replace '^mvnw','mvn'
+ break
+ }
+}
+
+# apply MVNW_REPOURL and calculate MAVEN_HOME
+# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash>
+if ($env:MVNW_REPOURL) {
+ $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" }
+ $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')"
+}
+$distributionUrlName = $distributionUrl -replace '^.*/',''
+$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$',''
+$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain"
+if ($env:MAVEN_USER_HOME) {
+ $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain"
+}
+$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join ''
+$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME"
+
+if (Test-Path -Path "$MAVEN_HOME" -PathType Container) {
+ Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME"
+ Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
+ exit $?
+}
+
+if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) {
+ Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl"
+}
+
+# prepare tmp dir
+$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile
+$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir"
+$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null
+trap {
+ if ($TMP_DOWNLOAD_DIR.Exists) {
+ try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
+ catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
+ }
+}
+
+New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null
+
+# Download and Install Apache Maven
+Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
+Write-Verbose "Downloading from: $distributionUrl"
+Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
+
+$webclient = New-Object System.Net.WebClient
+if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) {
+ $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD)
+}
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null
+
+# If specified, validate the SHA-256 sum of the Maven distribution zip file
+$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum
+if ($distributionSha256Sum) {
+ if ($USE_MVND) {
+ Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties."
+ }
+ Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
+ if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) {
+ Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property."
+ }
+}
+
+# unzip and move
+Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null
+Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null
+try {
+ Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null
+} catch {
+ if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) {
+ Write-Error "fail to move MAVEN_HOME"
+ }
+} finally {
+ try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
+ catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
+}
+
+Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..7546f4a
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,100 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<modelVersion>4.0.0</modelVersion>
+ <groupId>org.openstreetmap.josm.plugins</groupId>
+ <artifactId>damn</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <properties>
+ <plugin.main.version>19067</plugin.main.version>
+ </properties>
+ <repositories>
+ <repository>
+ <id>JOSM-releases</id>
+ <url>https://josm.openstreetmap.de/nexus/content/repositories/releases/</url>
+ </repository>
+ <repository>
+ <id>JOSM-snapshots</id>
+ <url>https://josm.openstreetmap.de/nexus/content/repositories/snapshots/</url>
+ </repository>
+ <repository>
+ <id>JOSM-central</id>
+ <url>https://josm.openstreetmap.de/nexus/content/repositories/central/</url>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>JOSM-central</id>
+ <url>https://josm.openstreetmap.de/nexus/content/repositories/central/</url>
+ </pluginRepository>
+ </pluginRepositories>
+ <dependencies>
+ <dependency>
+ <groupId>org.openstreetmap.josm</groupId>
+ <artifactId>josm</artifactId>
+ <version>${plugin.main.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.openstreetmap.josm</groupId>
+ <artifactId>josm-unittest</artifactId>
+ <version>SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.4.2</version>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <!-- For full documentation, see https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins#ThemanifestfileforaJOSMplugin -->
+ <Plugin-Mainversion>${plugin.main.version}</Plugin-Mainversion>
+ <Plugin-Version>${project.version}</Plugin-Version>
+ <Plugin-Class>org.openstreetmap.josm.plugins.damn.DamnPlugin</Plugin-Class>
+ <Plugin-Description>Divide and Map. Now.</Plugin-Description>
+ <!-- These are optional, but are either added almost all the time or can be auto generated -->
+ <Plugin-Date>${maven.build.timestamp}</Plugin-Date>
+ <Author>qeef</Author>
+ <Plugin-Link>https://damn-project.org</Plugin-Link>
+ <Plugin-Icon>images/dialogs/damn.svg</Plugin-Icon>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.13.0</version>
+ <configuration>
+ <release>11</release>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>3.4.1</version>
+ <executions>
+ <execution>
+ <id>enforce-versions</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>3.6.3</version>
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>17</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/DamnDialog.java b/src/main/java/org/openstreetmap/josm/plugins/damn/DamnDialog.java
index 72bfafd..b2714ce 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/DamnDialog.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/DamnDialog.java
@@ -21,17 +21,17 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
import javax.swing.DefaultListModel;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
+import jakarta.json.JsonValue;
import org.openstreetmap.josm.actions.downloadtasks.DownloadGeoJsonTask;
import org.openstreetmap.josm.actions.downloadtasks.DownloadNotesTask;
import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaAction.java
index 644c6dc..f58019c 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaAction.java
@@ -1,18 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaGeometryAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaGeometryAction.java
index 1ff87f6..a9278d0 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaGeometryAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreaGeometryAction.java
@@ -1,18 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreasAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreasAction.java
index f4206a6..72226d9 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreasAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetAreasAction.java
@@ -1,18 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetWorkingOnAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetWorkingOnAction.java
index aba77ed..b57e5ab 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetWorkingOnAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/GetWorkingOnAction.java
@@ -1,21 +1,15 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
+import jakarta.json.Json;
+import jakarta.json.JsonArray;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostDoneSquareAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostDoneSquareAction.java
index f7507b6..0967e89 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostDoneSquareAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostDoneSquareAction.java
@@ -1,19 +1,16 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
import javax.swing.JOptionPane;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostLockSquareOfAreaAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostLockSquareOfAreaAction.java
index 3d7ffa9..772786b 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostLockSquareOfAreaAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostLockSquareOfAreaAction.java
@@ -1,19 +1,16 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
import javax.swing.JOptionPane;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
@@ -24,7 +21,7 @@ import org.openstreetmap.josm.plugins.damn.callbacks.PostLockSquareOfAreaCallbac
/**
* Manual square lock
*
- * @see https://damn-project.org/#manual-square-lock
+ * @see <a href="https://damn-project.org/#manual-square-lock">manual square lock</a>
* @author qeef
* @since xxx
*/
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapAreaAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapAreaAction.java
index 0baf121..141575f 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapAreaAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapAreaAction.java
@@ -1,18 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapSquareAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapSquareAction.java
index 487b705..8d6902b 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapSquareAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostMapSquareAction.java
@@ -1,19 +1,16 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
import javax.swing.JOptionPane;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewAreaAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewAreaAction.java
index 4a9b7de..759e8d5 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewAreaAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewAreaAction.java
@@ -1,18 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewSquareAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewSquareAction.java
index 2c632f2..35f3980 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewSquareAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostReviewSquareAction.java
@@ -1,19 +1,16 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
import javax.swing.JOptionPane;
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostSplitSquareAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostSplitSquareAction.java
index 492d374..ff1bc55 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostSplitSquareAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/PostSplitSquareAction.java
@@ -1,17 +1,14 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.net.URL;
-import javax.json.Json;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import javax.json.JsonValue;
-
+import jakarta.json.Json;
+import jakarta.json.JsonObject;
+import jakarta.json.JsonReader;
import org.openstreetmap.josm.actions.JosmAction;
import org.openstreetmap.josm.spi.preferences.Config;
import org.openstreetmap.josm.tools.HttpClient;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetMapAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetMapAction.java
index 7b27896..20e372e 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetMapAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetMapAction.java
@@ -1,6 +1,5 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetReviewAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetReviewAction.java
index 1c53d9e..5770a35 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetReviewAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetReviewAction.java
@@ -1,6 +1,5 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetWhichMapperAction.java b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetWhichMapperAction.java
index c7f7cac..19e0e42 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetWhichMapperAction.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/actions/SetWhichMapperAction.java
@@ -1,6 +1,5 @@
package org.openstreetmap.josm.plugins.damn.actions;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.ActionEvent;
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaCallback.java
index cd680cd..67ae5ce 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface GetAreaCallback {
void onGetArea(JsonObject callArea, JsonObject gotArea);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaGeometryCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaGeometryCallback.java
index 3e98c87..a863162 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaGeometryCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreaGeometryCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface GetAreaGeometryCallback {
void onGetAreaGeometry(JsonObject gotAreaGeometry);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreasCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreasCallback.java
index f7f95ae..991a764 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreasCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetAreasCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonArray;
+import jakarta.json.JsonArray;
public interface GetAreasCallback {
void onGetAreas(JsonArray l);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetWorkingOnCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetWorkingOnCallback.java
index 64b80f4..ec401da 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetWorkingOnCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/GetWorkingOnCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonArray;
+import jakarta.json.JsonArray;
public interface GetWorkingOnCallback {
void onGetWorkingOn(JsonArray l);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostDoneSquareCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostDoneSquareCallback.java
index d69d22d..0b1543f 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostDoneSquareCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostDoneSquareCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostDoneSquareCallback {
void onPostDoneSquare(JsonObject doneSquare, JsonObject gotCommit);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostLockSquareOfAreaCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostLockSquareOfAreaCallback.java
index 0af1e9e..8f85390 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostLockSquareOfAreaCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostLockSquareOfAreaCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostLockSquareOfAreaCallback {
void onPostLockSquareOfArea(JsonObject mapArea, JsonObject gotSquare);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapAreaCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapAreaCallback.java
index aa21634..c941bc8 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapAreaCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapAreaCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostMapAreaCallback {
void onPostMapArea(JsonObject mapArea, JsonObject gotSquare);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapSquareCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapSquareCallback.java
index 3edc93b..62d9c77 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapSquareCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostMapSquareCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostMapSquareCallback {
void onPostMapSquare(JsonObject mapSquare, JsonObject gotCommit);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewAreaCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewAreaCallback.java
index 2032164..d5b452b 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewAreaCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewAreaCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostReviewAreaCallback {
void onPostReviewArea(JsonObject reviewArea, JsonObject gotSquare);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewSquareCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewSquareCallback.java
index 1e902d7..ba73256 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewSquareCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostReviewSquareCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostReviewSquareCallback {
void onPostReviewSquare(JsonObject mapSquare, JsonObject gotCommit);
diff --git a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostSplitSquareCallback.java b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostSplitSquareCallback.java
index da32a5d..7ae035d 100644
--- a/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostSplitSquareCallback.java
+++ b/src/main/java/org/openstreetmap/josm/plugins/damn/callbacks/PostSplitSquareCallback.java
@@ -1,6 +1,6 @@
package org.openstreetmap.josm.plugins.damn.callbacks;
-import javax.json.JsonObject;
+import jakarta.json.JsonObject;
public interface PostSplitSquareCallback {
void onPostSplitSquare(JsonObject splitSquare, JsonObject splittedSquare);
diff --git a/images/actions/areas.svg b/src/main/resources/images/actions/areas.svg
similarity index 100%
rename from images/actions/areas.svg
rename to src/main/resources/images/actions/areas.svg
diff --git a/images/actions/border.svg b/src/main/resources/images/actions/border.svg
similarity index 100%
rename from images/actions/border.svg
rename to src/main/resources/images/actions/border.svg
diff --git a/images/actions/done.svg b/src/main/resources/images/actions/done.svg
similarity index 100%
rename from images/actions/done.svg
rename to src/main/resources/images/actions/done.svg
diff --git a/images/actions/lock.svg b/src/main/resources/images/actions/lock.svg
similarity index 100%
rename from images/actions/lock.svg
rename to src/main/resources/images/actions/lock.svg
diff --git a/images/actions/map.svg b/src/main/resources/images/actions/map.svg
similarity index 100%
rename from images/actions/map.svg
rename to src/main/resources/images/actions/map.svg
diff --git a/images/actions/osm.svg b/src/main/resources/images/actions/osm.svg
similarity index 100%
rename from images/actions/osm.svg
rename to src/main/resources/images/actions/osm.svg
diff --git a/images/actions/q.svg b/src/main/resources/images/actions/q.svg
similarity index 100%
rename from images/actions/q.svg
rename to src/main/resources/images/actions/q.svg
diff --git a/images/actions/review.svg b/src/main/resources/images/actions/review.svg
similarity index 100%
rename from images/actions/review.svg
rename to src/main/resources/images/actions/review.svg
diff --git a/images/actions/split.svg b/src/main/resources/images/actions/split.svg
similarity index 100%
rename from images/actions/split.svg
rename to src/main/resources/images/actions/split.svg
diff --git a/images/actions/workingon.svg b/src/main/resources/images/actions/workingon.svg
similarity index 100%
rename from images/actions/workingon.svg
rename to src/main/resources/images/actions/workingon.svg
diff --git a/images/dialogs/damn.svg b/src/main/resources/images/dialogs/damn.svg
similarity index 100%
rename from images/dialogs/damn.svg
rename to src/main/resources/images/dialogs/damn.svg
--
2.45.2