This is an automated email from the ASF dual-hosted git repository.
neilcsmith pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push:
new a0e6cd8 Don't use local .m2 cache in build by default.
new 6d54e71 Merge pull request #2710 from neilcsmith-net/ext-bin-no-m2
a0e6cd8 is described below
commit a0e6cd8f128372b864f42f7b216ebe0e8f83f009
Author: Neil C Smith <[email protected]>
AuthorDate: Mon Jan 25 18:59:20 2021 +0000
Don't use local .m2 cache in build by default.
Always download Maven binaries by default rather than relying on local .m2
cache (issues with Jenkins builds).
Expose binaries.repos property so source repositories of binaries can be
configured, including local .m2 if desired.
---
.../org/netbeans/nbbuild/extlibs/DownloadBinaries.java | 14 +++++++++-----
nbbuild/binaries-default-properties.xml | 1 +
nbbuild/build.xml | 14 +++++++-------
3 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
index 355b90e..4acb361 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/DownloadBinaries.java
@@ -31,6 +31,8 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.math.BigInteger;
import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
@@ -177,20 +179,22 @@ public class DownloadBinaries extends Task {
private byte[] mavenFile(MavenCoordinate mc) throws IOException {
String cacheName = mc.toMavenPath();
- File local = new File(new File(new File(new
File(System.getProperty("user.home")), ".m2"), "repository"),
cacheName.replace('/', File.separatorChar));
List<String> urls = new ArrayList<>();
- if (local.isFile()) {
- urls.add(local.toURI().toString());
- }
for (String prefix : repos.split(" ")) {
urls.add(prefix + cacheName);
}
for (String url : urls) {
try {
+ if (url.startsWith("file:")) {
+ File file = new File(new URI(url));
+ if (!file.exists()) {
+ continue;
+ }
+ }
URL u = new URL(url);
log("Trying: " + url, Project.MSG_VERBOSE);
return downloadFromServer(u);
- } catch (IOException ex) {
+ } catch (IOException | URISyntaxException ex) {
//Try the next URL
}
}
diff --git a/nbbuild/binaries-default-properties.xml
b/nbbuild/binaries-default-properties.xml
index bc6b5b5..6bc9ea5 100644
--- a/nbbuild/binaries-default-properties.xml
+++ b/nbbuild/binaries-default-properties.xml
@@ -22,4 +22,5 @@
<project name="binaries-default-properties" default="netbeans" basedir=".">
<property name="binaries.cache" location="${user.home}/.hgexternalcache"/>
<property name="binaries.server"
value="https://netbeans.osuosl.org/binaries/"/>
+ <property name="binaries.repos" value="https://repo1.maven.org/maven2/"/>
</project>
diff --git a/nbbuild/build.xml b/nbbuild/build.xml
index 3bd9ffe..52933ac 100644
--- a/nbbuild/build.xml
+++ b/nbbuild/build.xml
@@ -69,7 +69,7 @@
<taskdef name="downloadbinaries"
classname="org.netbeans.nbbuild.extlibs.DownloadBinaries"
classpath="${build.ant.classes.dir}"/>
<taskdef name="configureproxy"
classname="org.netbeans.nbbuild.extlibs.ConfigureProxy"
classpath="${build.ant.classes.dir}"/>
<property name="have-downloadbinaries-task" value="true" />
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}">
<manifest dir="${nb_all}">
<include name="nbbuild/external/binaries-list"/>
<include name="platform/libs.junit4/external/binaries-list"/>
@@ -198,7 +198,7 @@ metabuild.hash=${metabuild.hash}</echo>
<target name="download-all-extbins" unless="ext.binaries.downloaded"
depends="bootstrap">
<echo>Downloading external binaries (*/external/ directories)...</echo>
<!-- optionnal reporttofile used to speed resolving artefacts resolution
for maven artefacts -->
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}" >
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}" >
<manifest dir="${nb_all}">
<include name="**/external/binaries-list"/>
</manifest>
@@ -235,7 +235,7 @@ metabuild.hash=${metabuild.hash}</echo>
<map from="${nb_all}/" to=""/>
<globmapper from="*" to="*/external/binaries-list"/>
</pathconvert>
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}">
<manifest dir="${nb_all}" includes="${modules.binaries-list}"/>
</downloadbinaries>
</target>
@@ -468,7 +468,7 @@ metabuild.hash=${metabuild.hash}</echo>
</target>
<target name="-download-nb-windows-launchers"
depends="init,-check-nb-cluster" if="has.nb.cluster"
unless="do.build.windows.launchers">
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}">
<manifest dir="${nb_all}"
includes="nb/ide.launcher/external/binaries-list"/>
</downloadbinaries>
@@ -1310,7 +1310,7 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y
to start the system in d
</fileset>
</subant>
<taskdef name="downloadbinaries"
classname="org.netbeans.nbbuild.extlibs.DownloadBinaries"
classpath="${nbantext.jar}"/>
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
clean="true">
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}" clean="true">
<manifest dir="${nb_all}">
<include name="*/external/binaries-list"/>
<include name="contrib/*/external/binaries-list"/>
@@ -1689,7 +1689,7 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y
to start the system in d
<pathconvert property="source.dirs" pathsep="," refid="source.dirset">
<regexpmapper from="${nb_all}/(.*)$" to="\1/**/*" handledirsep="yes"/>
</pathconvert>
- <downloadbinaries cache="${binaries.cache}" server="${binaries.server}">
<!--XXX-->
+ <downloadbinaries cache="${binaries.cache}" server="${binaries.server}"
repos="${binaries.repos}"> <!--XXX-->
<manifest dir="${nb_all}">
<include name="libs.antlr3.devel/external/binaries-list"/>
</manifest>
@@ -2172,7 +2172,7 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y
to start the system in d
<taskdef name="exclusionsfromlicenseinfo"
classname="org.netbeans.nbbuild.extlibs.ExclusionsFromLicenseInfo"
classpath="${nbantext.jar}"/>
<taskdef name="reportFromLicenseinfo"
classname="org.netbeans.nbbuild.extlibs.ReportFromLicenseinfo"
classpath="${nbantext.jar}"/>
- <downloadbinaries cache="${binaries.cache}"
server="${binaries.server}">
+ <downloadbinaries cache="${binaries.cache}"
server="${binaries.server}" repos="${binaries.repos}">
<manifest dir="${nb_all}">
<include name="nbbuild/external/binaries-list"/>
</manifest>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists