Skip to content
Snippets Groups Projects
Commit 9bfd8798 authored by Lene Wasskog's avatar Lene Wasskog
Browse files

Merge branch 'main' into release

parents ea4528ae 312aea4f
No related branches found
No related tags found
No related merge requests found
Pipeline #6729 passed
...@@ -6,7 +6,7 @@ stages: ...@@ -6,7 +6,7 @@ stages:
- upload - upload
variables: variables:
COMMON_CONFIG_REMOTE: https://root:$CONFIG_ACCESS_TOKEN@$CI_SERVER_HOST/VIPS/vips-common-config.git COMMON_CONFIG_REMOTE: https://oauth2:$CICD_ACCESS_TOKEN@$CI_SERVER_HOST/VIPS/vips-common-config.git
COMMON_CONFIG_LOCAL: "vips-common-config" COMMON_CONFIG_LOCAL: "vips-common-config"
SETTINGS_XML: "ci_settings.xml" SETTINGS_XML: "ci_settings.xml"
MAVEN_POM: "-f pom.xml" MAVEN_POM: "-f pom.xml"
...@@ -29,7 +29,7 @@ before_script: ...@@ -29,7 +29,7 @@ before_script:
- git config --global user.name "${GITLAB_USER_NAME}" - git config --global user.name "${GITLAB_USER_NAME}"
- git config --global user.email "${GITLAB_USER_EMAIL}" - git config --global user.email "${GITLAB_USER_EMAIL}"
- echo "Get common settings" - echo "Get common settings"
- git clone $COMMON_CONFIG_REMOTE $COMMON_CONFIG_LOCAL - git clone --depth=1 "$COMMON_CONFIG_REMOTE" "$COMMON_CONFIG_LOCAL"
- cp $COMMON_CONFIG_LOCAL/$SETTINGS_XML . - cp $COMMON_CONFIG_LOCAL/$SETTINGS_XML .
- rm -rf $COMMON_CONFIG_LOCAL - rm -rf $COMMON_CONFIG_LOCAL
- apt-get update -y && apt-get install -y python3 && apt-get install -y rsync openssh-client - apt-get update -y && apt-get install -y python3 && apt-get install -y rsync openssh-client
...@@ -50,10 +50,10 @@ build-for-staging: ...@@ -50,10 +50,10 @@ build-for-staging:
build-for-production: build-for-production:
stage: build stage: build
script: script:
# Use access token given by CI/CD variable ACCESS_TOKEN to authenticate # Use access token given by CI/CD variable CICD_ACCESS_TOKEN to authenticate
# This is necessary in order to push changes to git # This is necessary in order to push changes to git
- &authenticate - &authenticate
- export NEW_REPO_URL=https://root:$ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git - export NEW_REPO_URL=https://oauth2:$CICD_ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git
- git remote set-url --push origin $NEW_REPO_URL - git remote set-url --push origin $NEW_REPO_URL
- git fetch origin --prune --prune-tags - git fetch origin --prune --prune-tags
...@@ -203,9 +203,9 @@ deploy-to-production: ...@@ -203,9 +203,9 @@ deploy-to-production:
upload-and-tag-release: upload-and-tag-release:
stage: upload stage: upload
script: script:
# Use access token given by CI/CD variable ACCESS_TOKEN to authenticate # Use access token given by CI/CD variable CICD_ACCESS_TOKEN to authenticate
# This is necessary in order to push changes to git # This is necessary in order to push changes to git
- export NEW_REPO_URL=https://root:$ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git - export NEW_REPO_URL=https://oauth2:$CICD_ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git
- git remote set-url --push origin $NEW_REPO_URL - git remote set-url --push origin $NEW_REPO_URL
- git fetch origin --prune --prune-tags - git fetch origin --prune --prune-tags
......
File deleted
...@@ -14,5 +14,6 @@ ...@@ -14,5 +14,6 @@
# KIND, either express or implied. See the License for the # KIND, either express or implied. See the License for the
# specific language governing permissions and limitations # specific language governing permissions and limitations
# under the License. # under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip wrapperVersion=3.3.2
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar distributionType=only-script
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip
...@@ -2,116 +2,116 @@ ...@@ -2,116 +2,116 @@
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>RoughageNutritionModel</artifactId> <artifactId>RoughageNutritionModel</artifactId>
<version>1.1.16</version> <version>1.1.19</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>AlternariaModel</artifactId> <artifactId>AlternariaModel</artifactId>
<version>1.1.19</version> <version>1.1.23</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>fi.luke.vips.model</groupId> <groupId>fi.luke.vips.model</groupId>
<artifactId>FinnCerealModels</artifactId> <artifactId>FinnCerealModels</artifactId>
<version>1.1.12</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>Model_LEAFBLOTCH</artifactId> <artifactId>Model_LEAFBLOTCH</artifactId>
<version>1.1.12</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>NaerstadModel</artifactId> <artifactId>NaerstadModel</artifactId>
<version>1.1.12</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>SeptoriaHumidityModel</artifactId> <artifactId>SeptoriaHumidityModel</artifactId>
<version>1.1.13</version> <version>1.1.16</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>AppleScabModel</artifactId> <artifactId>AppleScabModel</artifactId>
<version>1.1.12</version> <version>1.1.16</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>DeliaRadicumModel</artifactId> <artifactId>DeliaRadicumModel</artifactId>
<version>1.1.11</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>DeliaRadicumFloralisObservationModel</artifactId> <artifactId>DeliaRadicumFloralisObservationModel</artifactId>
<version>1.1.11</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>BremiaLactucaeModel</artifactId> <artifactId>BremiaLactucaeModel</artifactId>
<version>1.1.11</version> <version>1.1.15</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>DOWNCASTModel</artifactId> <artifactId>DOWNCASTModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>GrassDryingModel</artifactId> <artifactId>GrassDryingModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>LygusRugulipennisModel</artifactId> <artifactId>LygusRugulipennisModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>Model_MAIZEPHENO</artifactId> <artifactId>Model_MAIZEPHENO</artifactId>
<version>1.1.10</version> <version>1.1.13</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>MamestraBrassicaeModel</artifactId> <artifactId>MamestraBrassicaeModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>OatFloweringModel</artifactId> <artifactId>OatFloweringModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>NegativePrognosisModel</artifactId> <artifactId>NegativePrognosisModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>PsilaRosaeObservationModel</artifactId> <artifactId>PsilaRosaeObservationModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>PsilaRosaeTempModel</artifactId> <artifactId>PsilaRosaeTempModel</artifactId>
<version>1.1.11</version> <version>1.1.14</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>BarleyNetBlotchModel</artifactId> <artifactId>BarleyNetBlotchModel</artifactId>
<version>1.1.13</version> <version>1.1.17</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>SeptoriaApiicolaModel</artifactId> <artifactId>SeptoriaApiicolaModel</artifactId>
<version>1.1.10</version> <version>1.1.13</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>SeptoriaReferenceHumidityModel</artifactId> <artifactId>SeptoriaReferenceHumidityModel</artifactId>
<version>1.1.10</version> <version>1.1.13</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>no.nibio.vips.model</groupId> <groupId>no.nibio.vips.model</groupId>
<artifactId>DayDegreesModel</artifactId> <artifactId>DayDegreesModel</artifactId>
<version>0.1.2</version> <version>0.1.4</version>
</dependency> </dependency>
</dependencies> </dependencies>
...@@ -19,290 +19,241 @@ ...@@ -19,290 +19,241 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# Apache Maven Wrapper startup batch script, version 3.2.0 # Apache Maven Wrapper startup batch script, version 3.3.2
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
# #
# Optional ENV vars # Optional ENV vars
# ----------------- # -----------------
# MAVEN_OPTS - parameters passed to the Java VM when running Maven # JAVA_HOME - location of a JDK home dir, required when download maven via java source
# e.g. to debug Maven itself, use # MVNW_REPOURL - repo url base for downloading maven distribution
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files # MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then set -euf
[ "${MVNW_VERBOSE-}" != debug ] || set -x
if [ -f /usr/local/etc/mavenrc ] ; then
. /usr/local/etc/mavenrc
fi
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false. # OS specific support.
cygwin=false; native_path() { printf %s\\n "$1"; }
darwin=false;
mingw=false
case "$(uname)" in case "$(uname)" in
CYGWIN*) cygwin=true ;; CYGWIN* | MINGW*)
MINGW*) mingw=true;; [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")"
Darwin*) darwin=true native_path() { cygpath --path --windows "$1"; }
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home ;;
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME
else
JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
fi
fi
;;
esac esac
if [ -z "$JAVA_HOME" ] ; then # set JAVACMD and JAVACCMD
if [ -r /etc/gentoo-release ] ; then set_java_home() {
JAVA_HOME=$(java-config --jre-home) # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched
fi if [ -n "${JAVA_HOME-}" ]; then
fi if [ -x "$JAVA_HOME/jre/sh/java" ]; then
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] &&
JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="$(which javac)"
if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=$(which readlink)
if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then
if $darwin ; then
javaHome="$(dirname "\"$javaExecutable\"")"
javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac"
else
javaExecutable="$(readlink -f "\"$javaExecutable\"")"
fi
javaHome="$(dirname "\"$javaExecutable\"")"
javaHome=$(expr "$javaHome" : '\(.*\)/bin')
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables # IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java" JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACCMD="$JAVA_HOME/jre/sh/javac"
else else
JAVACMD="$JAVA_HOME/bin/java" 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 fi
else else
JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" JAVACMD="$(
fi 'set' +e
fi 'unset' -f command 2>/dev/null
'command' -v java
if [ ! -x "$JAVACMD" ] ; then )" || :
echo "Error: JAVA_HOME is not defined correctly." >&2 JAVACCMD="$(
echo " We cannot execute $JAVACMD" >&2 'set' +e
exit 1 'unset' -f command 2>/dev/null
fi 'command' -v javac
)" || :
if [ -z "$JAVA_HOME" ] ; then if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then
echo "Warning: JAVA_HOME environment variable is not set." echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2
fi return 1
fi
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi fi
}
basedir="$1" # hash string like Java String::hashCode
wdir="$1" hash_string() {
while [ "$wdir" != '/' ] ; do str="${1:-}" h=0
if [ -d "$wdir"/.mvn ] ; then while [ -n "$str" ]; do
basedir=$wdir char="${str%"${str#?}"}"
break h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296))
fi str="${str#?}"
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=$(cd "$wdir/.." || exit 1; pwd)
fi
# end of workaround
done done
printf '%s' "$(cd "$basedir" || exit 1; pwd)" printf %x\\n $h
} }
# concatenates all lines of a file verbose() { :; }
concat_lines() { [ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; }
if [ -f "$1" ]; then
# Remove \r in case we run on Windows within Git Bash die() {
# and check out the repository with auto CRLF management printf %s\\n "$1" >&2
# enabled. Otherwise, we may read lines that are delimited with exit 1
# \r\n and produce $'-Xarg\r' rather than -Xarg due to word
# splitting rules.
tr -s '\r\n' ' ' < "$1"
fi
} }
log() { trim() {
if [ "$MVNW_VERBOSE" = true ]; then # MWRAPPER-139:
printf '%s\n' "$1" # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds.
fi # 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"
} }
BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -d "$MAVEN_HOME" ]; then
if [ -z "$BASE_DIR" ]; then verbose "found existing MAVEN_HOME at $MAVEN_HOME"
exit 1; exec_maven "$@"
fi fi
MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR case "${distributionUrl-}" in
log "$MAVEN_PROJECTBASEDIR" *?-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
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then
# This allows using the maven wrapper in projects that prohibit checking in binary data. clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; }
########################################################################################## trap clean HUP INT TERM EXIT
wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar"
if [ -r "$wrapperJarPath" ]; then
log "Found $wrapperJarPath"
else else
log "Couldn't find $wrapperJarPath, downloading it ..." die "cannot create temp dir"
fi
if [ -n "$MVNW_REPOURL" ]; then mkdir -p -- "${MAVEN_HOME%/*}"
wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
else
wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
fi
while IFS="=" read -r key value; do
# Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' )
safeValue=$(echo "$value" | tr -d '\r')
case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;;
esac
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties"
log "Downloading from: $wrapperUrl"
if $cygwin; then # Download and Install Apache Maven
wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
fi verbose "Downloading from: $distributionUrl"
verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
if command -v wget > /dev/null; then # select .zip or .tar.gz
log "Found wget ... using wget" if ! command -v unzip >/dev/null; then
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" distributionUrl="${distributionUrl%.zip}.tar.gz"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then distributionUrlName="${distributionUrl##*/}"
wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
else
wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
log "Found curl ... using curl"
[ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent"
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
else
curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath"
fi
else
log "Falling back to using Java to download"
javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java"
javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaSource=$(cygpath --path --windows "$javaSource")
javaClass=$(cygpath --path --windows "$javaClass")
fi
if [ -e "$javaSource" ]; then
if [ ! -e "$javaClass" ]; then
log " - Compiling MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/javac" "$javaSource")
fi
if [ -e "$javaClass" ]; then
log " - Running MavenWrapperDownloader.java ..."
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath"
fi
fi
fi
fi fi
##########################################################################################
# End of extension
##########################################################################################
# If specified, validate the SHA-256 sum of the Maven wrapper jar file # verbose opt
wrapperSha256Sum="" __MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR=''
while IFS="=" read -r key value; do [ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v
case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;;
esac # normalize http auth
done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" case "${MVNW_PASSWORD:+has-password}" in
if [ -n "$wrapperSha256Sum" ]; then '') MVNW_USERNAME='' MVNW_PASSWORD='' ;;
wrapperSha256Result=false has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;;
if command -v sha256sum > /dev/null; then esac
if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then
wrapperSha256Result=true 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 fi
elif command -v shasum > /dev/null; then elif command -v shasum >/dev/null; then
if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then
wrapperSha256Result=true distributionSha256Result=true
fi fi
else else
echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2
echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
exit 1 exit 1
fi fi
if [ $wrapperSha256Result = false ]; then if [ $distributionSha256Result = false ]; then
echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2
echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2
echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2
exit 1 exit 1
fi fi
fi fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # unzip and move
if command -v unzip >/dev/null; then
# For Cygwin, switch paths to Windows format before running java unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip"
if $cygwin; then else
[ -n "$JAVA_HOME" ] && tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar"
JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME")
[ -n "$CLASSPATH" ] &&
CLASSPATH=$(cygpath --path --windows "$CLASSPATH")
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR")
fi 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"
# Provide a "standardized" way to retrieve the CLI args that will clean || :
# work with both Windows and non-Windows executions. exec_maven "$@"
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
# shellcheck disable=SC2086 # safe args
exec "$JAVACMD" \
$MAVEN_OPTS \
$MAVEN_DEBUG_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
<# : batch portion
@REM ---------------------------------------------------------------------------- @REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one @REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file @REM or more contributor license agreements. See the NOTICE file
...@@ -18,188 +19,131 @@ ...@@ -18,188 +19,131 @@
@REM ---------------------------------------------------------------------------- @REM ----------------------------------------------------------------------------
@REM ---------------------------------------------------------------------------- @REM ----------------------------------------------------------------------------
@REM Apache Maven Wrapper startup batch script, version 3.2.0 @REM Apache Maven Wrapper startup batch script, version 3.3.2
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM @REM
@REM Optional ENV vars @REM Optional ENV vars
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MVNW_REPOURL - repo url base for downloading maven distribution
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM MVNW_VERBOSE - true: enable verbose log; others: silence the output
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ---------------------------------------------------------------------------- @REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0)
@echo off @SET __MVNW_CMD__=
@REM set title of command window @SET __MVNW_ERROR__=
title %0 @SET __MVNW_PSMODULEP_SAVE=%PSModulePath%
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @SET PSModulePath=
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @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)
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %WRAPPER_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file
SET WRAPPER_SHA_256_SUM=""
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B
) )
IF NOT %WRAPPER_SHA_256_SUM%=="" ( @SET PSModulePath=%__MVNW_PSMODULEP_SAVE%
powershell -Command "&{"^ @SET __MVNW_PSMODULEP_SAVE=
"$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ @SET __MVNW_ARG0_NAME__=
"If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ @SET MVNW_USERNAME=
" Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ @SET MVNW_PASSWORD=
" Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ @IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*)
" Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ @echo Cannot start maven from wrapper >&2 && exit /b 1
" exit 1;"^ @GOTO :EOF
"}"^ : end batch / begin powershell #>
"}"
if ERRORLEVEL 1 goto error $ErrorActionPreference = "Stop"
) if ($env:MVNW_VERBOSE -eq "true") {
$VerbosePreference = "Continue"
@REM Provide a "standardized" way to retrieve the CLI args that will }
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%* # calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties
$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl
%MAVEN_JAVA_EXE% ^ if (!$distributionUrl) {
%JVM_CONFIG_MAVEN_PROPS% ^ Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties"
%MAVEN_OPTS% ^ }
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^ switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) {
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ "maven-mvnd-*" {
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* $USE_MVND = $true
if ERRORLEVEL 1 goto error $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip"
goto end $MVN_CMD = "mvnd.cmd"
break
:error }
set ERROR_CODE=1 default {
$USE_MVND = $false
:end $MVN_CMD = $script -replace '^mvnw','mvn'
@endlocal & set ERROR_CODE=%ERROR_CODE% break
}
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost }
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" # apply MVNW_REPOURL and calculate MAVEN_HOME
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash>
:skipRcPost if ($env:MVNW_REPOURL) {
$MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" }
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')"
if "%MAVEN_BATCH_PAUSE%"=="on" pause }
$distributionUrlName = $distributionUrl -replace '^.*/',''
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$',''
$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain"
cmd /C exit /B %ERROR_CODE% 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"
...@@ -18,18 +18,7 @@ ...@@ -18,18 +18,7 @@
# under the License. # under the License.
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Apache Maven Wrapper debug script, version 3.1.1 # Apache Maven Wrapper debug script, version 3.3.2
#
# Environment Variable Prerequisites
#
# JAVA_HOME (Optional) Points to a Java installation.
# MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
# MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
# MAVEN_DEBUG_ADDRESS (Optional) Set the debug address. Default value is localhost:8000
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
MAVEN_DEBUG_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=${MAVEN_DEBUG_ADDRESS:-localhost:8000}" . "${0%/*}"/mvnw
echo Preparing to execute Maven Wrapper in debug mode
env MAVEN_OPTS="$MAVEN_OPTS" MAVEN_DEBUG_OPTS="$MAVEN_DEBUG_OPTS" "`dirname "$0"`/mvnw" "$@"
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one @REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file @REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information @REM distributed with this work for additional information
...@@ -14,31 +15,13 @@ ...@@ -14,31 +15,13 @@
@REM KIND, either express or implied. See the License for the @REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations @REM specific language governing permissions and limitations
@REM under the License. @REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------- @REM ----------------------------------------------------------------------------
@REM Apache Maven Wrapper debug script, version 3.1.1 @REM Apache Maven Wrapper debug script, version 3.3.2
@REM @REM ----------------------------------------------------------------------------
@REM Environment Variable Prerequisites
@REM
@REM JAVA_HOME (Optional) Points to a Java installation.
@REM MAVEN_BATCH_ECHO (Optional) Set to 'on' to enable the echoing of the batch commands.
@REM MAVEN_BATCH_PAUSE (Optional) set to 'on' to wait for a key stroke before ending.
@REM MAVEN_OPTS (Optional) Java runtime options used when Maven is executed.
@REM MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files.
@REM MAVEN_DEBUG_ADDRESS (Optional) Set the debug address. Default value is localhost:8000
@REM -----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%"=="on" echo %MAVEN_BATCH_ECHO%
@setlocal
IF "%MAVEN_DEBUG_ADDRESS%"=="" @set MAVEN_DEBUG_ADDRESS=localhost:8000
@set MAVEN_DEBUG_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=%MAVEN_DEBUG_ADDRESS%
@call "%~dp0"mvnw.cmd %* @SET __MVNW_ARG0_NAME__=%~nx0
@%~dp0mvnw.cmd %*
@echo "Cannot find %~dp0mvnw.cmd" >&2
@cmd /c exit /b 2
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<parent> <parent>
<groupId>no.nibio.vips</groupId> <groupId>no.nibio.vips</groupId>
<artifactId>vips-parent-pom</artifactId> <artifactId>vips-parent-pom</artifactId>
<version>1.1.0</version> <version>1.1.3</version>
</parent> </parent>
<groupId>no.nibio</groupId> <groupId>no.nibio</groupId>
<artifactId>VIPSCore</artifactId> <artifactId>VIPSCore</artifactId>
<packaging>war</packaging> <packaging>war</packaging>
<version>3.0.2</version> <version>3.0.3-SNAPSHOT</version>
<name>VIPSCore</name> <name>VIPSCore</name>
<url>http://maven.apache.org</url> <url>http://maven.apache.org</url>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<dependency> <dependency>
<groupId>no.nibio.vips</groupId> <groupId>no.nibio.vips</groupId>
<artifactId>VIPSCommon</artifactId> <artifactId>VIPSCommon</artifactId>
<version>3.0.1</version> <version>3.0.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
...@@ -147,17 +147,11 @@ ...@@ -147,17 +147,11 @@
</tags> </tags>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId> <artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version> <version>3.4.0</version>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
</project> </project>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment