From a4cf0dcf7142218a94d56a9c6f8ff273bfb6b865 Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Wed, 1 Apr 2026 17:50:29 +0200 Subject: [PATCH] make jnlp build process runnable again --- extide/gradle/nbproject/project.properties | 4 ++ harness/apisupport.harness/release/jnlp.xml | 1 + .../nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 + .../nbproject/project.properties | 6 +++ .../nbproject/project.properties | 49 ++++++++++++++++++- .../antsrc/org/netbeans/nbbuild/MakeJNLP.java | 2 +- .../org/netbeans/nbbuild/VerifyJNLP.java | 2 +- nbbuild/build.xml | 8 +-- 9 files changed, 65 insertions(+), 11 deletions(-) diff --git a/extide/gradle/nbproject/project.properties b/extide/gradle/nbproject/project.properties index 1552015ba9f1..915efb60fe9a 100644 --- a/extide/gradle/nbproject/project.properties +++ b/extide/gradle/nbproject/project.properties @@ -43,3 +43,7 @@ extra.module.files=\ # It shall be built on the lowest language level that the Gradle integration supports tooling.javac.release=8 tooling.gradle.version=8.11.1 + +jnlp.verify.excludes=modules/gradle/nb-tooling.gradle,\ + modules/gradle/daemon-loader/build.gradle,\ + modules/gradle/daemon-loader/settings.gradle \ No newline at end of file diff --git a/harness/apisupport.harness/release/jnlp.xml b/harness/apisupport.harness/release/jnlp.xml index cd1251a27927..65a8d554e415 100644 --- a/harness/apisupport.harness/release/jnlp.xml +++ b/harness/apisupport.harness/release/jnlp.xml @@ -127,6 +127,7 @@ keystore="${jnlp.signjar.keystore}" storepass="${jnlp.signjar.password}" dname="${jnlp.signjar.vendor}" + keyalg="DSA" /> diff --git a/java/java.j2seplatform/nbproject/project.properties b/java/java.j2seplatform/nbproject/project.properties index 58cc3858b25b..de1e50252779 100644 --- a/java/java.j2seplatform/nbproject/project.properties +++ b/java/java.j2seplatform/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 extra.module.files=modules/ext/org-netbeans-modules-java-j2seplatform-probe.jar jnlp.indirect.jars=modules/ext/org-netbeans-modules-java-j2seplatform-probe.jar - +jnlp.verify.excludes=scripts/J2SEPlatformProbe.java javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/java.mx.project/nbproject/project.properties b/java/java.mx.project/nbproject/project.properties index cd517610d949..c1408b97c9bc 100644 --- a/java/java.mx.project/nbproject/project.properties +++ b/java/java.mx.project/nbproject/project.properties @@ -24,3 +24,5 @@ requires.nb.javac=true test.run.args=-Dorg.netbeans.modules.java.mx.project.test.mxpath=${basedir}/test/unit/data/mx/mx test.jms.flags=--add-opens=java.base/java.net=ALL-UNNAMED + +jnlp.verify.excludes=org.eclipse.jdt.core.prefs \ No newline at end of file diff --git a/java/java.openjdk.project/nbproject/project.properties b/java/java.openjdk.project/nbproject/project.properties index a785a66d13dd..785365aff6c1 100644 --- a/java/java.openjdk.project/nbproject/project.properties +++ b/java/java.openjdk.project/nbproject/project.properties @@ -28,3 +28,9 @@ test.config.default.excludes=**/ModulesHintTest.class # remove default compiler JMS flags to fix "WARNING: Unknown module: jdk.compiler specified to --add-opens" warnings jms-compiler.flags.jvm= + +jnlp.verify.excludes=scripts/build-generic.xml,\ + scripts/build-langtools.xml,\ + modules/ext/fakeJdkClasses.zip,\ + patterns/project-marker-jdk,\ + scripts/build-langtools-consol.xml \ No newline at end of file diff --git a/java/maven.embedder/nbproject/project.properties b/java/maven.embedder/nbproject/project.properties index e9ef864fccad..3f5b9a9b17a8 100644 --- a/java/maven.embedder/nbproject/project.properties +++ b/java/maven.embedder/nbproject/project.properties @@ -29,8 +29,53 @@ javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml jnlp.indirect.files=modules/ext/maven/rootpackage/default-report.xml,modules/ext/maven/settings.xml # Will not be able to run bundled Maven, but embedder should work and should be able to specify external Maven: -jnlp.verify.excludes=maven/NOTICE,maven/bin/mvnDebug,maven/bin/m2.conf,maven/LICENSE,maven/README.txt,maven/conf/settings.xml,maven/bin/mvnyjp,maven/bin/mvn,maven/bin/mvn.bat,maven/bin/mvnDebug.bat,maven/lib/ext/README.txt, maven/lib/maven-settings-builder.license, maven/lib/org.eclipse.sisu.inject.license, maven/lib/wagon-http.license, maven/lib/maven-compat.license, maven/lib/org.eclipse.sisu.plexus.license, maven/lib/maven-artifact.license, maven/lib/maven-settings.license, maven/lib/maven-model.license, maven/lib/maven-embedder.license, maven/lib/maven-builder-support.license, maven/lib/aether-util.license, maven/lib/maven-model-builder.license, maven/lib/wagon-provider-api.license, maven/lib/wagon-file.license, maven/lib/slf4j-api.license, maven/lib/aether-impl.license, maven/lib/aether-transport-wagon.license, maven/lib/plexus-cipher.license, maven/bin/mvnDebug.cmd, maven/conf/logging/simplelogger.properties, maven/lib/plexus-sec-dispatcher.license, maven/bin/mvn.cmd, maven/lib/maven-aether-provider.license, maven/lib/aether-api.license, maven/lib/cdi-api.license, maven/lib/aether-spi.license, maven/lib/commons-lang3.license, maven/lib/jsr250-api.license, maven/lib/jsoup.license, maven/lib/maven-repository-metadata.license, maven/lib/wagon-http-shared.license, maven/lib/maven-core.license, maven/lib/maven-plugin-api.license, maven/lib/aether-connector-basic.license, maven/lib/slf4j-simple.license, maven/conf/toolchains.xml -# gen-sigtest fails with: +jnlp.verify.excludes=maven/lib/ext/hazelcast/README.txt,\ + maven/lib/org.eclipse.sisu.plexus.license,\ + maven/lib/asm.license,\ + maven/boot/plexus-classworlds.license,\ + maven/NOTICE,\ + maven/lib/plexus-utils.license,\ + maven/bin/m2.conf,\ + maven/lib/ext/redisson/README.txt,\ + maven/README.txt,\ + maven/lib/slf4j-api.license,\ + maven/bin/mvnDebug.cmd,\ + maven/lib/ext/README.txt,\ + maven/conf/logging/simplelogger.properties,\ + maven/bin/mvn.cmd,\ + maven/bin/mvnDebug,\ + maven/lib/jansi-native/Windows/x86_64/jansi.dll,\ + maven/lib/jspecify.license,\ + maven/LICENSE,\ + maven/lib/jansi-2.4.2.jar,\ + maven/lib/commons-cli.license,\ + maven/lib/commons-codec.license,\ + maven/lib/aopalliance.license,\ + maven/lib/error_prone_annotations.license,\ + maven/lib/guice.license,\ + maven/lib/gson.license,\ + maven/lib/org.eclipse.sisu.inject.license,\ + maven/lib/jansi-native/Windows/arm64/jansi.dll,\ + maven/lib/failureaccess.license,\ + maven/lib/javax.annotation-api.license,\ + maven/lib/httpcore.license,\ + maven/lib/plexus-interpolation.license,\ + maven/lib/jcl-over-slf4j.license,\ + maven/lib/jansi-native/Windows/x86/jansi.dll,\ + maven/lib/plexus-cipher.license,\ + maven/lib/plexus-sec-dispatcher.license,\ + maven/conf/settings.xml,\ + maven/lib/jansi-native/README.txt,\ + maven/lib/jansi.license,\ + maven/bin/mvnyjp,\ + maven/bin/mvn,\ + maven/lib/guava.license,\ + maven/lib/plexus-component-annotations.license,\ + maven/lib/javax.inject.license,\ + maven/lib/httpclient.license,\ + maven/conf/toolchains.xml + + # gen-sigtest fails with: # Fatal error: class junit.framework.TestCase not found sigtest.gen.fail.on.error=false diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java b/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java index 7129fe598f8f..8a7f43d1e1dc 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java +++ b/nbbuild/antsrc/org/netbeans/nbbuild/MakeJNLP.java @@ -250,7 +250,7 @@ private void signOrCopy(File from, File to) { to.getParentFile().mkdirs(); } getSignTask().setSignedjar(to); - getSignTask().setDigestAlg("SHA1"); + getSignTask().setDigestAlg("SHA256"); getSignTask().execute(); } else if (to != null) { Copy copy = (Copy)getProject().createTask("copy"); diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java b/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java index 77aef90ffed8..6a179cc817ed 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java +++ b/nbbuild/antsrc/org/netbeans/nbbuild/VerifyJNLP.java @@ -217,7 +217,7 @@ public InputSource resolveEntity(String publicId, String systemId) throws SAXExc break; // just check one representative file } } - } catch (IOException x) { + } catch (SecurityException | IOException x) { error(jnlp, results, "Signatures", "error examining signatures in " + f + ": " + x); } } diff --git a/nbbuild/build.xml b/nbbuild/build.xml index d9917bbd3317..68fa98f5693a 100644 --- a/nbbuild/build.xml +++ b/nbbuild/build.xml @@ -370,6 +370,7 @@ metabuild.hash=${metabuild.hash} keystore="${jnlp.signjar.keystore}" storepass="${jnlp.signjar.password}" dname="${jnlp.signjar.vendor}" + keyalg="DSA" /> @@ -385,12 +386,7 @@ metabuild.hash=${metabuild.hash} - - - - - - +