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 7d132ee  Cache netbeanrelease.json for offline builds and source 
releases.
     new 5cf25fd  Merge pull request #3500 from 
neilcsmith-net/ebarboni-offlinebuild
7d132ee is described below

commit 7d132eeb0179187249527405db0115759d24537d
Author: Eric Barboni <sk...@apache.org>
AuthorDate: Mon Oct 5 18:10:46 2020 +0200

    Cache netbeanrelease.json for offline builds and source releases.
    
    Cache netbeansrelease.json in nbbuild/ - use -Dneedjsondownload=true to 
force update.
    
    Write netbeansrelease.json to same location in source release to ensure 
source builds not
    affected by future changes to file in repository.
---
 .gitignore                                         |  1 +
 .../netbeans/nbbuild/ReleaseJsonProperties.java    |  2 +-
 nbbuild/build.xml                                  | 85 +++++++++++++++-------
 nbbuild/rat-exclusions.txt                         |  1 +
 4 files changed, 63 insertions(+), 26 deletions(-)

diff --git a/.gitignore b/.gitignore
index fea0457..60e508b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,6 +32,7 @@
 /nbbuild/user.build.properties
 /nbbuild/gitinfo.properties
 /nbbuild/netbeansrelease.properties
+/nbbuild/netbeansrelease.json
 /nbi/engine/native/*/*/dist/
 /nb-javac/
 /java.source.nbjavac/test/test-nb-javac/nbproject/private/
diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java 
b/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
index ace6c4f..3a0bd09 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
@@ -134,7 +134,7 @@ public class ReleaseJsonProperties extends Task {
         }
 
         if (requiredbranchinfo == null) {
-            throw new BuildException("No Release Information found for branch 
'" + branch + "', update json file section");
+            throw new BuildException("No Release Information found for branch 
'" + branch + "', update json file section with ant -Dneedjsondownload=true");
         }
         List<String> updateValues = new ArrayList<>();
         for (ReleaseInfo releaseInfo : ri) {
diff --git a/nbbuild/build.xml b/nbbuild/build.xml
index 887f735..401a0c1 100644
--- a/nbbuild/build.xml
+++ b/nbbuild/build.xml
@@ -109,30 +109,8 @@
       <zipfileset dir="${nb_all}/nbbuild" includes="notice-stub.txt" 
fullpath="META-INF/NOTICE"/>
     </jar>
     <taskdef name="createlicensesummary" 
classname="org.netbeans.nbbuild.extlibs.CreateLicenseSummary" 
classpath="${nbantext.jar}"/>
-    <!-- get all json info we have on apache gitbox  -->
-    <property name="metabuild.releasejson" 
value="${nb_all}/nbbuild/build/netbeansrelease.json"/>
-    <condition property="metabuild.jsonurl" 
value="https://gitbox.apache.org/repos/asf?p=netbeans-jenkins-lib.git;a=blob_plain;f=meta/netbeansrelease.json";>
-        <not>
-            <isset property="metabuild.jsonurl"/>
-        </not>
-    </condition>
-    <configureproxy connectTo="${metabuild.jsonurl}" hostProperty="proxyHost" 
portProperty="proxyPort"/>
-    <setproxy proxyhost="${proxyHost}" proxyPort="${proxyPort}"/>
-    <get dest="${metabuild.releasejson}" skipexisting="false" 
src="${metabuild.jsonurl}" />
-    <!-- read info from gitinfo.properties , if present in source bundle copy 
gitinfo-->
-    <copy file="${nb_all}/nbbuild/gitinfo.properties" 
tofile="${nb_all}/nbbuild/build/gitinfo.properties" failonerror="false"/>
-    <copy file="${nb_all}/nbbuild/netbeansrelease.properties" 
tofile="${nb_all}/nbbuild/build/netbeansrelease.properties" 
failonerror="false"/>
-    <!-- get branches and git information as previous not overrided this will 
take new-->
-    <antcall target="getgitinformation" />
-    <!-- javadoc content filtering -->
-    <taskdef name="setjavadoc" 
classname="org.netbeans.nbbuild.SetApidocClustersConfig" 
classpath="${nbantext.jar}"/>
-    <property file="${nb_all}/nbbuild/build/gitinfo.properties"/>
-    <property file="${nb_all}/nbbuild/build/netbeansrelease.properties"/>
-    <setjavadoc branch="${metabuild.branch}"/>
-    <echo message="Building branch: ${metabuild.branch}"/>
-    <property name="releasejson" 
value="${nb_all}/nbbuild/build/netbeansrelease.json"/>
-    <property name="xmlrelease" 
value="${nb_all}/nbbuild/build/netbeansrelease.xml"/>
-    <property name="propertiesrelease" 
value="${nb_all}/nbbuild/build/netbeansrelease.properties"/>
+
+    <!-- prepare task to create properties files-->
     <taskdef name="releasejson" 
classname="org.netbeans.nbbuild.ReleaseJsonProperties" >
         <classpath>
             <pathelement location="${nbantext.jar}"/>
@@ -141,11 +119,64 @@
             </fileset>
         </classpath>
     </taskdef>
+    <!-- task to alter cluster definition for javadoc -->
+    <taskdef name="setjavadoc" 
classname="org.netbeans.nbbuild.SetApidocClustersConfig" 
classpath="${nbantext.jar}"/>
+
+    <antcall target="getjsonfile" />
+    <!-- get branches and git information as previous not overrided this will 
take new-->
+    <antcall target="getgitinformation" />
+
+    <echo message="Building branch: ${metabuild.branch}"/>
+    <property name="releasejson" 
value="${nb_all}/nbbuild/build/netbeansrelease.json"/>
+    <property name="xmlrelease" 
value="${nb_all}/nbbuild/build/netbeansrelease.xml"/>
+    <property name="propertiesrelease" 
value="${nb_all}/nbbuild/build/netbeansrelease.properties"/>
+    <property file="${nb_all}/nbbuild/build/gitinfo.properties"/>
     <releasejson file="${releasejson}" xmloutput="${xmlrelease}" 
propertiesoutput="${propertiesrelease}" branch="${metabuild.branch}" 
hash="${metabuild.hash}"/>
+    <property file="${nb_all}/nbbuild/build/netbeansrelease.properties"/>
+    <!-- javadoc content filtering -->
+    <setjavadoc branch="${metabuild.branch}"/>
+  </target>
+
+  <target name="getjsonfile">
+    <!-- copy all related release properties -->
+    <copy file="${nb_all}/nbbuild/netbeansrelease.json" 
tofile="${nb_all}/nbbuild/build/netbeansrelease.json" failonerror="false"/>
+    <!-- read info from gitinfo.properties , if present in source bundle copy 
gitinfo-->
+    <copy file="${nb_all}/nbbuild/gitinfo.properties" 
tofile="${nb_all}/nbbuild/build/gitinfo.properties" failonerror="false"/>
+
+    <property name="metabuild.releasejson" 
value="${nb_all}/nbbuild/build/netbeansrelease.json"/>
+    <!-- get all json info we have on apache gitbox  -->
+    <condition property="metabuild.jsonurl" 
value="https://gitbox.apache.org/repos/asf?p=netbeans-jenkins-lib.git;a=blob_plain;f=meta/netbeansrelease.json";>
+        <not>
+            <isset property="metabuild.jsonurl"/>
+        </not>
+    </condition>
+    <condition property="needjsondownload" value="true" else="false">
+        <not>
+            <available file="${nb_all}/nbbuild/build/netbeansrelease.json" />
+        </not>
+    </condition>
+    <sequential if:true="${needjsondownload}" >
+        <configureproxy connectTo="${metabuild.jsonurl}" 
hostProperty="proxyHost" portProperty="proxyPort"/>
+        <setproxy proxyhost="${proxyHost}" proxyPort="${proxyPort}"/>
+        <get dest="${metabuild.releasejson}" skipexisting="false" 
src="${metabuild.jsonurl}" />
+    </sequential>
+  </target>
+
+  <target name="cache-release-json">
+      <property name="needjsondownload" value="true" />
+      <antcall target="getjsonfile" />
+      <copy file="${metabuild.releasejson}" 
tofile="${nb_all}/nbbuild/netbeansrelease.json" />
   </target>
+
+  <target name="clear-release-json">
+      <delete file="${nb_all}/nbbuild/netbeansrelease.json" />
+      <delete file="${nb_all}/nbbuild/build/netbeansrelease.json" />
+  </target>
+
   <target name="-gitinfo.ispresent">
       <available file="${nb_all}/nbbuild/build/gitinfo.properties" 
property="gitinfo.present" />      
   </target>
+
   <target name="-git.down" unless="${gitinfo.present}" 
depends="-gitinfo.ispresent">
       <!-- try to get information from jenkins apache multi branch build or 
travis -->
       <taskdef name="gitbranchhash" 
classname="org.netbeans.nbbuild.GitBranchHash" classpath="${nbantext.jar}" />
@@ -190,11 +221,14 @@
       <echo if:set="metabuild.hash" 
file="${nb_all}/nbbuild/build/gitinfo.properties" 
>metabuild.branch=${metabuild.branch}
 metabuild.hash=${metabuild.hash}</echo>
   </target>
+
   <target name="-git.up" if="${gitinfo.present}" depends="-gitinfo.ispresent">
       <property file="${nb_all}/nbbuild/build/gitinfo.properties"/>
       <echo message="Processing build with branch ${metabuild.branch} and hash 
${metabuild.hash}" />
   </target>
+
   <target name="getgitinformation" depends="-git.up,-git.down" />
+
   <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 -->
@@ -205,6 +239,7 @@ metabuild.hash=${metabuild.hash}</echo>
     </downloadbinaries>
     <property name="ext.binaries.downloaded" value="true"/>
   </target>
+
   <!-- create list of all maven coordinate -->
   <target name="getallmavencoordinates">
       <concat destfile="${nb_all}/nbbuild/build/external.info">
@@ -1690,8 +1725,8 @@ It is possible to use -Ddebug.port=3234 -Ddebug.pause=y 
to start the system in d
       <zipfileset file="${nb.build.dir}/LICENSE" />
       <zipfileset dir="${nb.build.dir}/licenses" includes="**" 
prefix="licenses" /> 
       <zipfileset file="${source.zip.readme}" fullpath="README.md" 
erroronmissingarchive="false" />
-      <zipfileset file="${nb_all}/nbbuild/build/netbeansrelease.properties" 
fullpath="nbbuild/netbeansrelease.properties" erroronmissingarchive="false"/>
       <zipfileset file="${nb_all}/nbbuild/build/gitinfo.properties" 
fullpath="nbbuild/gitinfo.properties" erroronmissingarchive="false" />
+      <zipfileset file="${nb_all}/nbbuild/build/netbeansrelease.json" 
fullpath="nbbuild/netbeansrelease.json" erroronmissingarchive="false" />
     </zip>
   </target>
 
diff --git a/nbbuild/rat-exclusions.txt b/nbbuild/rat-exclusions.txt
index 1a11e12..693571e 100644
--- a/nbbuild/rat-exclusions.txt
+++ b/nbbuild/rat-exclusions.txt
@@ -26,6 +26,7 @@ nbbuild/user.build.properties
 ###### generated build artifacts
 nbbuild/gitinfo.properties
 nbbuild/netbeansrelease.properties
+nbbuild/netbeansrelease.json
 
enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_1_4/*
 enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_5/*
 enterprise/j2ee.dd/src/org/netbeans/modules/j2ee/dd/impl/application/model_6/*

---------------------------------------------------------------------
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