From e527af347058d41367a4dcce1c76a8e739a61db0 Mon Sep 17 00:00:00 2001
From: Antoine Rey <antoine.rey@gmail.com>
Date: Fri, 29 Mar 2019 08:44:59 +0100
Subject: [PATCH] Upgrade Maven wrapper to 3.5.4

---
 .mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++++++++++++++++++
 .mvn/wrapper/maven-wrapper.jar           | Bin 47610 -> 50709 bytes
 .mvn/wrapper/maven-wrapper.properties    |   3 +-
 mvnw                                     |  91 +++++++++++++++++-
 mvnw.cmd                                 |  43 ++++++++-
 5 files changed, 248 insertions(+), 6 deletions(-)
 create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java

diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 00000000..1ef8d698
--- /dev/null
+++ b/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2007-present the original author or authors.
+ *
+ * Licensed 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.
+ */
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+    private static final String WRAPPER_VERSION = "0.5.4";
+    /**
+     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+     */
+    private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+        + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + " .jar";
+
+    /**
+     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+     * use instead of the default one.
+     */
+    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+            ".mvn/wrapper/maven-wrapper.properties";
+
+    /**
+     * Path where the maven-wrapper.jar will be saved to.
+     */
+    private static final String MAVEN_WRAPPER_JAR_PATH =
+            ".mvn/wrapper/maven-wrapper.jar";
+
+    /**
+     * Name of the property which should be used to override the default download url for the wrapper.
+     */
+    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+    public static void main(String args[]) {
+        System.out.println("- Downloader started");
+        File baseDirectory = new File(args[0]);
+        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+        // If the maven-wrapper.properties exists, read it and check if it contains a custom
+        // wrapperUrl parameter.
+        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+        String url = DEFAULT_DOWNLOAD_URL;
+        if(mavenWrapperPropertyFile.exists()) {
+            FileInputStream mavenWrapperPropertyFileInputStream = null;
+            try {
+                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+                Properties mavenWrapperProperties = new Properties();
+                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+            } catch (IOException e) {
+                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+            } finally {
+                try {
+                    if(mavenWrapperPropertyFileInputStream != null) {
+                        mavenWrapperPropertyFileInputStream.close();
+                    }
+                } catch (IOException e) {
+                    // Ignore ...
+                }
+            }
+        }
+        System.out.println("- Downloading from: " + url);
+
+        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+        if(!outputFile.getParentFile().exists()) {
+            if(!outputFile.getParentFile().mkdirs()) {
+                System.out.println(
+                        "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+            }
+        }
+        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+        try {
+            downloadFileFromURL(url, outputFile);
+            System.out.println("Done");
+            System.exit(0);
+        } catch (Throwable e) {
+            System.out.println("- Error downloading");
+            e.printStackTrace();
+            System.exit(1);
+        }
+    }
+
+    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+        if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+            String username = System.getenv("MVNW_USERNAME");
+            char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+            Authenticator.setDefault(new Authenticator() {
+                @Override
+                protected PasswordAuthentication getPasswordAuthentication() {
+                    return new PasswordAuthentication(username, password);
+                }
+            });
+        }
+        URL website = new URL(urlString);
+        ReadableByteChannel rbc;
+        rbc = Channels.newChannel(website.openStream());
+        FileOutputStream fos = new FileOutputStream(destination);
+        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+        fos.close();
+        rbc.close();
+    }
+
+}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
index 9cc84ea9b4d95453115d0c26488d6a78694e0bc6..1914b842cfcbb00a843b5c458ad1db942c7aa522 100644
GIT binary patch
delta 13009
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

delta 10126
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
I{@yYF4^#C&JOBUy

diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 6c8c0e08..23fdba01 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1 +1,2 @@
-distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar
diff --git a/mvnw b/mvnw
index 5bf251c0..35ff643b 100755
--- a/mvnw
+++ b/mvnw
@@ -108,13 +108,12 @@ if $cygwin ; then
     CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
 fi
 
-# For Migwn, ensure paths are in UNIX format before anything is touched
+# For Mingw, ensure paths are in UNIX format before anything is touched
 if $mingw ; then
   [ -n "$M2_HOME" ] &&
     M2_HOME="`(cd "$M2_HOME"; pwd)`"
   [ -n "$JAVA_HOME" ] &&
     JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-  # TODO classpath?
 fi
 
 if [ -z "$JAVA_HOME" ]; then
@@ -200,8 +199,89 @@ if [ -z "$BASE_DIR" ]; then
   exit 1;
 fi
 
+##########################################################################################
+# 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.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Found .mvn/wrapper/maven-wrapper.jar"
+    fi
+else
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+    fi
+    if [ -n "$MVNW_REPOURL" ]; then
+      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+    else
+      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+    fi
+    while IFS="=" read key value; do
+      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+      esac
+    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+    if [ "$MVNW_VERBOSE" = true ]; then
+      echo "Downloading from: $jarUrl"
+    fi
+    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+    if $cygwin; then
+      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+    fi
+
+    if command -v wget > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found wget ... using wget"
+        fi
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+            wget "$jarUrl" -O "$wrapperJarPath"
+        else
+            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+        fi
+    elif command -v curl > /dev/null; then
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Found curl ... using curl"
+        fi
+        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+            curl -o "$wrapperJarPath" "$jarUrl" -f
+        else
+            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+        fi
+        
+    else
+        if [ "$MVNW_VERBOSE" = true ]; then
+          echo "Falling back to using Java to download"
+        fi
+        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+        # For Cygwin, switch paths to Windows format before running javac
+        if $cygwin; then
+          javaClass=`cygpath --path --windows "$javaClass"`
+        fi
+        if [ -e "$javaClass" ]; then
+            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Compiling MavenWrapperDownloader.java ..."
+                fi
+                # Compiling the Java class
+                ("$JAVA_HOME/bin/javac" "$javaClass")
+            fi
+            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+                # Running the downloader
+                if [ "$MVNW_VERBOSE" = true ]; then
+                  echo " - Running MavenWrapperDownloader.java ..."
+                fi
+                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+            fi
+        fi
+    fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
 export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-echo $MAVEN_PROJECTBASEDIR
+if [ "$MVNW_VERBOSE" = true ]; then
+  echo $MAVEN_PROJECTBASEDIR
+fi
 MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
 
 # For Cygwin, switch paths to Windows format before running java
@@ -216,6 +296,11 @@ if $cygwin; then
     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
 
 exec "$JAVACMD" \
diff --git a/mvnw.cmd b/mvnw.cmd
index 019bd74d..dae46d49 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -35,7 +35,9 @@
 
 @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
 @echo off
-@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@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
@@ -115,10 +117,47 @@ for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do s
 :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 DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+    IF "%%A"=="wrapperUrl" SET DOWNLOAD_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 DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+    )
+    if "%MVNW_VERBOSE%" == "true" (
+        echo Couldn't find %WRAPPER_JAR%, downloading it ...
+        echo Downloading from: %DOWNLOAD_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('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+		"}"
+    if "%MVNW_VERBOSE%" == "true" (
+        echo Finished downloading %WRAPPER_JAR%
+    )
+)
+@REM End of extension
+
+@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
-- 
GitLab