From b141bce400981df624810c5d7dd0c178749df36d Mon Sep 17 00:00:00 2001 From: Marat Abrarov Date: Wed, 31 Mar 2021 14:16:43 +0300 Subject: [PATCH] Fixed Maven Wrapper (https://github.com/takari/maven-wrapper). Signed-off-by: Marat Abrarov --- .gitattributes | 5 + .mvn/jvm.config | 2 +- .mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++++++++++ .mvn/wrapper/maven-wrapper.jar | Bin 48336 -> 50710 bytes .mvn/wrapper/maven-wrapper.properties | 3 +- mvnw | 87 ++++++++++- mvnw.cmd | 182 +++++++++++++++++++++++ 7 files changed, 392 insertions(+), 4 deletions(-) create mode 100644 .gitattributes create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 mvnw.cmd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..bf31ad62e --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text=auto +*.sh text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +mvnw text eol=lf \ No newline at end of file diff --git a/.mvn/jvm.config b/.mvn/jvm.config index b6a4c4de9..aec0fc4df 100644 --- a/.mvn/jvm.config +++ b/.mvn/jvm.config @@ -1 +1 @@ --Xmx2048m -Djava.awt.headless=true -XX:+UseG1GC -XX:+UseStringDeduplication +-Xmx2048m -Djava.awt.headless=true diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 000000000..b901097f2 --- /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.6"; + /** + * 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 f775b1c04cf89b25c7814d3a8a7c810301092e57..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 100755 GIT binary patch delta 13080 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 b%O!U$ef%H-8Z!hlL?I>w1WwuCzxjUv+~`jN diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 6c8c0e080..642d572ce 100755 --- 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.6.3/apache-maven-3.6.3-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/mvnw b/mvnw index e96ccd5fb..41c0f0c23 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script +# Maven Start Up Batch script # # Required ENV vars: # ------------------ @@ -114,7 +114,6 @@ if $mingw ; then M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then @@ -200,6 +199,85 @@ 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.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.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"} if [ "$MVNW_VERBOSE" = true ]; then echo $MAVEN_PROJECTBASEDIR @@ -218,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 new file mode 100644 index 000000000..86115719e --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,182 @@ +@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 Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@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 "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\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 DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.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.6/maven-wrapper-0.5.6.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 + +: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 "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\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% + +exit /B %ERROR_CODE%