FWIW, the following patch and deleting nbbuild/build manually got things
building.  It may be that the patch is unnecessary and just manually
cleaning would have done it (I didn't really examine what the code I
patched does, but it appears to be something that is trying to generate
release details and assumes it is always running in a continuous build or
something).

The build also now fusses that a bunch of my local branch names "is not
having good pattern" (so what?).

diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
b/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
index 3a0bd09028..761620f70b 100644
--- a/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
+++ b/nbbuild/antsrc/org/netbeans/nbbuild/ReleaseJsonProperties.java
@@ -109,7 +109,10 @@ public class ReleaseJsonProperties extends Task {
             JSONObject releaseList = (JSONObject) jsonParser.parse(reader);
             log("Processing release: " + releaseList.keySet().toString());
             for (Object object : releaseList.keySet()) {
-                ri.add(manageRelease(object.toString(),
releaseList.get(object)));
+                ReleaseInfo info = manageRelease(object.toString(),
releaseList.get(object));
+                if (info != null) {
+                    ri.add(info);
+                }
             }
         } catch (ParseException | IOException ex) {
             throw new BuildException(ex);
@@ -227,7 +230,11 @@ public class ReleaseJsonProperties extends Task {
         ReleaseInfo ri = new ReleaseInfo(key);
         // mandatory element
         JSONObject jsonrelease = (JSONObject) arelease;
-        ri.setPosition(Integer.parseInt((String) getJSONInfo(jsonrelease,
"position", "Order of release starting")));
+        String r =(String) getJSONInfo(jsonrelease, "position", "Order of
release starting", false);
+        if (r == null) {
+            return null;
+        }
+        ri.setPosition(Integer.parseInt(r));
         // previous release date
         JSONObject previousrelease = (JSONObject) getJSONInfo(jsonrelease,
"previousreleasedate", "Apidoc: Date of previous Release");
         ri.setPreviousRelease(
@@ -285,6 +292,10 @@ public class ReleaseJsonProperties extends Task {
     }

     private Object getJSONInfo(JSONObject json, String key, String info) {
+        return getJSONInfo(json, key, info, true);
+    }
+
+    private Object getJSONInfo(JSONObject json, String key, String info,
boolean shouldThrow) {
         Object result = json.get(key);
         if (result == null) {
             throw new BuildException("Cannot retrieve key " + key + ",
this is for" + info);

Reply via email to