mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
285 lines
14 KiB
XML
285 lines
14 KiB
XML
<?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>
|
|
|
|
<condition property="nbjdk.enable_security_manager" value="-Djava.security.manager=allow" else="">
|
|
<not>
|
|
<or>
|
|
<matches pattern=".*version "1\.8\.?.*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "9("|\.).*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "10("|\.).*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "11("|\.).*" string="${nbjdk.versioninfo}" />
|
|
</or>
|
|
</not>
|
|
</condition>
|
|
|
|
<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}/lib/tools.jar" type="file"/>
|
|
</condition>
|
|
<condition property="nbjdk.home" value="${java.home}">
|
|
<available file="${java.home}/lib/tools.jar" 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>
|
|
|
|
<condition property="nbjdk.enable_security_manager" value="-Djava.security.manager=allow" else="">
|
|
<not>
|
|
<or>
|
|
<matches pattern=".*version "1\.8\.?.*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "9("|\.).*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "10("|\.).*" string="${nbjdk.versioninfo}" />
|
|
<matches pattern=".*version "11("|\.).*" string="${nbjdk.versioninfo}" />
|
|
</or>
|
|
</not>
|
|
</condition>
|
|
|
|
<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="" />
|
|
<condition property="test.nbjdk.java" value="${test.nbjdk.home}/bin/java${.exe}" else="${nbjdk.home}/bin/java${.exe}">
|
|
<and>
|
|
<isset property="test.nbjdk.home" />
|
|
<available file="${test.nbjdk.home}/bin/java${.exe}" type="file"/>
|
|
</and>
|
|
</condition>
|
|
<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>
|