<?
xml version =
"1.0" encoding =
"UTF-8" ?>
<!--
Licensed to the Apache Software Foundation ( ASF ) under one
or more contributor license agreements . See the NOTICE file
distributed with this work for additional information
regarding copyright ownership . The ASF licenses this file
to you under the Apache License , Version 2 . 0 ( the
" License " ) ; you may not use this file except in compliance
with the License . You may obtain a copy of the License at
http : / / www . apache . org / licenses / LICENSE - 2 . 0
Unless required by applicable law or agreed to in writing ,
software distributed under the License is distributed on an
" AS IS " BASIS , WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND , either express or implied . See the License for the
specific language governing permissions and limitations
under the License .
-->
<project name=
"jdk" basedir=
"." >
<description>
Permits selection of a JDK to use when building and running NetBeans.
For details on usage, see apisupport/harness/release/README (in sources)
or harness/README (in binaries). Cf. issue #
63541 .
</description>
<target name=
"-jdk-pre-preinit" >
<condition property=
"nbjdk.active-or-nbjdk.home" >
<or>
<and>
<isset property=
"nbjdk.active" />
<not>
<equals arg1=
"${nbjdk.active}" arg2=
"default" />
</not>
</and>
<and>
<isset property=
"nbjdk.home" />
<not>
<isset property=
"nbjdk.home.defaulted" />
</not>
</and>
</or>
</condition>
</target>
<target name=
"-jdk-preinit" depends=
"-jdk-pre-preinit" if=
"nbjdk.active-or-nbjdk.home" xmlns :common=
"http://nbbuild.netbeans.org/jdk.xml " >
<macrodef name=
"property" uri =
"http://nbbuild.netbeans.org/jdk.xml " >
<attribute name=
"name" />
<attribute name=
"value" />
<sequential>
<property name=
"@{name}" value=
"${@{value}}" />
</sequential>
</macrodef>
<common:property name=
"nbjdk.home" value=
"platforms.${nbjdk.active}.home" />
<common:property name=
"nbjdk.javac.tmp" value=
"platforms.${nbjdk.active}.javac" />
<condition property=
".exe" value=
".exe" >
<os family=
"windows" />
<!-- #72467 -->
</condition>
<property name=
".exe" value=
"" />
<condition property=
"nbjdk.javac" value=
"${nbjdk.home}/bin/javac${.exe}" >
<equals arg1=
"${nbjdk.javac.tmp}" arg2=
"$${platforms.${nbjdk.active}.javac}" />
</condition>
<property name=
"nbjdk.javac" value=
"${nbjdk.javac.tmp}" />
<common:property name=
"nbjdk.java.tmp" value=
"platforms.${nbjdk.active}.java" />
<condition property=
"nbjdk.java" value=
"${nbjdk.home}/bin/java${.exe}" >
<equals arg1=
"${nbjdk.java.tmp}" arg2=
"$${platforms.${nbjdk.active}.java}" />
</condition>
<property name=
"nbjdk.java" value=
"${nbjdk.java.tmp}" />
<common:property name=
"nbjdk.javadoc.tmp" value=
"platforms.${nbjdk.active}.javadoc" />
<condition property="nbjdk.javadoc" value="${nbjdk.home}/bin/javadoc${.exe}" >
<equals arg1="${nbjdk.javadoc.tmp}" arg2="$${platforms.${nbjdk.active}.javadoc}" />
</condition>
<property name="nbjdk.javadoc" value="${nbjdk.javadoc.tmp}" />
<common:property name="nbjdk.bootclasspath.tmp" value="platforms.${nbjdk.active}.bootclasspath" />
<condition property="nbjdk.bootclasspath" value="${nbjdk.home}/../Classes/classes.jar:${nbjdk.home}/../Classes/jsse.jar:${nbjdk.home}/../Classes/jce.jar:${nbjdk.home}/../Classes/ui.jar:${nbjdk.home}/../Classes/laf.jar:${nbjdk.home}/../Classes/sunrsasign.jar:${nbjdk.home}/../Classes/charsets.jar" >
<and>
<equals arg1="${nbjdk.bootclasspath.tmp}" arg2="$${platforms.${nbjdk.active}.bootclasspath}" />
<available file="${nbjdk.home}/../Classes/classes.jar" type ="file" />
</and>
</condition>
<pathconvert property="nbjdk.bootclasspath.standard" >
<path>
<fileset dir="${nbjdk.home}/jre/lib" erroronmissingdir="false" includes="*.jar" />
</path>
</pathconvert>
<condition property="nbjdk.bootclasspath" value="${nbjdk.bootclasspath.standard}" >
<equals arg1="${nbjdk.bootclasspath.tmp}" arg2="$${platforms.${nbjdk.active}.bootclasspath}" />
</condition>
<property name="nbjdk.bootclasspath" value="${nbjdk.bootclasspath.tmp}" />
<condition property="nbjdk.valid" >
<and>
<available file="${nbjdk.home}" type ="dir" />
<available file="${nbjdk.javac}" type ="file" />
<available file="${nbjdk.java}" type ="file" />
<available file="${nbjdk.javadoc}" type ="file" />
<or>
<available classname="java.lang.Object" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available file="${nbjdk.home}/bin/jmod${.exe}" />
</or>
</and>
</condition>
<exec executable="${nbjdk.home}/bin/java" outputproperty="nbjdk.versioninfo" >
<arg value="-version" />
</exec>
<available property="have-jdk-1.4" classname="java.lang.CharSequence" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available property="have-jdk-1.5" classname="java.lang.StringBuilder" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available property="have-jdk-1.6" classname="java.util.ServiceLoader" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available property="have-jdk-1.7" classname="java.lang.ReflectiveOperationException" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available property="have-jdk-1.8" classname="java.lang.FunctionalInterface" classpath="${nbjdk.bootclasspath}" ignoresystemclasses="true" />
<available property="have-jdk-1.9" file="${nbjdk.home}/bin/jmod${.exe}" />
<echo level="verbose" >nbjdk.active=${nbjdk.active} nbjdk.home=${nbjdk.home} nbjdk.java=${nbjdk.java} nbjdk.javac=${nbjdk.javac} nbjdk.javadoc=${nbjdk.javadoc} nbjdk.bootclasspath=${nbjdk.bootclasspath} nbjdk.valid=${nbjdk.valid} have-jdk-1 .4 =${have-jdk-1 .4 } have-jdk-1 .5 =${have-jdk-1 .5 } have-jdk-1 .6 =${have-jdk-1 .6 } have-jdk-1 .7 =${have-jdk-1 .7 } have-jdk-1 .8 =${have-jdk-1 .8 } have-jdk-1 .9 =${have-jdk-1 .9 }</echo>
</target>
<target name="-jdk-warn" depends="-jdk-preinit" if="nbjdk.active-or-nbjdk.home" unless="nbjdk.valid" >
<property name="jdkhome.presumed" location="${java.home}/.." />
<echo level="warning" >Warning: nbjdk.active=${nbjdk.active} or nbjdk.home=${nbjdk.home} is an invalid Java platform; ignoring and using ${jdkhome.presumed}</echo>
</target>
<target name="-jdk-presetdef-basic" depends="-jdk-preinit" if="nbjdk.valid" unless="jdk.presetdef.basic.done" >
<!-- Have to eval these props now, not when used, because of usages of <ant ... inheritall="false"> -->
<!-- (cf. http://issues.apache.org/bugzilla/show_bug.cgi?id=38040) -->
<macrodef name="javac-presetdef" >
<attribute name="javacval" />
<sequential>
<presetdef name="javac" >
<javac fork="yes" executable="@{javacval}" />
</presetdef>
</sequential>
</macrodef>
<javac-presetdef javacval="${nbjdk.javac}" />
<macrodef name="java-presetdef" >
<attribute name="javaval" />
<sequential>
<presetdef name="java" >
<java fork="yes" jvm="@{javaval}" />
</presetdef>
</sequential>
</macrodef>
<java-presetdef javaval="${nbjdk.java}" />
<macrodef name="javadoc-presetdef" >
<attribute name="javadocval" />
<sequential>
<presetdef name="javadoc" >
<javadoc executable="@{javadocval}" />
</presetdef>
</sequential>
</macrodef>
<javadoc-presetdef javadocval="${nbjdk.javadoc}" />
<macrodef name="junit-presetdef" >
<attribute name="javaval" />
<sequential>
<presetdef name="junit" >
<junit fork="yes" jvm="@{javaval}" />
</presetdef>
</sequential>
</macrodef>
<junit-presetdef javaval="${nbjdk.java}" />
<property name="jdk.presetdef.basic.done" value="true" />
</target>
<target name="-jdk-presetdef-nbjpdastart" depends="-jdk-preinit" if="nbjdk.valid" unless="jdk.presetdef.nbjpdastart.done" >
<macrodef name="nbjpdastart-presetdef" >
<attribute name="bootcpval" />
<sequential>
<presetdef name="nbjpdastart" >
<nbjpdastart>
<bootclasspath>
<path path="@{bootcpval}" />
</bootclasspath>
</nbjpdastart>
</presetdef>
</sequential>
</macrodef>
<nbjpdastart-presetdef bootcpval="${nbjdk.bootclasspath}" />
<property name="jdk.presetdef.nbjpdastart.done" value="true" />
</target>
<target name="-jdk-presetdef-nbprofiledirect" depends="-jdk-preinit" if="nbjdk.valid" unless="jdk.presetdef.nbprofiledirect.done" >
<!-- XXX disable for now, but could be considered:
< macrodef name = " nbprofiledirect - presetdef " >
< attribute name = " javaval " / >
< sequential >
< presetdef name = " nbprofiledirect " >
< nbprofiledirect jvmproperty = " @ { javaval } " / >
< / presetdef >
< / sequential >
< / macrodef >
< nbprofiledirect - presetdef javaval = " $ { nbjdk . java } " / >
-->
<property name="jdk.presetdef.nbprofiledirect.done" value="true" />
</target>
<target name="-jdk-default" unless="nbjdk.active-or-nbjdk.home" >
<!-- Define fallback values of some things. -->
<property name="java.home.parent" location="${java.home}/.." />
<condition property="nbjdk.home" value="${java.home.parent}" >
<available file="${java.home.parent}/jmods/java.base.jmod" type ="file" />
</condition>
<condition property="nbjdk.home" value="${java.home}" >
<available file="${java.home}/jmods/java.base.jmod" type ="file" />
</condition>
<!-- Mac OS X -->
<condition property="nbjdk.home" value="${java.home}" >
<available file="${java.home}/../Classes/classes.jar" type ="file" />
</condition>
<!-- Fallback? -->
<property name="nbjdk.home" location="${java.home}" />
<exec executable="${nbjdk.home}/bin/java" outputproperty="nbjdk.versioninfo" >
<arg value="-version" />
</exec>
<available property="have-jdk-1.4" classname="java.lang.CharSequence" />
<available property="have-jdk-1.5" classname="java.lang.StringBuilder" />
<available property="have-jdk-1.6" classname="java.util.ServiceLoader" />
<available property="have-jdk-1.7" classname="java.lang.ReflectiveOperationException" />
<available property="have-jdk-1.8" classname="java.lang.FunctionalInterface" />
<available property="have-jdk-1.9" classname="java.util.zip.CRC32C" />
<property name="nbjdk.home.defaulted" value="true" />
</target>
<target name="-jdk-init" depends="-jdk-preinit,-jdk-warn,-jdk-presetdef-basic,-jdk-default" >
<!-- Will be bogus on Mac OS X, but doesn't matter - Classes/classes.jar should have this anyway -->
<property name="tools.jar" location="${nbjdk.home}/lib/tools.jar" />
<!--<echo level="info">Using JDK: ${nbjdk.home}</echo>-->
<condition property=".exe" value=".exe" >
<os family="windows" /> <!-- #72467 -->
</condition>
<property name=".exe" value="" />
<property name="test.nbjdk.home" location="${nbjdk.home}" />
<property name="test.nbjdk.java" location="${test.nbjdk.home}/bin/java${.exe}" />
<available property="have-jdk-1.9" file="${nbjdk.home}/bin/jmod${.exe}" />
<condition property="test-have-jdk-1.9" >
<or>
<and>
<isset property="test.nbjdk.home" />
<available file="${test.nbjdk.home}/bin/jmod${.exe}" type ="file" />
</and>
<and>
<not>
<isset property="test.nbjdk.home" />
</not>
<available file="${nbjdk.home}/bin/java${.exe}" type ="file" />
</and>
</or>
</condition>
</target>
</project>
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-28)
¤
*© Formatika GbR, Deutschland