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 <neilcsm...@apache.org> 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: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists