mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
344 lines
16 KiB
XML
344 lines
16 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="harness" basedir="." default="build">
|
|
|
|
<import file="common.xml"/>
|
|
<import file="jdk.xml"/>
|
|
|
|
<target name="taskdefs" unless="${harness.taskdefs.done}">
|
|
<dirname property="harness.dir" file="${harness.file}"/>
|
|
<taskdef classpath="${harness.dir}/tasks.jar" resource="org/netbeans/nbbuild/taskdefs.properties"/>
|
|
<typedef name="pathfileset" classname="org.netbeans.nbbuild.PathFileSet"
|
|
classpath="${harness.dir}/tasks.jar"/>
|
|
<typedef name="islocked" classname="org.netbeans.nbbuild.IsLocked"
|
|
classpath="${harness.dir}/tasks.jar"/>
|
|
<property name="harness.taskdefs.done" value="true"/>
|
|
<fail message="When using cluster.path property, remove netbeans.dest.dir, enabled.clusters and disabled.clusters properties from platform config, they would be ignored.">
|
|
<condition>
|
|
<and>
|
|
<isset property="cluster.path.evaluated"/>
|
|
<or>
|
|
<isset property="netbeans.dest.dir"/>
|
|
<isset property="enabled.clusters"/>
|
|
<isset property="disabled.clusters"/>
|
|
</or>
|
|
<not>
|
|
<isset property="suite.dir"/>
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
</fail>
|
|
</target>
|
|
|
|
<target name="-convert-old-project" depends="-build-dir-init" unless="cluster.path.evaluated">
|
|
<fail unless="netbeans.dest.dir" message="Either cluster.path/cluster.path.evaluated properties or netbeans.dest.dir must be set."/>
|
|
|
|
<pathconvert property="old.project.update.tracking">
|
|
<fileset dir="${netbeans.dest.dir}" includes="**/update_tracking/*.xml"/>
|
|
</pathconvert>
|
|
|
|
<!-- standalone modules don't specify enabled/disabled clusters -->
|
|
<property name="enabled.clusters" value=""/>
|
|
<property name="disabled.clusters" value=""/>
|
|
<property name="disabled.modules" value=""/>
|
|
|
|
<selector id="old.project.included.files">
|
|
<custom classpath="${harness.dir}/tasks.jar" classname="org.netbeans.nbbuild.ModuleSelector">
|
|
<param name="excludeModules" value="${disabled.modules}"/>
|
|
<!-- XXX inc/exc clusters -->
|
|
<param name="includeClusters" value="${enabled.clusters}"/>
|
|
<param name="excludeClusters" value="${disabled.clusters}"/>
|
|
<param name="updateTrackingFiles" value="${old.project.update.tracking}"/>
|
|
</custom>
|
|
</selector>
|
|
|
|
<pathconvert property="old.project.clusters.duplicates" pathsep=" ">
|
|
<fileset dir="${netbeans.dest.dir}">
|
|
<selector refid="old.project.included.files"/>
|
|
</fileset>
|
|
<chainedmapper>
|
|
<mapper type="regexp" from="(^.+)[/\\]config[/\\]Modules[/\\]" to="\1"/> <!-- #71849 -->
|
|
<filtermapper>
|
|
<linecontainsregexp negate="true">
|
|
<regexp pattern="update[/\\]backup[/\\]netbeans[/\\]?$"/>
|
|
</linecontainsregexp>
|
|
</filtermapper>
|
|
</chainedmapper>
|
|
</pathconvert>
|
|
<tempfile property="old.project.clusters.duplicates.file" destdir="${build.dir}" deleteonexit="true" prefix="duplicates"/>
|
|
<mkdir dir="${build.dir}"/>
|
|
<echo file="${old.project.clusters.duplicates.file}" message="${old.project.clusters.duplicates}"/>
|
|
|
|
<pathconvert property="cluster.path.evaluated">
|
|
<union id="old.project.clusters"> <!-- union removes duplicates -->
|
|
<files includesfile="${old.project.clusters.duplicates.file}"/>
|
|
</union>
|
|
</pathconvert>
|
|
</target>
|
|
|
|
<target name="common-init" depends="taskdefs,-build-dir-init,-convert-old-project">
|
|
<property name="netbeans.javadoc.dir" location="${build.dir}/javadoc"/>
|
|
<condition property="cluster.path.basedir" value="${suite.dir}" else="${basedir}">
|
|
<isset property="suite.dir"/>
|
|
</condition>
|
|
<convertclusterpath from="${cluster.path.evaluated}" to="cluster.path.final" id="cluster.path.id" basedir="${cluster.path.basedir}"/>
|
|
</target>
|
|
|
|
<target name="basic-init" depends="projectized-common.basic-init">
|
|
<condition property="suite.build.dir" value="${suite.dir}/build">
|
|
<isset property="suite.dir"/>
|
|
</condition>
|
|
<!-- Must be done even without build-init, or clean will not work. -->
|
|
<condition property="cluster" value="${suite.build.dir}/cluster"> <!-- #59872 -->
|
|
<isset property="suite.build.dir"/>
|
|
</condition>
|
|
<property name="cluster" location="${build.dir}/cluster"/>
|
|
|
|
<condition property="test.dist.dir" value="${suite.build.dir}/testdist">
|
|
<isset property="suite.build.dir"/>
|
|
</condition>
|
|
<property name="test.dist.dir" location="${build.dir}/testdist"/>
|
|
<property name="build.classes.dir" location="${build.dir}/classes"/>
|
|
|
|
</target>
|
|
|
|
<target name="init" depends="basic-init,files-init,build-init,-javac-init"/>
|
|
|
|
<target name="nbm-license-init" unless="license.file">
|
|
<mkdir dir="${build.dir}"/>
|
|
<property name="license.file" location="${build.dir}/no-license.txt"/>
|
|
<echo file="${license.file}">[NO LICENSE SPECIFIED]</echo>
|
|
</target>
|
|
|
|
<target name="build-init" depends="basic-init,nbm-license-init">
|
|
<condition property="public.package.jar.dir" value="${suite.build.dir}/public-package-jars">
|
|
<isset property="suite.build.dir"/>
|
|
</condition>
|
|
<property name="public.package.jar.dir" location="${build.dir}/public-package-jars"/>
|
|
<mkdir dir="${public.package.jar.dir}"/>
|
|
<!-- Similar to projectized.xml but does not try to set NBM homepage/distribution, nor is javahelp.excludes predefined. -->
|
|
<parseprojectxml
|
|
project="."
|
|
publicpackagesproperty="public.packages"
|
|
friendsproperty="friends"
|
|
javadocpackagesproperty="module.javadoc.packages"
|
|
moduledependenciesproperty="module.dependencies"
|
|
moduleclasspathproperty="module.classpath"
|
|
publicpackagejardir="${public.package.jar.dir}"
|
|
moduleprocessorclasspathproperty="module.processor.classpath"
|
|
modulerunclasspathproperty="module.run.classpath"
|
|
classpathextensionsproperty="class.path.extensions"
|
|
>
|
|
<testtype name="unit"
|
|
runtimecp="test.unit.runtime.cp"
|
|
compilecp="test.unit.compile.cp"
|
|
compiledep="test.unit.testdep"/>
|
|
<testtype name="qa-functional"
|
|
runtimecp="test.qa-functional.runtime.cp"
|
|
compilecp="test.qa-functional.compile.cp"
|
|
compiledep="test.qa-functional.testdep"/>
|
|
</parseprojectxml>
|
|
<condition property="is.regular">
|
|
<not>
|
|
<or>
|
|
<isset property="is.autoload"/>
|
|
<isset property="is.eager"/>
|
|
<equals arg1="${module.jar.dir}" arg2="core"/>
|
|
<equals arg1="${module.jar.dir}" arg2="lib"/>
|
|
</or>
|
|
</not>
|
|
</condition>
|
|
<property name="build.compiler.debug" value="true"/>
|
|
<property name="build.compiler.debuglevel" value="source,lines,vars"/>
|
|
<property name="build.compiler.deprecation" value="true"/>
|
|
<property name="build.sysclasspath" value="ignore"/>
|
|
<property name="build.compiler.optimize" value="off"/>
|
|
<property name="build.package.compress" value="false"/>
|
|
<property name="build.package.index" value="false"/>
|
|
<property name="manifest.mf" location="manifest.mf"/>
|
|
<property name="src.dir" location="src"/>
|
|
<property name="nbm" value="${code.name.base.dashes}.nbm"/>
|
|
<property name="nbm.module.author" value=""/>
|
|
<property name="nbm.release.date" value=""/>
|
|
<property name="nbm.needs.restart" value="false"/>
|
|
<property name="nbm.is.global" value=""/>
|
|
<property name="nbm.is.preferredupdate" value=""/>
|
|
<!-- Override if you want to use these: -->
|
|
<property name="nbm.distribution" value=""/>
|
|
<property name="nbm.homepage" value=""/>
|
|
<property name="build.javahelp.dir" location="${build.dir}/javahelp"/>
|
|
<property name="javahelp.base" value="${code.name.base.slashes}/docs"/>
|
|
<property name="javahelp.search" value="JavaHelpSearch"/>
|
|
<pathconvert property="retouche.javac.api">
|
|
<pathfileset>
|
|
<path path="${cluster.path.final}"/>
|
|
<filename name="modules/ext/*javac*api*.jar"/>
|
|
</pathfileset>
|
|
</pathconvert>
|
|
<pathconvert property="retouche.javac.impl">
|
|
<pathfileset>
|
|
<path path="${cluster.path.final}"/>
|
|
<filename name="modules/ext/*javac*impl*.jar"/>
|
|
</pathfileset>
|
|
<fileset dir="${nbjdk.home}/../Classes" erroronmissingdir="false">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
</pathconvert>
|
|
<!-- When requires.nb.javac property is true, prepend javac-api on bootclasspath to allow override the default annotation
|
|
processing API located in rt.jar. On Mac, prepend also javac-impl, so that tests are built against correct version of javac. -->
|
|
<condition property="bootclasspath.prepend" value="${retouche.javac.api}:${retouche.javac.impl}">
|
|
<and>
|
|
<os family="mac"/>
|
|
<istrue value="${requires.nb.javac}"/>
|
|
</and>
|
|
</condition>
|
|
<condition property="bootclasspath.prepend" value="${retouche.javac.api}">
|
|
<istrue value="${requires.nb.javac}"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="-test-branding" if="branding.token"><!-- #197066 -->
|
|
<property name="test-unit-sys-prop.branding.token" value="${branding.token}"/>
|
|
<property name="test-qa-functional-sys-prop.branding.token" value="${branding.token}"/>
|
|
</target>
|
|
<target name="test-lib-init" depends="init,-test-branding">
|
|
<!-- NbModuleSuite must be made to ignore disabled.modules during a test; see discussion in #136621: -->
|
|
<delete failonerror="false">
|
|
<fileset dir="${suite.build.dir}">
|
|
<include name="cluster/config/Modules/*.xml_hidden"/>
|
|
</fileset>
|
|
</delete>
|
|
<path id="test.unit.lib.cp">
|
|
<pathelement path="${test.unit.lib.cp}"/> <!-- for manual override -->
|
|
<!-- As a fallback for old platforms which do not include the right modules: -->
|
|
<pathfileset include="modules/ext/junit-*.jar">
|
|
<path refid="cluster.path.id"/>
|
|
</pathfileset>
|
|
<fileset dir="${netbeans.home}/..">
|
|
<include name="*/modules/ext/junit-*.jar"/>
|
|
</fileset>
|
|
</path>
|
|
</target>
|
|
|
|
<target name="javahelp" depends="init" if="has.javahelp">
|
|
<!-- Similar to projectized.xml but does not fiddle with usersguide/.../ide.css, and finds jhall.jar differently: -->
|
|
<property name="jhall.jar" location="${harness.dir}/antlib/jsearch-2.0_05.jar"/>
|
|
<available property="jhall.jar.exists" file="${jhall.jar}"/>
|
|
<fail unless="jhall.jar.exists">You must set 'jhall.jar' (e.g. in private.properties) to the location of jsearch.jar from a JavaHelp distribution</fail>
|
|
<mkdir dir="${build.javahelp.dir}/${javahelp.base}/${javahelp.search}"/>
|
|
<copy todir="${build.javahelp.dir}">
|
|
<fileset dir="javahelp"/>
|
|
</copy>
|
|
<jhindexer basedir="${build.javahelp.dir}/${javahelp.base}"
|
|
db="${build.javahelp.dir}/${javahelp.base}/${javahelp.search}">
|
|
<classpath>
|
|
<pathelement location="${jhall.jar}"/>
|
|
<pathelement location="${harness.dir}/tasks.jar"/>
|
|
</classpath>
|
|
<include name="**/*.html"/>
|
|
<include name="**/*.htm"/> <!-- Fix for Issue #160276 -->
|
|
<exclude name="${javahelp.search}/"/>
|
|
<exclude name="${javahelp.excludes}"/>
|
|
</jhindexer>
|
|
<mkdir dir="${cluster}/${javahelp.jar.dir}"/>
|
|
<jar jarfile="${cluster}/${javahelp.jar}" compress="true">
|
|
<fileset dir="${build.javahelp.dir}"/>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="javadoc" depends="build-init,-javadoc-init">
|
|
<mkdir dir="${netbeans.javadoc.dir}/${code.name.base.dashes}"/>
|
|
<javadoc destdir="${netbeans.javadoc.dir}/${code.name.base.dashes}" packagenames="${module.javadoc.packages}" source="${javac.source}" windowtitle="${javadoc.title}" encoding="UTF-8" charset="UTF-8">
|
|
<classpath refid="processor.cp"/> <!-- #157320 -->
|
|
<sourcepath>
|
|
<pathelement location="${src.dir}"/>
|
|
<pathelement location="${build.dir}/classes-generated"/>
|
|
</sourcepath>
|
|
<doctitle>${javadoc.title}</doctitle>
|
|
<header>${javadoc.header}</header>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="javadoc-nb" depends="init,javadoc" if="netbeans.home">
|
|
<nbbrowse file="${netbeans.javadoc.dir}/${code.name.base.dashes}/index.html"/>
|
|
</target>
|
|
|
|
<target name="-hide-excluded-modules" if="suite.dir"> <!-- #194563 -->
|
|
<ant dir="${suite.dir}" inheritall="false" target="-hide-excluded-modules"/>
|
|
</target>
|
|
|
|
<target name="run" depends="netbeans,-hide-excluded-modules">
|
|
<ant antfile="${harness.dir}/run.xml" target="run">
|
|
<reference refid="cluster.path.id"/>
|
|
</ant>
|
|
</target>
|
|
|
|
<target name="-profile-check" if="netbeans.home">
|
|
<condition property="profiler.configured">
|
|
<or>
|
|
<contains string="${run.args.ide}" substring="-agentpath:" casesensitive="true"/>
|
|
<contains string="${run.args.ide}" substring="-javaagent:" casesensitive="true"/>
|
|
</or>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="-do-profile" depends="netbeans,-hide-excluded-modules,-jdk-presetdef-nbprofiledirect">
|
|
<ant antfile="${harness.dir}/run.xml" target="profile">
|
|
<reference refid="cluster.path.id"/>
|
|
</ant>
|
|
</target>
|
|
<target name="-try-profile" depends="-profile-check" if="profiler.configured">
|
|
<antcall target="-do-profile"/>
|
|
</target>
|
|
|
|
<target name="profile">
|
|
<ant antfile="${harness.dir}/run.xml" target="-profile-check"/>
|
|
<antcall target="-try-profile"/>
|
|
</target>
|
|
|
|
<target name="debug" depends="netbeans,-hide-excluded-modules,-jdk-presetdef-nbjpdastart">
|
|
<ant antfile="${harness.dir}/run.xml" target="debug">
|
|
<reference refid="cluster.path.id"/>
|
|
</ant>
|
|
</target>
|
|
|
|
<target name="reload" depends="netbeans">
|
|
<ant antfile="${harness.dir}/run.xml" target="run">
|
|
<property name="run.args" value='--reload "${cluster}/${module.jar}" --nosplash'/>
|
|
<property name="run.args.extra" value=""/>
|
|
<reference refid="cluster.path.id"/>
|
|
</ant>
|
|
</target>
|
|
|
|
<target name="reload-in-ide" depends="netbeans">
|
|
<fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
|
|
<nbinstaller module="${cluster}/${module.jar}" action="reinstall"/>
|
|
</target>
|
|
|
|
<target name="-copy-testxmlresults">
|
|
<copy todir="${test.xml.results.dir}" flatten="true" failonerror="false">
|
|
<fileset dir="${build.dir}/test" includes="*/results/TEST-*.xml"/>
|
|
</copy>
|
|
</target>
|
|
|
|
</project>
|