|
|
|
|
@ -1,22 +1,18 @@
|
|
|
|
|
/* |
|
|
|
|
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. |
|
|
|
|
* 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.*; |
|
|
|
|
@ -24,11 +20,12 @@ import java.util.Properties;
|
|
|
|
|
|
|
|
|
|
public class MavenWrapperDownloader { |
|
|
|
|
|
|
|
|
|
private static final String WRAPPER_VERSION = "0.5.3"; |
|
|
|
|
/** |
|
|
|
|
* 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/0.4.2/maven-wrapper-0.4.2.jar"; |
|
|
|
|
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 |
|
|
|
|
@ -76,13 +73,13 @@ public class MavenWrapperDownloader {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
System.out.println("- Downloading from: : " + url); |
|
|
|
|
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 direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'"); |
|
|
|
|
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); |
|
|
|
|
@ -98,6 +95,16 @@ public class MavenWrapperDownloader {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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()); |
|
|
|
|
|