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

Reply via email to