This is an automated email from the ASF dual-hosted git repository. rgoers pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-flume-rpc.git
commit 579b77c28000e19c3ee10aca1677202dfa951f72 Merge: c309af3 06692db Author: Ralph Goers <[email protected]> AuthorDate: Fri Jun 26 18:37:48 2026 -0700 Upgrade thrift version .asf.yaml | 98 ++++++++++++++++ flume-rpc-avro/pom.xml | 10 +- mvnw | 308 +++++++++++++++++++++++++++++++++++++++++++++++++ mvnw.cmd | 205 ++++++++++++++++++++++++++++++++ pom.xml | 2 +- 5 files changed, 613 insertions(+), 10 deletions(-) diff --cc .asf.yaml index 0000000,0000000..7a2c143 new file mode 100644 --- /dev/null +++ b/.asf.yaml @@@ -1,0 -1,0 +1,98 @@@ ++# ++# 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. ++# ++ ++# `.asf.yaml` is a branch-specific YAML configuration file for Git repositories to control features such as notifications, GitHub settings, etc. ++# See its documentation for details: https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features ++ ++notifications: ++ # GitHub already provides notifications for PRs and issues. ++ # Please don't duplicate that noise here! ++ commits: [email protected] ++ jira_options: link label ++github: ++ description: "Apache Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log-like data" ++ homepage: https://flume.apache.org/ ++ autolink_jira: ++ - FLUME ++ labels: ++ - apache ++ - api ++ - java ++ - jvm ++ - library ++ - flume ++ ++ # Pull Request settings: ++ # https://github.com/apache/infrastructure-asfyaml#pull-request-settings ++ pull_requests: ++ # allow auto-merge ++ allow_auto_merge: true ++ # enable updating head branches of pull requests ++ allow_update_branch: true ++ # auto-delete head branches after being merged ++ del_branch_on_merge: true ++ ++ # Enforce squashing while merging PRs. ++ # Otherwise, the git log gets polluted severely. ++ enabled_merge_buttons: ++ squash: true ++ merge: false ++ rebase: false ++ ++ features: ++ issues: true ++ ++ # Disable protected branches, since we use rulesets now ++ protected_branches: ~ ++ ++ rulesets: ++ - name: "Branch protection" ++ type: branch ++ branches: ++ includes: ++ - "~DEFAULT_BRANCH" ++ # All reviews must be addressed before merging ++ required_conversation_resolution: true ++ # Require checks to pass before merging ++ required_status_checks: ++ # The GitHub Actions app ++ - app_slug: github-actions ++ name: "build (ubuntu-latest)" ++ # The GitHub Advanced Security app ++ - app_slug: github-advanced-security ++ name: "CodeQL" ++ # At least one positive review must be present ++ required_pull_request_reviews: ++ required_approving_review_count: 0 ++ # Use raw rules, until a convenience notation for `restrict_update` is introduced. ++ # See: https://github.com/apache/infrastructure-asfyaml/issues/96 ++ # ++ # The raw rules need to follow the syntax given in: ++ # https://docs.github.com/en/rest/repos/rules?apiVersion=2026-03-10#update-a-repository-ruleset ++ - name: "Tag protection" ++ target: tag ++ enforcement: active ++ bypass_actors: [] ++ conditions: ++ ref_name: ++ include: ++ - "refs/tags/rel/*" ++ exclude: [] ++ rules: ++ - type: deletion ++ - type: non_fast_forward ++ - type: update diff --cc flume-rpc-avro/pom.xml index 3dfdfb9,92f87b8..1bee65a --- a/flume-rpc-avro/pom.xml +++ b/flume-rpc-avro/pom.xml @@@ -77,13 -76,12 +76,6 @@@ <artifactId>flume-syslog-source</artifactId> <scope>test</scope> </dependency> -- <!-- - <dependency> - <groupId>io.dropwizard.metrics</groupId> - <artifactId>metrics-core</artifactId> - <version>${dropwizard-metrics.version}</version> - </dependency> - --> - <dependency> - <groupId>io.dropwizard.metrics</groupId> - <artifactId>metrics-core</artifactId> - <version>${dropwizard-metrics.version}</version> - </dependency>--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> diff --cc mvnw index 0000000,0000000..8d937f4 new file mode 100755 --- /dev/null +++ b/mvnw @@@ -1,0 -1,0 +1,308 @@@ ++#!/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.2.0 ++# ++# Required ENV vars: ++# ------------------ ++# JAVA_HOME - location of a JDK home dir ++# ++# Optional ENV vars ++# ----------------- ++# MAVEN_OPTS - parameters passed to the Java VM when running Maven ++# e.g. to debug Maven itself, use ++# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 ++# MAVEN_SKIP_RC - flag to disable loading of mavenrc files ++# ---------------------------------------------------------------------------- ++ ++if [ -z "$MAVEN_SKIP_RC" ] ; then ++ ++ 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. ++cygwin=false; ++darwin=false; ++mingw=false ++case "$(uname)" in ++ CYGWIN*) cygwin=true ;; ++ MINGW*) mingw=true;; ++ Darwin*) darwin=true ++ # 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 ++ ++if [ -z "$JAVA_HOME" ] ; then ++ if [ -r /etc/gentoo-release ] ; then ++ JAVA_HOME=$(java-config --jre-home) ++ fi ++fi ++ ++# 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 ++ JAVACMD="$JAVA_HOME/jre/sh/java" ++ else ++ JAVACMD="$JAVA_HOME/bin/java" ++ fi ++ else ++ JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" ++ fi ++fi ++ ++if [ ! -x "$JAVACMD" ] ; then ++ echo "Error: JAVA_HOME is not defined correctly." >&2 ++ echo " We cannot execute $JAVACMD" >&2 ++ exit 1 ++fi ++ ++if [ -z "$JAVA_HOME" ] ; then ++ echo "Warning: JAVA_HOME environment variable is not set." ++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 ++ ++ basedir="$1" ++ wdir="$1" ++ while [ "$wdir" != '/' ] ; do ++ if [ -d "$wdir"/.mvn ] ; then ++ basedir=$wdir ++ break ++ fi ++ # workaround for JBEAP-8937 (on Solaris 10/Sparc) ++ if [ -d "${wdir}" ]; then ++ wdir=$(cd "$wdir/.." || exit 1; pwd) ++ fi ++ # end of workaround ++ done ++ printf '%s' "$(cd "$basedir" || exit 1; pwd)" ++} ++ ++# concatenates all lines of a file ++concat_lines() { ++ if [ -f "$1" ]; then ++ # Remove \r in case we run on Windows within Git Bash ++ # and check out the repository with auto CRLF management ++ # enabled. Otherwise, we may read lines that are delimited with ++ # \r\n and produce $'-Xarg\r' rather than -Xarg due to word ++ # splitting rules. ++ tr -s '\r\n' ' ' < "$1" ++ fi ++} ++ ++log() { ++ if [ "$MVNW_VERBOSE" = true ]; then ++ printf '%s\n' "$1" ++ fi ++} ++ ++BASE_DIR=$(find_maven_basedir "$(dirname "$0")") ++if [ -z "$BASE_DIR" ]; then ++ exit 1; ++fi ++ ++MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR ++log "$MAVEN_PROJECTBASEDIR" ++ ++########################################################################################## ++# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central ++# This allows using the maven wrapper in projects that prohibit checking in binary data. ++########################################################################################## ++wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" ++if [ -r "$wrapperJarPath" ]; then ++ log "Found $wrapperJarPath" ++else ++ log "Couldn't find $wrapperJarPath, downloading it ..." ++ ++ if [ -n "$MVNW_REPOURL" ]; then ++ 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 ++ wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") ++ fi ++ ++ if command -v wget > /dev/null; then ++ log "Found wget ... using wget" ++ [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" ++ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then ++ 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 ++########################################################################################## ++# End of extension ++########################################################################################## ++ ++# If specified, validate the SHA-256 sum of the Maven wrapper jar file ++wrapperSha256Sum="" ++while IFS="=" read -r key value; do ++ case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; ++ esac ++done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" ++if [ -n "$wrapperSha256Sum" ]; then ++ wrapperSha256Result=false ++ if command -v sha256sum > /dev/null; then ++ if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then ++ wrapperSha256Result=true ++ fi ++ elif command -v shasum > /dev/null; then ++ if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then ++ wrapperSha256Result=true ++ fi ++ else ++ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." ++ echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." ++ exit 1 ++ fi ++ if [ $wrapperSha256Result = false ]; then ++ echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper 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 wrapperSha256Sum property." >&2 ++ exit 1 ++ fi ++fi ++ ++MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" ++ ++# For Cygwin, switch paths to Windows format before running java ++if $cygwin; then ++ [ -n "$JAVA_HOME" ] && ++ 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 ++ ++# Provide a "standardized" way to retrieve the CLI args that will ++# work with both Windows and non-Windows executions. ++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 "$@" diff --cc mvnw.cmd index 0000000,0000000..c4586b5 new file mode 100644 --- /dev/null +++ b/mvnw.cmd @@@ -1,0 -1,0 +1,205 @@@ ++@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.2.0 ++@REM ++@REM Required ENV vars: ++@REM JAVA_HOME - location of a JDK home dir ++@REM ++@REM Optional ENV vars ++@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands ++@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending ++@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven ++@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 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% ++ ++@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%=="" ( ++ powershell -Command "&{"^ ++ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ ++ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ ++ " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ ++ " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ ++ " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ ++ " exit 1;"^ ++ "}"^ ++ "}" ++ if ERRORLEVEL 1 goto error ++) ++ ++@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=%* ++ ++%MAVEN_JAVA_EXE% ^ ++ %JVM_CONFIG_MAVEN_PROPS% ^ ++ %MAVEN_OPTS% ^ ++ %MAVEN_DEBUG_OPTS% ^ ++ -classpath %WRAPPER_JAR% ^ ++ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ ++ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* ++if ERRORLEVEL 1 goto error ++goto end ++ ++:error ++set ERROR_CODE=1 ++ ++:end ++@endlocal & set ERROR_CODE=%ERROR_CODE% ++ ++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" ++if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" ++:skipRcPost ++ ++@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' ++if "%MAVEN_BATCH_PAUSE%"=="on" pause ++ ++if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% ++ ++cmd /C exit /B %ERROR_CODE%
