From 58138b8bb3680eb9262305849e817caf267f1472 Mon Sep 17 00:00:00 2001 From: Version Upgrade Date: Mon, 18 Aug 2025 06:02:48 +0000 Subject: [PATCH 1/2] Automated commit for Q Code Transformation Job: 7dadfaad-b859-4d71-b5c3-97f9a6cf0710 --- .mvn/wrapper/maven-wrapper.properties | 3 +- mvnw | 439 ++++++++++-------- mvnw.cmd | 303 +++++++----- pom.xml | 79 ++-- .../nurkiewicz/download/MainApplication.java | 2 +- .../filter/Sha512ShallowEtagHeaderFilter.java | 11 +- 6 files changed, 497 insertions(+), 340 deletions(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index f95f1ee..546a64e 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -16,4 +16,5 @@ # 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 +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip +distributionSha256Sum=0d7125e8c91097b36edb990ea5934e6c68b4440eef4ea96510a0f6815e7eeadb diff --git a/mvnw b/mvnw index 19529dd..3228c76 100755 --- a/mvnw +++ b/mvnw @@ -21,239 +21,312 @@ # ---------------------------------------------------------------------------- # Apache Maven Wrapper startup batch script, version 3.3.2 # +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# # 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 +# 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 # ---------------------------------------------------------------------------- -set -euf -[ "${MVNW_VERBOSE-}" != debug ] || set -x +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 -# OS specific support. -native_path() { printf %s\\n "$1"; } +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +mingw=false case "$(uname)" in -CYGWIN* | MINGW*) - [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" - native_path() { cygpath --path --windows "$1"; } +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 -# 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 [ -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." >&2 + 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" - 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 - )" || : + \unset -f command 2>/dev/null + \command -v java + )" + fi +fi - 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 +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." >&2 +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" >&2 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 + )" } -# 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 +# 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 } -verbose() { :; } -[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} -die() { - printf %s\\n "$1" >&2 +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then exit 1 -} +fi -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:]' -} +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" -# 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" +########################################################################################## +# 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 ..." -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 + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.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 - 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-,maven-mvnd--}/ -[ -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" -} + done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" -if [ -d "$MAVEN_HOME" ]; then - verbose "found existing MAVEN_HOME at $MAVEN_HOME" - exec_maven "$@" + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") 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 + 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 - die "cannot create temp dir" + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 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##*/}" + 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 - -# 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")" + 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 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 +# 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 "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then - distributionSha256Result=true + 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." >&2 - echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' 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 + 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 -# 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" +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 -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 "$@" +# 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 --git a/mvnw.cmd b/mvnw.cmd index b150b91..3124d18 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -1,4 +1,3 @@ -<# : batch portion @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @@ -21,129 +20,187 @@ @REM ---------------------------------------------------------------------------- @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 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 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 ---------------------------------------------------------------------------- -@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 #> +@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. >&2 +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. >&2 +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. >&2 +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. >&2 +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.3.2/maven-wrapper-3.3.2.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.3.2/maven-wrapper-3.3.2.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 "&{"^ + "Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash;"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Error 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Error 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Error '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% -$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-,maven-mvnd--}/ -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" +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml index 95eaeb5..bedfafc 100644 --- a/pom.xml +++ b/pom.xml @@ -1,44 +1,70 @@ - + + 4.0.0 com.nurkiewicz.download download-server 0.0.1-SNAPSHOT + 21 UTF-8 4.1.1.RELEASE + 21 + 21 + 21 org.springframework.boot spring-boot-starter-parent - 1.2.3.RELEASE + 3.4.5 + + + + jakarta.servlet + jakarta.servlet-api + 6.1.0 + + + org.codehaus.groovy + groovy-all + 3.0.24 + pom + + + org.apache.maven.plugins maven-compiler-plugin - 3.0 - 1.8 - 1.8 + ${java.version} + + + QCT-MavenCentral-Access + Maven Central + default + https://repo.maven.apache.org/maven2 + + io.spring.repo.maven.milestone http://repo.spring.io/milestone/ - false + + false + org.springframework spring-test - 4.1.6.RELEASE test @@ -56,27 +82,28 @@ commons-io commons-io - 2.4 + 2.19.0 commons-codec commons-codec - 1.10 org.springframework.boot spring-boot-starter-web - 1.2.3.RELEASE + + + jakarta.servlet + jakarta.servlet-api + test org.springframework.boot spring-boot-starter-actuator - 1.2.3.RELEASE org.springframework.boot spring-boot-starter-test - 1.2.3.RELEASE org.springframework @@ -90,67 +117,59 @@ spock-core 1.0-groovy-2.4 test + + + junit + junit + + com.google.guava guava - 18.0 + 23.0 cglib cglib-nodep - 3.1 + 3.3.0 org.springframework spring-beans - 4.1.6.RELEASE org.springframework spring-context - 4.1.6.RELEASE org.springframework spring-context-support - 4.1.6.RELEASE org.springframework spring-webmvc - 4.1.6.RELEASE org.springframework spring-web - 4.1.6.RELEASE org.springframework spring-aop - 4.1.6.RELEASE org.springframework spring-core - 4.1.6.RELEASE org.springframework spring-expression - 4.1.6.RELEASE - - - org.springframework - spring-test - 4.1.6.RELEASE - test org.codehaus.groovy groovy-all - 2.4.3 + pom diff --git a/src/main/java/com/nurkiewicz/download/MainApplication.java b/src/main/java/com/nurkiewicz/download/MainApplication.java index 3bccd44..fe10ce1 100644 --- a/src/main/java/com/nurkiewicz/download/MainApplication.java +++ b/src/main/java/com/nurkiewicz/download/MainApplication.java @@ -7,7 +7,7 @@ class MainApplication { public static void main(String[] args) { - Integer temp = new Integer("1234"); + Integer temp = Integer.valueOf("1234"); SpringApplication.run(MainApplication.class, args); } } diff --git a/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java b/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java index 50b2c90..4b1979c 100644 --- a/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java +++ b/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java @@ -2,11 +2,18 @@ import com.google.common.hash.HashCode; import com.google.common.hash.Hashing; +import java.nio.charset.StandardCharsets; +/** + * Custom implementation of ShallowEtagHeaderFilter that uses SHA-512 for ETag generation + * instead of the default algorithm. + */ public class Sha512ShallowEtagHeaderFilter extends ShallowEtagHeaderFilter { - @Override - protected String generateETagHeaderValue(byte[] bytes) { + /** + * Creates a SHA-512 based ETag value. + */ + protected String createETagValue(byte[] bytes) { final HashCode hash = Hashing.sha512().hashBytes(bytes); return "\"" + hash + "\""; } From 900f3ee22da752e34b27e7819097382c93f55443 Mon Sep 17 00:00:00 2001 From: Version Upgrade Date: Mon, 18 Aug 2025 06:02:54 +0000 Subject: [PATCH 2/2] 7dadfaad-b859-4d71-b5c3-97f9a6cf0710 --- .../download/DownloadController.class | Bin 0 -> 5217 bytes .../com/nurkiewicz/download/ExistingFile.class | Bin 0 -> 10513 bytes .../com/nurkiewicz/download/FilePointer.class | Bin 0 -> 605 bytes .../com/nurkiewicz/download/FileStorage.class | Bin 0 -> 324 bytes .../nurkiewicz/download/FileSystemPointer.class | Bin 0 -> 4170 bytes .../nurkiewicz/download/FileSystemStorage.class | Bin 0 -> 1719 bytes .../nurkiewicz/download/MainApplication.class | Bin 0 -> 891 bytes .../download/ThrottlingInputStream.class | Bin 0 -> 1804 bytes target/classes/logback.xml | 15 +++++++++++++++ .../compile/default-compile/createdFiles.lst | 8 ++++++++ .../compile/default-compile/inputFiles.lst | 8 ++++++++ .../default-testCompile/createdFiles.lst | 3 +++ .../default-testCompile/inputFiles.lst | 3 +++ .../com/nurkiewicz/download/FileExamples.class | Bin 0 -> 1165 bytes .../nurkiewicz/download/FileStorageStub.class | Bin 0 -> 1480 bytes target/test-classes/download.txt | 1 + .../filter/Sha512ShallowEtagHeaderFilter.class | Bin 0 -> 1373 bytes 17 files changed, 38 insertions(+) create mode 100644 target/classes/com/nurkiewicz/download/DownloadController.class create mode 100644 target/classes/com/nurkiewicz/download/ExistingFile.class create mode 100644 target/classes/com/nurkiewicz/download/FilePointer.class create mode 100644 target/classes/com/nurkiewicz/download/FileStorage.class create mode 100644 target/classes/com/nurkiewicz/download/FileSystemPointer.class create mode 100644 target/classes/com/nurkiewicz/download/FileSystemStorage.class create mode 100644 target/classes/com/nurkiewicz/download/MainApplication.class create mode 100644 target/classes/com/nurkiewicz/download/ThrottlingInputStream.class create mode 100644 target/classes/logback.xml create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst create mode 100644 target/test-classes/com/nurkiewicz/download/FileExamples.class create mode 100644 target/test-classes/com/nurkiewicz/download/FileStorageStub.class create mode 100644 target/test-classes/download.txt create mode 100644 target/test-classes/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.class diff --git a/target/classes/com/nurkiewicz/download/DownloadController.class b/target/classes/com/nurkiewicz/download/DownloadController.class new file mode 100644 index 0000000000000000000000000000000000000000..bca7a018e52d91ab9c6abca29fe54d73c2a99782 GIT binary patch literal 5217 zcmd5=X?NSk6}=-HM8`LR<_rys;!r`(XcUMTb^TAtA-<>xSs9kONPKbQ%UQ_&8krh zrWMlEwO7SHWQeO`TII2)P1iH6B{@mpvA!wWS<>8^!=Z|!uNrH%v!X3~UQL_eW7_bR z?Q&tt-%;H&tJ?hhS@|ly(VxXs&TuZsG7!7A{RKUq8mpjWyzqwj`l?- zHpLX{+?HuLKAt;O+=aUZI&5dG>Kfk)AH!b2pI!AFg{P?K?M(~_$kiNwu#P>5mNMY zukMlsGqZD-#%JeeMrCNWu!J1y!I0e0&jbc;vY|lBh+Q@cxdmy7pR0Hn!%Qs8x>c5u zT#P!j$?VAHnq#?Sbeq{mgvT+WVpJ;H;}~Vr@sn9!UrVVcw;+&`kOlTlnU*nAUtKhu zIek&W%}&`Ry}F<~rtF7q4FJvT7`tu1WF3 zmSxjT%qaZ!Q0(>>4c&6Jie6&gT-WsG0&TeN*=yW*nVMd^iI)C6H)BbU0|P+ZH-}P*PT+Z$#{OQ8H?H?vv-u57XrUcv(`#e3OpFAWv8Vsdy}7qWr0Dse5hO#2i7Q&j zd@6TU_0`3)-n;ck*30Vl!mS}nR35E%xx`tUAkz7@pg!L0pxG#+G=8|HhP``F2=wzD zl~@b6RGSzH4+yNsC6Z{-ZWzDN+RpwTJSj;NnV*u*5nF85ut1|!_VR4AZS1%}y6A_y z^ozjl+l$(L@_3t6sp7-g^)_w^42+KEErKck5!?1$&(Xuvyqm#QZYs2E^eh^4Jl(e& z&&oT*?^SrHW$*`q$CJzdCVRAQ=?q?A)oC2Lqll>fC8_>p6)vm{EDpRT2VPfUqsHEw zviFvXRsY*NviGhE6PGi1Utl^J>n%hD)%`JzKjA|KAF22lpD;6S-1SWBioIfJQ+{Bx z?&{%bLZFkydZYL6sO7^&L7ATL&vI_>lx?rnYaz*_)iP2)H!YlF-HlFf{bQhV=e1E< zgpx<}YPD#xEDNZUmSs32Ro!(BSHWMHFt*twZhHzo7dW!>RGxDJTkxi}hj$Vf_x~Nr*X*_79G`nR2fW>-aD=OlVuHOx!E8+8QTDjb zm&yw<+wJriUsL?;rjlvC1rNb9R3}w^OmXdecjx;DuHm-9uG9_e2d?4Z4g5sDkNy)q zUva`NUwf8%!Q0wiY;-1hJ$C7MulD0U-U7V&ZPX0h`vDBI^+T=egG`-}-B|1YA z?O^_IPzJuiy=~|pxPd|69Fh+K8v{O^q4x`<%@7XYjBkTGgT+lg9BlI8V8{pQ-wyhY zFX`XFuggAA4u?+5q-FA>lO&``YLSpSzs2#3`GNlHcwhsF8oUy{FfAz z-#f8_D%vQP88#H#;|ul0_FVicPF+Vqisj!ud)~bRt%>i z7!;rKoC}5Qo%1m$cnXe>fkmKo40&Q;(Tc_J$W{!w)-cf5bz*D76+fQjA2Ms~Gk(G# vdK&BO%i#WiTYd(=!*hP?dAx{M!m(GIV{bIa-o|_Qlq=Je^k;mAFVOWr3YW3} literal 0 HcmV?d00001 diff --git a/target/classes/com/nurkiewicz/download/ExistingFile.class b/target/classes/com/nurkiewicz/download/ExistingFile.class new file mode 100644 index 0000000000000000000000000000000000000000..20a4eaf569841a8a25763bc41eda89360fed134d GIT binary patch literal 10513 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 Mi2?&Ty4Y8jTUJ(EM*si- literal 0 HcmV?d00001 diff --git a/target/classes/com/nurkiewicz/download/FileSystemPointer.class b/target/classes/com/nurkiewicz/download/FileSystemPointer.class new file mode 100644 index 0000000000000000000000000000000000000000..7abe3350a41a25b01b6f70d3e6a48010fb47ff95 GIT binary patch literal 4170 zcmb7HSwq~`89movYZ!!q@oopwV4SekV>_X#4RH(v0xnw%CB^9`W;BD0Mw)0ecIurfa&nOOhsS4AgFuwhw*i@9A^h^GTXP0~5D-V03l$E$2J;-0xog^`BdB02skP zlGud?4UIZ>V~;}HW#fvGwhbqro?E$WW_*P`!Dhj3Wo=uV#qN=cznaw#nJ)MEU<^4t~8n42|+guSCWj^Q4%=^HHOzPm*Ze3IzI zy&B%3<34mL=yC3ZRCnI+iTEJN2tGM1CP((uGSAw(aYDoWIvzle!oFG)StSsb{)mX93q2478Lkh<#D>YiqhViJRxS-I!O^CfqNu0x|d>z{YAf;>t4*-lSbj0J& zy8eV)cCxWTI`O!UNlZ~iw&~SMR4!YF^w4ojT?5>C~&#@7oe^ps*-dcTe(JVAmA#+t}7WB5;4{whZ$-*9{? zwkBAl#5%!}SjHs{PwMy}KBSNe2r2uPot_I8-JoWYZcfA_E4L;4pvYQ~HExvsNAOV% zhK?0vD4d8x% zh0||42-n`oW)+s>m?CDw#!}14+fG1~WLtMVD{nc5Evibg9XdK(QCcgNHW&Mrz*FqT zCF^=%Rnp;$P(_am!CVekq}HnnlXVbZtk+4lugFdsk0o$jp{d$egw>Df__zQ}R8~(= ze^SS%D*I!cja)XuXLNiPpW|jSpDG(R*ZV*mSVc^iWP5!<#}}m>-8M@8jGMJ`mYGfB zS$tW;S9E+8U*paX#OhlGlY2YRy|9-XFS?o48OydU>G`a4hZ(h*z&CV!6W0Z4Bt-?qXa~X%wH=%-x6xmQCBMfabroZZD=M9e%<;{fw8{MMmupd>Z+tzP+>{S6tFW=E?nMJ2^W2a#CxUOw0 z6yJiCcMQKQ?4PaVt1%j`b7iPKr>w{LreU5J_<) z7u?vA8QYQ@0X4`&vyKwjJr~@vmocSkszn|(^qv%T@?aQsUBBdeMls~Jl)&q3I9;l% zbr05)*ubWSKTFrYrO+KHI_Nf*bH!aV(;?vSAeb;RzUy66cs{|P&-4xa6Ul*1^xixv;ivc+pE8n)6kg#!rjQ_VJG<0fgzKX*;{1Thm6@2Zx!+OJE zr&vAMgrC!HH?_})!Y}Yk{t6idG32x3HqI^I#_)3A>(DlEegh+~PD{c4QZS8$)qQv@ zs&{X|;Bn4$v(^(qJqHNfvVb^UpQMg9--DgG_Ye`FK0x3CCo4>A}F(ozNS zYuq4I;qOcoM2bjn;se|L&&B*JMf@fJ`dfPPjODMyd4^&TFoS)Y_;4y4Qevjo`qoic zhnXsJ;H{&adRoxR%r(i#!8)GVO4>!HfJdqL3slw!)i=u38KXWQO>b3O6~L literal 0 HcmV?d00001 diff --git a/target/classes/com/nurkiewicz/download/FileSystemStorage.class b/target/classes/com/nurkiewicz/download/FileSystemStorage.class new file mode 100644 index 0000000000000000000000000000000000000000..ea25663dad4adc2a8e9b3b096be436ef30dc4876 GIT binary patch literal 1719 zcma)6Yg5}s6g>-eWE&NT6O%%cCeG8w1SKs=+nA=IP}-#CQ5@Vd{j`?X%7U!*$g2?A z>96P?>0<`cW~M)&KPr=}hlxoUh7ZzeSNC!5xo7WxZ~plgzyh{%7{aiDl!-LXFpO{W z7u<5W=U8jaZDDJMGxO4u`Vqr$socmSgRFs^i4m9#Wm|PDFYtGy*p>FrR!i-AuHr3g zS-PUW*VCd?*UIOPAa_?e4EdV!9joWI=eDhyavb4TGZ+z1PuFmVANGGrW~7hT@#F`O%v2dtw* z0yM>7T7q#_%@Y#?HEi+8c%3zbE8%@ zaE)?Aaiogq%HalX8n|WRHcI_}i8+Ho2|`jC&L2UXRGdQ*(_s%Q429#eHw@f4RlnAi z^tAAEn1K}ryvuMl377zl$ov?e7??A09}lRhQ5}JnuC>&pO%_xg!S?Q1l(s9Hqv zSWS9jHRv>j|BN?7(n+>9cN^T7;XXM`>F1IpRH>a9d+-)iNqcSSwc<|RO5jIKY;HbT zswN^iN)1CQ2xND%?F)>&+L2z8^M3P4O5M1{r$e6Tfsl`{2>o2O z*169+f+RwvXY11OxDI@xXysJZ%%4bBKiQ*@sCnB>CQq&&U96b3iEueGTV_M~F-&d* zo|YZakUdFFTJSujd8kGLIvvZR8;*x|h<{i4I~L6+UnsrT71pBabd@JOO_}c=YiujJ z7caHN593IoaruR|EPwwO5 z%4-z2X7+LY0Oi%!nAy5>fZ2zs$I<`1CIr fVbN@$=mN#vh#c#9Mr)q-o3u8_>W81edie1zsYbpL literal 0 HcmV?d00001 diff --git a/target/classes/com/nurkiewicz/download/MainApplication.class b/target/classes/com/nurkiewicz/download/MainApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..35643004cf6aa8b5afc62649fa5b8e5e45b8cdca GIT binary patch literal 891 zcma)4O>fgc5PeJ1ICV|arX^6mznkQM#m6nEQi+5FN-1hkIB?oH8+TiKH`=Tl#J}Q1 z#epBdk3!74fmkR9e3b!QnNLvqRLQy`t11&A3oMR1OYB%ondp4_(oX~3&Y@@@gx(6V}{*kZ-Mu% zkt*)A3a)ud$HN8%M>-8vW=^G;$>>Ws(leE4J_--GRQr=jA|r04RzB+3@~|D?3K|S; zZQ^h`aol6WQ!&%#G#qMe!+!28WKu6CQw+mmS>1$Br=3rQs{R(bj5*TO=4TsrwHnJf zGklnc!V~0naEH|D>XBfm^`sK-vUDiS2N%mw@9Bsq18$_d&z)s^ET;^u-hYbV9!N4d;S+kb{Z+i)Q4u^zqWPERWgvG{$RnMk~ru7mA=Ci27$ znPKNBQ&y&8Ag9u)qLjAz#3+BSw@l1@OgyuiRL#{C^P#<>`4v>{;4W&kvF>x0b`}g* z=`W;{IZyi=*w-AsM%KZAhaIxPMF6hj2HjS16Ss)OCBLQ9(XH3LbFB92we~qSKQ36- uQ6khQwl&)JAZKe_WZ*XL5LQ8zO1nod+^5?LBe$#YL2e)7Q69qZ82Alys^<{^ literal 0 HcmV?d00001 diff --git a/target/classes/com/nurkiewicz/download/ThrottlingInputStream.class b/target/classes/com/nurkiewicz/download/ThrottlingInputStream.class new file mode 100644 index 0000000000000000000000000000000000000000..de1035ce90ac9ee256eef4b686ce8bc190509203 GIT binary patch literal 1804 zcmb7EU31e$6g?|DaqP+o`J!z?N(=>ThoCmJ&^7@YlMtMmk0DHkmX|8>lBkg-SC$Ly zZ)zVp17@ZV{DA(b4(Ce33C5j)2Yc_{-FwctAKHKa`{xyab!-=4Ad^GZ#0W+erhl=2 zvn@BU>VCT$?L?urTMDCVuJ155ln?;CumuIH#~IpQ`h;!Y6eez zFR+`|!-Fu0BG2{r-^PmUa9>9XvyCBKtAajmVge@=CR_Hi+V7F>+}Gibb^^btU^Rqq zKM3|cZP9E6zSWIfkGAi0!%+K?^}vpF!)>{d4p$49!gLNZCT4LmRr}u23OU>Pwd;mj zAzQ9jHl$jgnD`WPbg(uQ#FEs-eM;O53M1vmwZwB;Jd4Djr(REdXH1;M=M3%~x@`g7 zuEZ@kZ{mW0=2?E%v-dnLm=zOMEb&^)4iDvay|OF*WfPaATO*ju&*8%~pA6^*^w&e5V;$yW;FC#6KapvC&v!@R zh(Zz>QFJFsNan)!GZjc}W`u2_Pj-stXM=Q$%%c?3Rg;)L-Aqa+xz=zq&3c1YWgr?jjMDqFJ(O4L+LMWk~)sYbt@lBHQ(pXV-vTArMem8^Mfadq`JaO z(yy_kP3Ml%OW>D}wP@^}7M0|YNRigL8bpef&i7D0nzW?jD;(U*|D$$`RZ;O=u^n4P zDakXFB42r1a Kh1=9>p#B + + + + + + + + + + %d{HH:mm:ss.SSS} | %thread | %-5level | %logger{1} | %msg%n + + + + \ No newline at end of file diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..3a93736 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,8 @@ +com/nurkiewicz/download/FileSystemPointer.class +com/nurkiewicz/download/MainApplication.class +com/nurkiewicz/download/FilePointer.class +com/nurkiewicz/download/ExistingFile.class +com/nurkiewicz/download/ThrottlingInputStream.class +com/nurkiewicz/download/FileStorage.class +com/nurkiewicz/download/FileSystemStorage.class +com/nurkiewicz/download/DownloadController.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..7019ee0 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,8 @@ +/data/code/src/main/java/com/nurkiewicz/download/DownloadController.java +/data/code/src/main/java/com/nurkiewicz/download/ExistingFile.java +/data/code/src/main/java/com/nurkiewicz/download/FilePointer.java +/data/code/src/main/java/com/nurkiewicz/download/FileStorage.java +/data/code/src/main/java/com/nurkiewicz/download/FileSystemPointer.java +/data/code/src/main/java/com/nurkiewicz/download/FileSystemStorage.java +/data/code/src/main/java/com/nurkiewicz/download/MainApplication.java +/data/code/src/main/java/com/nurkiewicz/download/ThrottlingInputStream.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..70fb12e --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1,3 @@ +com/nurkiewicz/download/FileExamples.class +org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.class +com/nurkiewicz/download/FileStorageStub.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..2cdaf68 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1,3 @@ +/data/code/src/test/java/com/nurkiewicz/download/FileExamples.java +/data/code/src/test/java/com/nurkiewicz/download/FileStorageStub.java +/data/code/src/test/java/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.java diff --git a/target/test-classes/com/nurkiewicz/download/FileExamples.class b/target/test-classes/com/nurkiewicz/download/FileExamples.class new file mode 100644 index 0000000000000000000000000000000000000000..b5d072ea8177196ad1cdfc6e7bf069ac679634ea GIT binary patch literal 1165 zcmaJ>YflqV5IsW++b&CKOF>akK^`p#tKz$e4;~4z0YfQ~Ph{J!b#c3Ewp&4em4*a} zB>n(@lyUCe-J*%mCZGR>KRVm zZ3dfcM7WbsOd^khf;kQIxI>ugMr-}pXnwLy7I|Rz-R{B0W@-H(08R&zUc#yjyQo3O zT^5YT76`V$^}7`)|J}Ewc3;C19uN{yLBe!bh)^_n_>qRkqN&u@HnZKXY^{ZKs-IozgLYAe=l!N z=#R$8XO?Sr_)65Wyt{#78DS#qMKN4Vu(Un=_F@O6Tc%RFNV&hpQn>%1fVHS2U1Az>&zi7!ACfjz%ZU;g=0A+@d7UyKEZ#Fh~ttZ01TaD;smqj cSUABwxqc`ZlVlu#C;5>03G}n~wJf~)2Rnih0RR91 literal 0 HcmV?d00001 diff --git a/target/test-classes/com/nurkiewicz/download/FileStorageStub.class b/target/test-classes/com/nurkiewicz/download/FileStorageStub.class new file mode 100644 index 0000000000000000000000000000000000000000..2efc0cbd6e420d7b35faf14abf006e357731bcfa GIT binary patch literal 1480 zcma)6Yi}Dx6g}fdH+HveFik>AfrLI{C(tcWo(_SM2Lv1%;WR?*gaor}gua4XdVyHUa)0pw_l8;$j5x72%_xfYm=|-w2aAD`$ zod+A6we<)0?{BV=$N)OEIttuPwTP>D#lx#UUc(&2=yN&w%-pFTQW+6xYLw?OtM44E z*L_^Wb%BXvUjjF3=XZaq9UuY{ks5IjmC9)dHUawkt zz9BrkCva_C28N9#kXtoPC2*;xWA$~~X{cmJHX`1z&q5jP%0#>K@G@r~YL=ohHoGHD zTV+vNI&QjN7PvVie^Om?e?H~3$)%}ovUloMhWlHxJM=!erR+n~+?I*#DAtcm3U%F% zrA-sUZ~ZU$<+0q4J7dK$Uk;<;yDipDnuKZ)#^qBl^OlQ2VD_6dwz{Ksbx$*6cjMSt z>AHwC7Y8-!y2sUW><>(`AM_Z5GWJPV1*@jhHL;2<{oX!PIW%n9$2O2BxWRT}T1+fW z@{eScG6gxSdKUAXFc}EE%l{QOWjLp@+;co}eV?a*Qc&g>|A6?Fn+!hS>OO;m<3q0g zKmi}2%9Fq{J|>7W)|45_xkGrR3rm0EQWi^xnED+r|AOKn=8tgW=@FKmQYYKTEg{GK z6sb&eo#Bh0?faM>;0%2b5i2At@JZiNT*ar{p*r0Uh&nds4*5>yRJ$(5e0401m literal 0 HcmV?d00001 diff --git a/target/test-classes/download.txt b/target/test-classes/download.txt new file mode 100644 index 0000000..f6ea049 --- /dev/null +++ b/target/test-classes/download.txt @@ -0,0 +1 @@ +foobar \ No newline at end of file diff --git a/target/test-classes/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.class b/target/test-classes/org/springframework/web/filter/Sha512ShallowEtagHeaderFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..dea526f4e01deb2b0b37951b00fd3e037a0d8f0f GIT binary patch literal 1373 zcmbtUTTc@~6#k~PU07DZiXdJP%B=-t1qCl9B({NIQpBXBKJYZ%4&9~Ooo06m;h*?3 z^hxBwAK;HNp6xcFgi=lHre|i(oZFo5ob&7VvN(&^YEZ7g7seCYILkR|CQl21@a(lUT$qA{%CIjw^v_JaPa P*rbzAyVrP&947w&7MOR; literal 0 HcmV?d00001