From: Not Zed <notzed@gmail.com> Date: Wed, 8 Dec 2021 08:15:59 +0000 (+1030) Subject: Update to netbeans 12.6 X-Git-Url: https://code.zedzone.au/cvs?a=commitdiff_plain;h=ee322bb5f579c226b8444de448f2481f9adc911f;p=zcl Update to netbeans 12.6 --- diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml index 46a5edb..db8a4d1 100644 --- a/nbproject/build-impl.xml +++ b/nbproject/build-impl.xml @@ -49,9 +49,236 @@ is divided into following sections: <property name="default.javac.source" value="9"/> <property name="default.javac.target" value="9"/> </target> - <target depends="-pre-init,-init-private,-init-user" name="-init-project"> + <target depends="-pre-init,-init-private,-init-user" name="-init-pre-project"> <property file="nbproject/configs/${config}.properties"/> <property file="nbproject/project.properties"/> + <property name="netbeans.modular.tasks.version" value="1"/> + <property location="${build.dir}/tasks/${netbeans.modular.tasks.version}" name="netbeans.modular.tasks.dir"/> + </target> + <target depends="-init-pre-project" name="-check-netbeans-tasks"> + <condition property="netbeans.tasks.compiled"> + <available file="${netbeans.modular.tasks.dir}/out/netbeans/ModuleInfoSelector.class"/> + </condition> + </target> + <target depends="-init-pre-project,-check-netbeans-tasks" name="-init-compile-netbeans-tasks" unless="netbeans.tasks.compiled"> + <echo file="${netbeans.modular.tasks.dir}/src/netbeans/CoalesceKeyvalue.java"> + +package netbeans; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Task; + +public class CoalesceKeyvalue extends Task { + private String property; + + public void setProperty(String property) { + this.property = property; + } + + private String value; + + public void setValue(String value) { + this.value = value; + } + + private String valueSep; + + public void setValueSep(String valueSep) { + this.valueSep = valueSep; + } + + private String entrySep; + + public void setEntrySep(String entrySep) { + this.entrySep = entrySep; + } + + private String multiSep; + + public void setMultiSep(String multiSep) { + this.multiSep = multiSep; + } + + private String outSep; + + public void setOutSep(String outSep) { + this.outSep = outSep; + } + + @Override + public void execute() throws BuildException { + List<String> result = new ArrayList<>(); + Map<String, List<String>> module2Paths = new HashMap<>(); + + for (String entry : value.split(Pattern.quote(entrySep))) { + String[] keyValue = entry.split(Pattern.quote(valueSep), 2); + if (keyValue.length == 1) { + result.add(keyValue[0]); + } else { + module2Paths.computeIfAbsent(keyValue[0], s -> new ArrayList<>()) + .add(keyValue[1].trim()); + } + } + module2Paths.entrySet() + .stream() + .forEach(e -> result.add(e.getKey() + valueSep + e.getValue().stream().collect(Collectors.joining(multiSep)))); + getProject().setProperty(property, result.stream().collect(Collectors.joining(" " + entrySep))); + } + +} + + </echo> + <echo file="${netbeans.modular.tasks.dir}/src/netbeans/ModsourceRegexp.java"> + +package netbeans; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.Task; + +public class ModsourceRegexp extends Task { + private String property; + + public void setProperty(String property) { + this.property = property; + } + + private String filePattern; + + public void setFilePattern(String filePattern) { + this.filePattern = filePattern; + } + + private String modsource; + + public void setModsource(String modsource) { + this.modsource = modsource; + } + + private List<String> expandGroup(String grp) { + List<String> exp = new ArrayList<>(); + String item = ""; + int depth = 0; + + for (int i = 0; i < grp.length(); i++) { + char c = grp.charAt(i); + switch (c) { + case '{': + if (depth++ == 0) { + continue; + } + break; + case '}': + if (--depth == 0) { + exp.add(item); + continue; + } + break; + case ',': + if (depth == 1) { + exp.add(item); + item = ""; + continue; + } + default: + break; + } + item = item + c; + } + return exp; + } + + private List<String> pathVariants(String spec) { + return pathVariants(spec, new ArrayList<>()); + } + + private List<String> pathVariants(String spec, List<String> res) { + int start = spec.indexOf('{'); + if (start == -1) { + res.add(spec); + return res; + } + int depth = 1; + int end; + for (end = start + 1; end < spec.length() && depth > 0; end++) { + char c = spec.charAt(end); + switch (c) { + case '{': depth++; break; + case '}': depth--; break; + } + } + String prefix = spec.substring(0, start); + String suffix = spec.substring(end); + expandGroup(spec.substring(start, end)).stream().forEach(item -> { + pathVariants(prefix + item + suffix, res); + }); + return res; + } + + private String toRegexp2(String spec, String filepattern, String separator) { + List<String> prefixes = new ArrayList<>(); + List<String> suffixes = new ArrayList<>(); + pathVariants(spec).forEach(item -> { + suffixes.add(item); + }); + String tail = ""; + String separatorString = separator; + if ("\\".equals(separatorString)) { + separatorString = "\\\\"; + } + if (filepattern != null && !Objects.equals(filepattern, tail)) { + tail = separatorString + filepattern; + } + return "([^" + separatorString +"]+)\\Q" + separator + "\\E(" + suffixes.stream().collect(Collectors.joining("|")) + ")" + tail; + } + + @Override + public void execute() throws BuildException { + getProject().setProperty(property, toRegexp2(modsource, filePattern, getProject().getProperty("file.separator"))); + } + +} + + </echo> + <echo file="${netbeans.modular.tasks.dir}/src/netbeans/ModuleInfoSelector.java"> + +package netbeans; + +import java.io.File; +import java.util.Arrays; +import org.apache.tools.ant.BuildException; +import org.apache.tools.ant.types.selectors.BaseExtendSelector; + +public class ModuleInfoSelector extends BaseExtendSelector { + + @Override + public boolean isSelected(File basedir, String filename, File file) throws BuildException { + String extension = Arrays.stream(getParameters()) + .filter(p -> "extension".equals(p.getName())) + .map(p -> p.getValue()) + .findAny() + .get(); + return !new File(file, "module-info." + extension).exists(); + } + +} + + </echo> + <mkdir dir="${netbeans.modular.tasks.dir}/out"/> + <javac classpath="${ant.core.lib}" destdir="${netbeans.modular.tasks.dir}/out" srcdir="${netbeans.modular.tasks.dir}/src"/> + </target> + <target depends="-init-pre-project,-init-compile-netbeans-tasks" name="-init-project"> + <taskdef classname="netbeans.CoalesceKeyvalue" classpath="${netbeans.modular.tasks.dir}/out" name="coalesce_keyvalue" uri="http://www.netbeans.org/ns/j2se-modular-project/1"/> + <taskdef classname="netbeans.ModsourceRegexp" classpath="${netbeans.modular.tasks.dir}/out" name="modsource_regexp" uri="http://www.netbeans.org/ns/j2se-modular-project/1"/> </target> <target name="-init-source-module-properties"> <property name="javac.modulepath" value=""/> @@ -69,43 +296,7 @@ is divided into following sections: <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/> </target> <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.home" value="platforms.${platform.active}.home"/> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.compiler" value="platforms.${platform.active}.compile"/> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.javac.tmp" value="platforms.${platform.active}.javac"/> - <condition property="platform.javac" value="${platform.home}/bin/javac"> - <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/> - </condition> - <property name="platform.javac" value="${platform.javac.tmp}"/> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.java.tmp" value="platforms.${platform.active}.java"/> - <condition property="platform.java" value="${platform.home}/bin/java"> - <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/> - </condition> - <property name="platform.java" value="${platform.java.tmp}"/> - <j2semodularproject1:property xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/> - <condition property="platform.javadoc" value="${platform.home}/bin/javadoc"> - <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/> - </condition> - <property name="platform.javadoc" value="${platform.javadoc.tmp}"/> - <condition property="platform.invalid" value="true"> - <or> - <contains string="${platform.javac}" substring="$${platforms."/> - <contains string="${platform.java}" substring="$${platforms."/> - <contains string="${platform.javadoc}" substring="$${platforms."/> - </or> - </condition> - <fail unless="platform.home">Must set platform.home</fail> - <fail unless="platform.bootcp">Must set platform.bootcp</fail> - <fail unless="platform.java">Must set platform.java</fail> - <fail unless="platform.javac">Must set platform.javac</fail> - <fail if="platform.invalid"> - The J2SE Platform is not correctly set up. - Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. - Either open the project in the IDE and setup the Platform with the same name or add it manually. - For example like this: - ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file) - or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used) - </fail> + <property name="platform.java" value="${java.home}/bin/java"/> <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" modsource="${test.src.dir.path}" property="have.tests.test.src.dir.regexp"/> <dirset dir="${basedir}/${test.src.dir}" id="have.tests.test.src.dir.set" includes="*/*"> <filename regex="${have.tests.test.src.dir.regexp}"/> @@ -123,9 +314,6 @@ is divided into following sections: <j2semodularproject1:modsource_regexp xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" modsource="${test.src.dir.path}" property="have.tests.test.src.dir.regexp"/> <dirset dir="${basedir}/${test.src.dir}" id="have.tests.test.src.dir.patchset" includes="*/*"> <filename regex="${have.tests.test.src.dir.regexp}"/> - <scriptselector language="javascript"> - self.setSelected(!new java.io.File(file, "module-info.java").exists()); - </scriptselector> </dirset> <union id="have.tests.patchset"> <dirset refid="have.tests.test.src.dir.patchset"/> @@ -221,6 +409,20 @@ is divided into following sections: <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}"> <isset property="profile.available"/> </condition> + <condition else="false" property="jdkBug6558476"> + <and> + <matches pattern="1\.[56]" string="${java.specification.version}"/> + <not> + <os family="unix"/> + </not> + </and> + </condition> + <condition else="false" property="javac.fork"> + <or> + <istrue value="${jdkBug6558476}"/> + <istrue value="${javac.external.vm}"/> + </or> + </condition> <condition property="main.class.check.available"> <and> <isset property="libs.CopyLibs.classpath"/> @@ -345,7 +547,7 @@ is divided into following sections: </path> </resourcecount> </condition> - <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" target="${javac.target}" tempdir="${java.io.tmpdir}"> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" target="${javac.target}" tempdir="${java.io.tmpdir}"> <classpath> <path path="@{classpath}"/> </classpath> @@ -438,7 +640,7 @@ is divided into following sections: <sequential> <property location="${build.dir}/empty" name="empty.dir"/> <property name="junit.forkmode" value="perTest"/> - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}"> + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}"> <syspropertyset> <propertyref prefix="test-sys-prop."/> <mapper from="test-sys-prop.*" to="*" type="glob"/> @@ -523,7 +725,7 @@ is divided into following sections: </fileset> </union> <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/> - <testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="notzed.zcl" testname="TestNG tests" workingDir="${work.dir}"> + <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="notzed.zcl" testname="TestNG tests" workingDir="${work.dir}"> <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/> <propertyset> <propertyref prefix="test-sys-prop."/> @@ -754,9 +956,6 @@ is divided into following sections: <classpath> <path path="@{classpath}"/> </classpath> - <bootclasspath> - <path path="${platform.bootcp}"/> - </bootclasspath> </nbjpdastart> </sequential> </macrodef> @@ -806,7 +1005,7 @@ is divided into following sections: <attribute default="jvm" name="jvm"/> <element name="customize" optional="true"/> <sequential> - <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" jvm="${platform.java}" module="@{modulename}"> + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}"> <classpath> <path path="@{classpath}"/> </classpath> @@ -893,131 +1092,6 @@ is divided into following sections: <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> </target> - <scriptdef language="javascript" name="coalesce_keyvalue" uri="http://www.netbeans.org/ns/j2se-modular-project/1"> - <attribute name="property"/> - <attribute name="value"/> - <attribute name="value-sep"/> - <attribute name="entry-sep"/> - <attribute name="multi-sep"/> - <attribute name="out-sep"/> - - - function coalesce(input, keyValueSeparator, multiSeparator, entrySeparator) { - var result = []; - var values = {}; - - (typeof input === "string" ? input.split(entrySeparator) : input).forEach(function(entry) { - var idx = entry.indexOf(keyValueSeparator); - if (idx < 1) { - result.push(entry); - } else { - var key = entry.substring(0, idx); - var val = entry.substring(idx + 1); - if (!values[key]) { - values[key] = []; - } - values[key].push(val.trim()); - } - }); - Object.keys(values).sort().forEach(function(k) { - result.push(k + keyValueSeparator + values[k].join(multiSeparator)); - }); - return result.join(" " + entrySeparator); - } - self.project.setProperty(attributes.get("property"), - coalesce(attributes.get("value"), - attributes.get("value-sep"), - attributes.get("entry-sep"), - attributes.get("multi-sep") - )); - - - - </scriptdef> - <scriptdef language="javascript" name="modsource_regexp" uri="http://www.netbeans.org/ns/j2se-modular-project/1"> - <attribute name="property"/> - <attribute name="filePattern"/> - <attribute name="modsource"/> - function expandGroup(grp) { - var exp = []; - var item = ""; - var depth = 0; - - for (i = 0; i < grp.length; i++) { - var c = grp[i]; - switch (c) { - case '{': - if (depth++ === 0) { - continue; - } - break; - case '}': - if (--depth === 0) { - exp.push(item); - continue; - } - break; - case ',': - if (depth === 1) { - exp.push(item); - item = ""; - continue; - } - default: - break; - } - item = item + c; - } - return exp; - } - - function pathVariants(spec, res) { - res = res || []; - var start = spec.indexOf('{'); - if (start === -1) { - res.push(spec); - return res; - } - var depth = 1; - var end; - for (end = start + 1; end < spec.length && depth > 0; end++) { - var c = spec[end]; - switch (c) { - case '{': depth++; break; - case '}': depth--; break; - } - } - var prefix = spec.substring(0, start); - var suffix = spec.substring(end); - expandGroup(spec.slice(start, end)).forEach(function (item) { - pathVariants(prefix + item + suffix, res); - }) - return res; - } - - function toRegexp2(spec, filepattern, separator) { - var prefixes = []; - var suffixes = []; - pathVariants(spec).forEach(function(item) { - suffixes.push(item); - }); - var tail = ""; - var separatorString = separator; - if (separatorString == "\\") { - separatorString = "\\\\"; - } - if (filepattern && filepattern != tail) { - tail = separatorString + filepattern; - } - return "([^" + separatorString +"]+)\\Q" + separator + "\\E(" + suffixes.join("|") + ")" + tail; - } - self.project.setProperty(attributes.get("property"), - toRegexp2(attributes.get("modsource"), attributes.get("filepattern"), self.project.getProperty("file.separator"))); - - - - - </scriptdef> <target if="do.depend.true" name="-compile-depend"> <pathconvert property="build.generated.subdirs"> <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> @@ -1212,8 +1286,8 @@ is divided into following sections: <isset property="main.class.available"/> </and> </condition> - <property name="platform.jlink" value="${platform.home}/bin/jlink"/> - <property name="jlink.systemmodules.internal" value="${platform.home}/jmods"/> + <property name="platform.jlink" value="${jdk.home}/bin/jlink"/> + <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/> <exec executable="${platform.jlink}"> <arg value="--module-path"/> <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.dir}"/> @@ -1468,19 +1542,16 @@ is divided into following sections: </not> </and> </condition> - <exec executable="${platform.java}" failonerror="false" outputproperty="platform.version.output"> - <arg value="-version"/> - </exec> <condition else="" property="bug5101868workaround" value="*.java"> - <matches multiline="true" pattern="1\.[56](\..*)?" string="${platform.version.output}"/> + <matches pattern="1\.[56](\..*)?" string="${java.version}"/> </condition> <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5"> <and> <isset property="javadoc.html5"/> - <available file="${platform.home}${file.separator}lib${file.separator}jrt-fs.jar"/> + <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/> </and> </condition> - <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> <classpath> <path path="${javac.classpath}"/> </classpath> @@ -1553,9 +1624,9 @@ is divided into following sections: </pathconvert> <pathconvert pathsep=" " property="run.test.patchmodules.list"> <dirset dir="${build.test.modules.dir}" includes="*"> - <scriptselector language="javascript"> - self.setSelected(!new java.io.File(file, "module-info.class").exists()); - </scriptselector> + <custom classname="netbeans.ModuleInfoSelector" classpath="${netbeans.modular.tasks.dir}/out"> + <param name="extension" value="class"/> + </custom> </dirset> <chainedmapper> <filtermapper> @@ -1564,7 +1635,7 @@ is divided into following sections: <regexpmapper from=".*\Q${file.separator}\E([^${file.separator.string}]+)$" to="--patch-module \1=\0"/> </chainedmapper> </pathconvert> - <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entry-sep="${path.separator}" multi-sep="--patch-module " property="run.test.patchmodules" value="${run.test.patchmodules.list}" value-sep="="/> + <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entrySep="--patch-module " multiSep="${path.separator}" property="run.test.patchmodules" value="${run.test.patchmodules.list}" valueSep="="/> <condition else="" property="run.test.addmodules.internal" value="--add-modules ${run.test.addmodules.list}"> <isset property="run.test.addmodules.list"/> </condition> @@ -1597,7 +1668,7 @@ is divided into following sections: </filtermapper> </chainedmapper> </pathconvert> - <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entry-sep="${path.separator}" multi-sep="--patch-module " property="compile.test.patchmodules" value="${compile.test.patchmodule.internal}" value-sep="="/> + <j2semodularproject1:coalesce_keyvalue xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1" entrySep="--patch-module " multiSep="${path.separator}" property="compile.test.patchmodules" value="${compile.test.patchmodule.internal}" valueSep="="/> <property name="javac.test.moduleargs" value="${compile.test.patchmodules} ${compile.test.addreads}"/> </target> <target depends="-init-test-javac-module-properties" name="-init-test-module-properties"> @@ -1714,6 +1785,7 @@ is divided into following sections: </target> <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/> + <target depends="debug-test-method" name="debug-single-method"/> <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> <property name="debug.modules.dir" value="${build.test.modules.dir}"/> <j2semodularproject1:nbjpdareload xmlns:j2semodularproject1="http://www.netbeans.org/ns/j2se-modular-project/1"/> @@ -1768,7 +1840,10 @@ is divided into following sections: <!-- Empty placeholder for easier customization. --> <!-- You can override this target in the ../build.xml file. --> </target> - <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target name="-recompile-netbeans-tasks-after-clean"> + <antcall inheritall="false" target="-init-compile-netbeans-tasks"/> + </target> + <target depends="init,deps-clean,-do-clean,-recompile-netbeans-tasks-after-clean,-post-clean" description="Clean build products." name="clean"/> <target name="-check-call-dep"> <property file="${call.built.properties}" prefix="already.built."/> <condition property="should.call.dep"> diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties index 10ac352..5698f3e 100644 --- a/nbproject/genfiles.properties +++ b/nbproject/genfiles.properties @@ -3,6 +3,6 @@ build.xml.script.CRC32=b55362bc build.xml.stylesheet.CRC32=32069288@1.6.1 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=2c0455af -nbproject/build-impl.xml.script.CRC32=0af0e4e8 -nbproject/build-impl.xml.stylesheet.CRC32=496e4d3b@1.9 +nbproject/build-impl.xml.data.CRC32=697f393b +nbproject/build-impl.xml.script.CRC32=c40dc6a1 +nbproject/build-impl.xml.stylesheet.CRC32=d1ebcf0f@1.16 diff --git a/nbproject/project.properties b/nbproject/project.properties index 25a39d7..ad1c93c 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -48,9 +48,10 @@ javac.modulepath=\ javac.processormodulepath= javac.processorpath=\ ${javac.classpath} -javac.source=13 -javac.target=13 +javac.source=17 +javac.target=17 javac.test.classpath=\ + ${libs.junit_4.classpath}:\ ${javac.classpath} javac.test.modulepath=\ ${javac.modulepath}:\ @@ -75,13 +76,13 @@ jlink.additionalmodules= jlink.additionalparam= jlink.launcher=true jlink.launcher.name=notzed.zcl -platform.active=JDK_15_panama +platform.active=default_platform project.license=gpl3-notzed run.classpath= # Space-separated list of JVM arguments used when running the project. # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. # To set system properties for unit tests define test-sys-prop.name=value: -run.jvmargs=--add-exports jdk.incubator.foreign/jdk.incubator.foreign.unsafe=notzed.zcl +run.jvmargs=--enable-native-access=notzed.zcl -Djava.library.path=/usr/lib64 run.modulepath=\ ${javac.modulepath}:\ ${build.modules.dir} diff --git a/nbproject/project.xml b/nbproject/project.xml index 575ebab..4ab7bb7 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -4,7 +4,6 @@ <configuration> <data xmlns="http://www.netbeans.org/ns/j2se-modular-project/1"> <name>notzed.zcl</name> - <explicit-platform explicit-source-supported="true"/> <source-roots> <root id="src.gen2.dir" pathref="src.gen2.dir.path"/> <root id="src.dir" pathref="src.dir.path"/>