mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
1479 lines
78 KiB
XML
1479 lines
78 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="projectized-common" basedir=".">
|
|
|
|
<!-- XXX supply descriptions for the appropriate targets -->
|
|
<!-- XXX should use namespaces for NB in-VM tasks from ant/browsetask and debuggerjpda/ant and apisupport/ant -->
|
|
<!-- XXX move more things here from projectized.xml when possible and desirable -->
|
|
|
|
<condition property="testcoverage.import" value="testcoverage.xml">
|
|
<and>
|
|
<isset property="harness.dir"/>
|
|
<available file="testcoverage.xml" filepath="${harness.dir}"/>
|
|
</and>
|
|
</condition>
|
|
<condition property="testcoverage.import" value="${netbeans.dest.dir}/harness/testcoverage.xml">
|
|
<and>
|
|
<isset property="netbeans.dest.dir"/>
|
|
<available file="testcoverage.xml" filepath="${netbeans.dest.dir}/harness"/>
|
|
</and>
|
|
</condition>
|
|
<property name="testcoverage.import" value="no-testcoverage.xml"/>
|
|
<import file="${testcoverage.import}"/>
|
|
|
|
<target name="-build-dir-init">
|
|
<property name="build.dir" location="build"/>
|
|
</target>
|
|
|
|
<target name="basic-init" depends="common-init,-jdk-init">
|
|
<!-- Synch the following property loads with NbModuleProject.makeEvalDefs: -->
|
|
<property file="nbproject/private/private.properties"/>
|
|
<property file="nbproject/project.properties"/>
|
|
<!-- Do not try to set module.classpath here, in particular: -->
|
|
<!-- during a clean, the ${foo/bar.dir} properties may not be set. -->
|
|
<parseprojectxml project="."
|
|
codenamebaseproperty="code.name.base"
|
|
codenamebasedashesproperty="code.name.base.dashes"
|
|
codenamebaseslashesproperty="code.name.base.slashes"
|
|
/>
|
|
<property name="module.jar.dir" value="modules"/>
|
|
<property name="module.jar.basename" value="${code.name.base.dashes}.jar"/>
|
|
<property name="module.jar" value="${module.jar.dir}/${module.jar.basename}"/>
|
|
<available property="has.javahelp" file="javahelp" type="dir"/>
|
|
<property name="javahelp.jar.dir" value="modules/docs"/>
|
|
<property name="javahelp.jar.basename" value="${code.name.base.dashes}.jar"/>
|
|
<property name="javahelp.jar" value="${javahelp.jar.dir}/${javahelp.jar.basename}"/>
|
|
<condition property="javahelp.class.path.extension" value="docs/${javahelp.jar.basename}">
|
|
<isset property="has.javahelp"/>
|
|
</condition>
|
|
<property name="javac.source" value="1.7"/>
|
|
<property name="javac.default.target" value="${javac.source}"/>
|
|
<property name="javac.target" value="${javac.default.target}"/>
|
|
<property name="javac.compilerargs" value=""/>
|
|
<property name="module.auto.deps.xml" location="module-auto-deps.xml"/>
|
|
<condition property="has.module.auto.deps">
|
|
<available file="${module.auto.deps.xml}"/>
|
|
</condition>
|
|
<property name="jar-excludes" value="**/*.java,**/*.form,**/package.html,**/doc-files/"/>
|
|
<property name="module.jar.verifylinkageignores" value=""/>
|
|
<property name="cp.extra" value=""/>
|
|
<tstamp>
|
|
<format property="module.build.started.time" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
|
|
</tstamp>
|
|
<condition property="asm.jar" value="${nbplatform.active.dir}/platform/core/asm-9.3.jar">
|
|
<available file="${nbplatform.active.dir}/platform/core/asm-9.3.jar"/>
|
|
</condition>
|
|
<property name="asm.jar" location="${platform/libs.asm.dir}/core/asm-9.3.jar"/>
|
|
<property name="tsaurl" value=""/>
|
|
<property name="tsacert" value=""/>
|
|
</target>
|
|
|
|
<target name="-release.dir">
|
|
<property name="release.dir" location="release"/>
|
|
<condition property="has.release.dir">
|
|
<available file="${release.dir}"/>
|
|
</condition>
|
|
</target>
|
|
<target name="-release.files" depends="-release.dir" if="has.release.dir">
|
|
<pathconvert pathsep="," property="release.files">
|
|
<path>
|
|
<fileset dir="${release.dir}"/>
|
|
</path>
|
|
<filtermapper>
|
|
<replacestring from="${release.dir}${file.separator}" to=""/>
|
|
<replacestring from=" " to="?"/>
|
|
</filtermapper>
|
|
</pathconvert>
|
|
</target>
|
|
<target name="files-init" depends="basic-init,-release.files">
|
|
<property name="release.files" value=""/>
|
|
<property name="release.files.extra" value=""/>
|
|
<property name="extra.module.files" value=""/>
|
|
<patternset id="module.files" includes="${release.files},${release.files.extra},${extra.module.files}">
|
|
<include name="${module.jar}"/>
|
|
<include name="${javahelp.jar}" if="has.javahelp"/>
|
|
<include name="config/Modules/${code.name.base.dashes}.xml"/>
|
|
<include name="config/ModuleAutoDeps/${code.name.base.dashes}.xml" if="has.module.auto.deps"/>
|
|
<include name="ant/nblib/${code.name.base.dashes}.jar"/>
|
|
</patternset>
|
|
</target>
|
|
|
|
<target name="-javac-init-nbjdk" depends="-jdk-preinit" if="nbjdk.valid">
|
|
<macrodef name="custom-javac-presetdef">
|
|
<attribute name="javacval"/>
|
|
<sequential>
|
|
<presetdef name="custom-javac">
|
|
<custom-javac executable="@{javacval}"/>
|
|
</presetdef>
|
|
</sequential>
|
|
</macrodef>
|
|
<custom-javac-presetdef javacval="${nbjdk.javac}"/>
|
|
</target>
|
|
|
|
<target name="-javac-init-bootclasspath-prepend" depends="build-init" if="bootclasspath.prepend">
|
|
<presetdef name="nb-javac">
|
|
<custom-javac>
|
|
<bootclasspath>
|
|
<path path="${nbjdk.bootclasspath}"/>
|
|
</bootclasspath>
|
|
<compilerarg value="-Xbootclasspath/p:${bootclasspath.prepend}" />
|
|
</custom-javac>
|
|
</presetdef>
|
|
</target>
|
|
|
|
<target name="-javac-init-no-bootclasspath-prepend" depends="build-init" unless="bootclasspath.prepend">
|
|
<presetdef name="nb-javac">
|
|
<custom-javac>
|
|
<bootclasspath>
|
|
<path path="${nbjdk.bootclasspath}"/>
|
|
</bootclasspath>
|
|
</custom-javac>
|
|
</presetdef>
|
|
</target>
|
|
|
|
<target name="-javac-init" depends="build-init,-javac-init-nbjdk,-javac-init-bootclasspath-prepend,-javac-init-no-bootclasspath-prepend">
|
|
<path id="cp">
|
|
<pathelement path="${module.classpath}"/>
|
|
<pathelement path="${cp.extra}"/>
|
|
</path>
|
|
<path id="processor.cp">
|
|
<pathelement path="${module.processor.classpath}"/>
|
|
<pathelement path="${cp.extra}"/>
|
|
</path>
|
|
<!-- Unlike ${module.classpath}, this does not use publicPackageJarDir, since processors need not be in public packages. -->
|
|
<!-- Also needs to include transitive dependencies. -->
|
|
</target>
|
|
|
|
<target name="up-to-date" depends="init">
|
|
<uptodate targetfile="${cluster}/${module.jar}" property="is.jar.uptodate">
|
|
<srcfiles dir="${src.dir}"/>
|
|
<srcfiles dir="nbproject">
|
|
<include name="project.xml"/>
|
|
<include name="project.properties"/>
|
|
</srcfiles>
|
|
<srcfiles dir=".">
|
|
<include name="manifest.mf"/>
|
|
</srcfiles>
|
|
<srcresources>
|
|
<path refid="cp"/>
|
|
</srcresources>
|
|
</uptodate>
|
|
</target>
|
|
|
|
<target name="update" depends="basic-init">
|
|
<fail
|
|
message="Please specify URL of catalog to perform the update from via -Dautoupdate.catalog.url=..."
|
|
unless="autoupdate.catalog.url"
|
|
/>
|
|
<autoupdate
|
|
updatecenter="${autoupdate.catalog.url}"
|
|
todir="${cluster}"
|
|
>
|
|
<modules includes="${code.name.base}"/>
|
|
</autoupdate>
|
|
</target>
|
|
|
|
<extension-point name="-pre-compile" depends="init,up-to-date"/>
|
|
<extension-point name="-post-compile" depends="-pre-compile,-do-compile"/>
|
|
<target name="compile" depends="-pre-compile,-do-compile,-post-compile"/>
|
|
<target name="-do-compile" depends="init,up-to-date,-pre-compile" unless="is.jar.uptodate">
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<depend srcdir="${src.dir}" destdir="${build.classes.dir}" cache="${build.dir}/depcache">
|
|
<classpath refid="cp"/>
|
|
</depend>
|
|
<property name="javac.fork" value="false"/>
|
|
<nb-javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="${build.compiler.debug}" debuglevel="${build.compiler.debuglevel}" encoding="UTF-8"
|
|
deprecation="${build.compiler.deprecation}" optimize="${build.compiler.optimize}" source="${javac.source}" target="${javac.target}" includeantruntime="false"
|
|
fork="${javac.fork}"
|
|
>
|
|
<classpath refid="cp"/>
|
|
<compilerarg line="${javac.compilerargs}"/>
|
|
<processorpath refid="processor.cp"/>
|
|
</nb-javac>
|
|
<copy todir="${build.classes.dir}">
|
|
<fileset dir="${src.dir}" excludes="${jar-excludes}"/>
|
|
</copy>
|
|
<processjsannotation classes="${build.classes.dir}" asm="${asm.jar}">
|
|
<classpath refid="cp"/>
|
|
</processjsannotation>
|
|
</target>
|
|
|
|
<target name="compile-single" depends="init">
|
|
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<pathconvert pathsep="${line.separator}" property="javac.includes.binary">
|
|
<path>
|
|
<filelist dir="${build.classes.dir}" files="${javac.includes}"/>
|
|
</path>
|
|
<globmapper from="*.java" to="*.class"/>
|
|
</pathconvert>
|
|
<tempfile deleteonexit="true" property="javac.includesfile.binary"/>
|
|
<echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
|
|
<delete>
|
|
<files includesfile="${javac.includesfile.binary}"/>
|
|
</delete>
|
|
<delete>
|
|
<fileset file="${javac.includesfile.binary}"/>
|
|
</delete>
|
|
<nb-javac srcdir="${src.dir}" destdir="${build.classes.dir}"
|
|
debug="${build.compiler.debug}" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
|
|
source="${javac.source}" target="${javac.target}" includes="${javac.includes}" optimize="${build.compiler.optimize}" includeantruntime="false">
|
|
<classpath refid="cp"/>
|
|
<compilerarg line="${javac.compilerargs}"/>
|
|
<processorpath refid="processor.cp"/>
|
|
</nb-javac>
|
|
<processjsannotation classes="${build.classes.dir}" asm="${asm.jar}">
|
|
<classpath refid="cp"/>
|
|
</processjsannotation>
|
|
</target>
|
|
|
|
<target name="jar-prep" depends="init">
|
|
<mkdir dir="${cluster}/${module.jar.dir}"/>
|
|
<tstamp>
|
|
<format property="buildnumber" pattern="yyMMdd" timezone="UTC"/>
|
|
</tstamp>
|
|
</target>
|
|
|
|
<extension-point name="-pre-jar" depends="init,compile,jar-prep"/>
|
|
<extension-point name="-post-jar" depends="-pre-jar,-do-jar"/>
|
|
<target name="jar" depends="-pre-jar,-do-jar,-post-jar"/>
|
|
<target name="-do-jar" depends="init,compile,jar-prep,-pre-jar" unless="is.jar.uptodate">
|
|
<!-- This task adds some or all of: -Public-Packages, -Friends, Class-Path, -IDE-Dependencies, -Module-Dependencies, -Specification-Version, -Implementation-Version, -Build-Version, AutoUpdate-Show-In-Client -->
|
|
<jarwithmoduleattributes jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
|
|
<fileset dir="${build.classes.dir}"/>
|
|
</jarwithmoduleattributes>
|
|
</target>
|
|
|
|
<!-- Can insert extra stuff in here: -->
|
|
<target name="netbeans-extra"/>
|
|
|
|
<target name="-init-startlevel">
|
|
<property name="module.startlevel" value=""/>
|
|
<property name="check.module.startlevel" value="true"/>
|
|
</target>
|
|
|
|
<target name="module-xml-regular" if="is.regular" depends="-init-startlevel">
|
|
<mkdir dir="${cluster}/config/Modules"/>
|
|
<createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
|
|
<enabled dir="${cluster}">
|
|
<include name="${module.jar}"/>
|
|
</enabled>
|
|
</createmodulexml>
|
|
</target>
|
|
|
|
<target name="module-xml-autoload" if="is.autoload" depends="-init-startlevel">
|
|
<mkdir dir="${cluster}/config/Modules"/>
|
|
<createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
|
|
<autoload dir="${cluster}">
|
|
<include name="${module.jar}"/>
|
|
</autoload>
|
|
</createmodulexml>
|
|
</target>
|
|
|
|
<target name="module-xml-eager" if="is.eager" depends="-init-startlevel">
|
|
<mkdir dir="${cluster}/config/Modules"/>
|
|
<createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
|
|
<eager dir="${cluster}">
|
|
<include name="${module.jar}"/>
|
|
</eager>
|
|
</createmodulexml>
|
|
</target>
|
|
|
|
<target name="module-auto-deps" depends="basic-init" if="has.module.auto.deps">
|
|
<mkdir dir="${cluster}/config/ModuleAutoDeps"/>
|
|
<copy file="${module.auto.deps.xml}" tofile="${cluster}/config/ModuleAutoDeps/${code.name.base.dashes}.xml"/>
|
|
</target>
|
|
|
|
<extension-point name="-pre-release"/>
|
|
<extension-point name="-post-release" depends="-pre-release,-do-release"/>
|
|
<target name="release" depends="-pre-release,-do-release,-post-release"/>
|
|
<target name="-do-release" depends="files-init,-pre-release" if="has.release.dir">
|
|
<mkdir dir="${cluster}"/>
|
|
<copy todir="${cluster}" overwrite="true">
|
|
<fileset dir="${release.dir}">
|
|
<patternset includes="${release.files}"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="chmod-executables" depends="-init-executables">
|
|
<chmod perm="a+x">
|
|
<fileset refid="module.executable.files"/>
|
|
</chmod>
|
|
</target>
|
|
|
|
<target name="verify-class-linkage" depends="jar,release">
|
|
<!-- <verifyclasslinkage jar="${cluster}/${module.jar}" failonerror="false" ignores="${module.jar.verifylinkageignores}" maxwarnings="10">
|
|
<classpath refid="cp"/>
|
|
<classpath path="${nbjdk.bootclasspath}"/>
|
|
</verifyclasslinkage>-->
|
|
</target>
|
|
|
|
<target name="-verify-apichanges"/><!-- just for overriding -->
|
|
|
|
<target name="-validate-layers" depends="init">
|
|
<parsemanifest manifest="${manifest.mf}" attribute="OpenIDE-Module-Layer" property="layer.file"/>
|
|
<!-- DTD from sources -->
|
|
<available file="${nb_all}/platform/openide.filesystems/src/org/openide/filesystems/filesystem.dtd" type="file"
|
|
property="dtd.cp" value="${nb_all}/platform/openide.filesystems/src"/>
|
|
<!-- DTD from platform -->
|
|
<pathconvert property="dtd.cp">
|
|
<pathfileset>
|
|
<path refid="cluster.path.id"/>
|
|
<filename name="core/org-openide-filesystems.jar"/>
|
|
</pathfileset>
|
|
</pathconvert>
|
|
|
|
<xmlvalidate warn="no"> <!-- failonerror="false" -->
|
|
<fileset file="${src.dir}/${layer.file}" erroronmissingdir="false"/>
|
|
<xmlcatalog classpath="${dtd.cp}">
|
|
<dtd publicId="-//NetBeans//DTD Filesystem 1.0//EN"
|
|
location="org/openide/filesystems/filesystem.dtd"/>
|
|
<dtd publicId="-//NetBeans//DTD Filesystem 1.1//EN"
|
|
location="org/openide/filesystems/filesystem1_1.dtd"/>
|
|
<dtd publicId="-//NetBeans//DTD Filesystem 1.2//EN"
|
|
location="org/openide/filesystems/filesystem1_2.dtd"/>
|
|
</xmlcatalog>
|
|
</xmlvalidate>
|
|
</target>
|
|
|
|
<target name="-netbeans" depends="init,jar,netbeans-extra,javahelp,module-auto-deps,release,module-xml-regular,
|
|
module-xml-autoload,module-xml-eager,chmod-executables,verify-class-linkage,
|
|
-validate-layers,-verify-apichanges"/>
|
|
|
|
<target name="netbeans" depends="-netbeans">
|
|
<property name="module.files.toString" refid="module.files"/>
|
|
<echo level="verbose">Basic matching module files: ${module.files.toString}</echo>
|
|
<genlist outputfiledir="${cluster}" module="${module.jar}">
|
|
<fileset dir="${cluster}">
|
|
<patternset refid="module.files"/>
|
|
</fileset>
|
|
</genlist>
|
|
</target>
|
|
|
|
<target name="build" depends="netbeans,test-build"/>
|
|
|
|
<target name="-jnlp-init">
|
|
<fail unless="jnlp.dest.dir" >
|
|
You have to provide value to jnlp.dest.dir property!
|
|
</fail>
|
|
<mkdir dir="${jnlp.dest.dir}" />
|
|
<makeurl property="jnlp.codebase" file="${jnlp.dest.dir}"/>
|
|
<property name="jnlp.signjar.alias" value="jnlp" />
|
|
<property name="jnlp.signjar.keystore" location="${jnlp.dest.dir}/default.keystore" />
|
|
<property name="jnlp.signjar.password" value="netbeans" />
|
|
<property name="jnlp.permissions" value="<security><all-permissions/></security>"/>
|
|
<property name="jnlp.verify.excludes" value="" />
|
|
<!-- Oddly, <available> as a task overrides existing properties, which is not what we want here. -->
|
|
<condition property="jnlp.sign.jars" value="true">
|
|
<available file="${jnlp.signjar.keystore}"/>
|
|
</condition>
|
|
<property name="jnlp.sign.jars" value="false"/>
|
|
<property name="jnlp.indirect.jars" value="[NOTHING]"/>
|
|
<property name="jnlp.indirect.files" value="[NOTHING]"/>
|
|
<property name="jnlp.generate.versions" value="false"/>
|
|
</target>
|
|
|
|
<target name="jnlp" depends="init,netbeans,jnlp-master,-jnlp-init" description="Builds JNLP descriptor and signs JAR files" >
|
|
<makejnlp
|
|
dir="${jnlp.dest.dir}"
|
|
alias="${jnlp.signjar.alias}"
|
|
storepass="${jnlp.signjar.password}"
|
|
keystore="${jnlp.signjar.keystore}"
|
|
codebase="${jnlp.codebase}"
|
|
verify="true"
|
|
verifyexcludes="${jnlp.verify.excludes}"
|
|
permissions="${jnlp.permissions}"
|
|
signjars="${jnlp.sign.jars}"
|
|
processjarversions="${jnlp.generate.versions}"
|
|
>
|
|
<modules dir="${cluster}" >
|
|
<include name="${module.jar}" />
|
|
</modules>
|
|
<indirectjars dir="${cluster}" includes="${jnlp.indirect.jars}"/>
|
|
<indirectfiles dir="${cluster}" includes="${jnlp.indirect.files}"/>
|
|
</makejnlp>
|
|
</target>
|
|
|
|
<target name="jnlp-master" depends="init,netbeans" if="jnlp.master.dir" >
|
|
<property name="jnlp.master.codebase" value="" />
|
|
<makemasterjnlp
|
|
dir="${jnlp.master.dir}"
|
|
codebase="${jnlp.master.codebase}"
|
|
>
|
|
<modules dir="${cluster}" >
|
|
<include name="${module.jar}" />
|
|
</modules>
|
|
</makemasterjnlp>
|
|
</target>
|
|
|
|
|
|
<target name="-nbm-prompt-for-storepass" if="keystore" unless="storepass">
|
|
<input addproperty="storepass" message="Enter password for ${keystore}:">
|
|
<handler type="secure"/>
|
|
</input>
|
|
</target>
|
|
|
|
<target name="-init-executables">
|
|
<property name="nbm.executable.files" value="[NOTHING]"/><!-- fallback -->
|
|
<fileset dir="${cluster}" id="module.executable.files" includes="${nbm.executable.files}"/>
|
|
</target>
|
|
|
|
<target name="-init-extra.nbm.files" unless="extra.nbm.files.provided"> <!-- fallback -->
|
|
<zipfileset dir="${cluster}" id="extra.nbm.files" includes="[NOTHING]"/>
|
|
</target>
|
|
|
|
<extension-point name="-pre-nbm" depends="init,netbeans,-nbm-prompt-for-storepass,-init-executables,-init-extra.nbm.files"/>
|
|
<extension-point name="-post-nbm" depends="-pre-nbm,-do-nbm"/>
|
|
<target name="nbm" depends="-pre-nbm,-do-nbm,-post-nbm"/>
|
|
<target name="-do-nbm" depends="init,netbeans,-nbm-prompt-for-storepass,-init-executables,-init-extra.nbm.files,-pre-nbm" description="Build NBM archive.">
|
|
<mkdir dir="${build.dir}"/>
|
|
<property name="nbm.target.cluster" value=""/> <!-- fallback -->
|
|
<property name="license.file.override" value="${license.file}"/>
|
|
<property name="use.pack200" value="false"/>
|
|
<property name="pack200.excludes" value=""/>
|
|
<property name="nbm.locales" value="${locales}"/>
|
|
<makenbm file="${build.dir}/${nbm}"
|
|
productdir="${cluster}"
|
|
module="${module.jar}"
|
|
homepage="${nbm.homepage}"
|
|
distribution="${nbm.distribution}"
|
|
needsrestart="${nbm.needs.restart}"
|
|
global="${nbm.is.global}"
|
|
preferredupdate="${nbm.is.preferredupdate}"
|
|
usepack200="${use.pack200}"
|
|
pack200excludes="${pack200.excludes}"
|
|
alwayscreatenbm="${nbm.always.create}"
|
|
targetcluster="${nbm.target.cluster}"
|
|
releasedate="${nbm.release.date}"
|
|
moduleauthor="${nbm.module.author}"
|
|
locales="${nbm.locales}"
|
|
>
|
|
<license file="${license.file.override}"/>
|
|
<signature keystore="${keystore}" storepass="${storepass}" alias="${nbm_alias}" tsaurl="${tsaurl}" tsacert="${tsacert}"/>
|
|
<updaterjar>
|
|
<pathfileset>
|
|
<path refid="cluster.path.id"/>
|
|
<filename name="modules/ext/updater.jar"/>
|
|
</pathfileset>
|
|
</updaterjar>
|
|
<executables refid="module.executable.files"/>
|
|
<extranbmfiles refid="extra.nbm.files"/>
|
|
</makenbm>
|
|
</target>
|
|
|
|
<target name="nbm-nosignature" depends="init,netbeans,-nbm-prompt-for-storepass,-init-executables" description="Build NBM archive.">
|
|
<mkdir dir="${build.dir}"/>
|
|
<property name="nbm.target.cluster" value=""/> <!-- fallback -->
|
|
<property name="license.file.override" value="${license.file}"/>
|
|
<property name="use.pack200" value="true"/>
|
|
<property name="pack200.excludes" value=""/>
|
|
<property name="nbm.locales" value="${locales}"/>
|
|
<makenbm file="${build.dir}/${nbm}"
|
|
productdir="${cluster}"
|
|
module="${module.jar}"
|
|
homepage="${nbm.homepage}"
|
|
distribution="${nbm.distribution}"
|
|
needsrestart="${nbm.needs.restart}"
|
|
global="${nbm.is.global}"
|
|
preferredupdate="${nbm.is.preferredupdate}"
|
|
usepack200="${use.pack200}"
|
|
pack200excludes="${pack200.excludes}"
|
|
targetcluster="${nbm.target.cluster}"
|
|
releasedate="${nbm.release.date}"
|
|
moduleauthor="${nbm.module.author}"
|
|
locales="${nbm.locales}"
|
|
>
|
|
<license file="${license.file.override}"/>
|
|
<updaterjar>
|
|
<pathfileset>
|
|
<path refid="cluster.path.id"/>
|
|
<filename name="modules/ext/updater.jar"/>
|
|
</pathfileset>
|
|
</updaterjar>
|
|
<executables refid="module.executable.files"/>
|
|
</makenbm>
|
|
</target>
|
|
|
|
<target name="test-preinit" depends="init"/>
|
|
<target name="test-init" depends="init,test-preinit,test-lib-init">
|
|
<property name="test.timeout" value="600000"/> <!-- 10min per test -->
|
|
<property name="test.run.args" value="-ea"/>
|
|
<property name="test.filter.trace" value="true"/>
|
|
<condition property="test.bootclasspath.prepend.args" value="-Xbootclasspath/p:${run.bootclasspath.prepend}">
|
|
<isset property="run.bootclasspath.prepend"/>
|
|
</condition>
|
|
<property name="test.bootclasspath.prepend.args" value="-Dno.netbeans.bootclasspath.prepend.needed=true"/>
|
|
<condition property="test.insane.prepend.args"
|
|
value="--patch-module=java.base=${netbeans.dest.dir}/${nb.cluster.harness.dir}/modules/ext/org-netbeans-insane-hook.jar --add-exports=java.base/org.netbeans.insane.hook=ALL-UNNAMED"
|
|
else="-Xbootclasspath/p:${netbeans.dest.dir}/${nb.cluster.harness.dir}/modules/ext/org-netbeans-insane-hook.jar">
|
|
<or>
|
|
<isset property="have-jdk-1.9"/>
|
|
<isset property="test-have-jdk-1.9"/>
|
|
</or>
|
|
</condition>
|
|
<macrodef name="test-init">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<property name="test.@{test.type}.dir" location="test/@{test.type}"/>
|
|
<property name="test.@{test.type}.src.dir" location="${test.@{test.type}.dir}/src"/>
|
|
<property name="test.@{test.type}.data.dir" location="${test.@{test.type}.dir}/data"/>
|
|
<property name="build.test.@{test.type}.dir" location="${build.dir}/test/@{test.type}"/>
|
|
<property name="build.test.@{test.type}.classes.dir" location="${build.test.@{test.type}.dir}/classes"/>
|
|
<property name="build.test.@{test.type}.results.dir" location="${build.test.@{test.type}.dir}/results"/>
|
|
<property name="build.test.@{test.type}.work.dir" location="${build.test.@{test.type}.dir}/work"/>
|
|
<property name="test-@{test.type}-sys-prop.cluster.path.final" value="${cluster.path.final}${path.separator}${cluster}"/> <!-- #153178, 176019 -->
|
|
<property name="test.@{test.type}.cp.extra" value=""/>
|
|
<path id="test.@{test.type}.cp">
|
|
<!-- Cannot use <path refid="cp"/> since that uses ${module.classpath} and we want ${module.run.classpath}: -->
|
|
<pathelement path="${test.@{test.type}.compile.cp}"/>
|
|
<pathelement path="${cp.extra}"/>
|
|
<pathelement location="${cluster}/${module.jar}"/>
|
|
<path refid="test.unit.lib.cp"/>
|
|
<!-- for compatibility with property based classpath-->
|
|
<pathelement path="${module.run.classpath}"/>
|
|
<pathelement path="${test.@{test.type}.cp.extra}"/>
|
|
</path>
|
|
<path id="test.@{test.type}.run.cp">
|
|
<pathelement path="${build.test.@{test.type}.classes.dir}"/>
|
|
<!-- Cannot use <path refid="cp"/> since that uses ${module.classpath} and we want ${module.run.classpath}: -->
|
|
<pathelement path="${test.@{test.type}.runtime.cp}"/>
|
|
<pathelement path="${cp.extra}"/>
|
|
<pathelement location="${cluster}/${module.jar}"/>
|
|
<path refid="test.unit.lib.cp"/>
|
|
<!-- for compatibility with property based classpath-->
|
|
<pathelement path="${module.run.classpath}"/>
|
|
<pathelement path="${test.@{test.type}.run.cp.extra}"/>
|
|
<pathelement path="${test.@{test.type}.cp.extra}"/>
|
|
<pathelement path="${test.extra.nb.javac.deps}"/>
|
|
</path>
|
|
<!-- path reference used in both compiler and executor -->
|
|
<propertyset id="test.@{test.type}.properties">
|
|
<propertyset>
|
|
<propertyref prefix="test-@{test.type}-sys-prop."/>
|
|
<mapper type="glob" from="test-@{test.type}-sys-prop.*" to="*"/>
|
|
</propertyset>
|
|
<propertyset>
|
|
<propertyref name="build.test.@{test.type}.work.dir"/>
|
|
<mapper type="glob" from="build.test.@{test.type}.work.dir" to="nbjunit.workdir"/>
|
|
</propertyset>
|
|
<propertyset>
|
|
<propertyref name="test.timeout"/>
|
|
<mapper type="glob" from="test.timeout" to="nbjunit.hard.timeout"/>
|
|
</propertyset>
|
|
</propertyset>
|
|
<condition property="exists.test.@{test.type}.src.dir">
|
|
<and>
|
|
<available file="${test.@{test.type}.src.dir}" type="dir"/>
|
|
<not>
|
|
<istrue value="${disable.@{test.type}.tests}"/>
|
|
</not>
|
|
</and>
|
|
</condition>
|
|
|
|
</sequential>
|
|
</macrodef>
|
|
<test-init test.type="unit"/>
|
|
<test-init test.type="qa-functional"/>
|
|
</target>
|
|
|
|
<target name="test-build" depends="netbeans,test-dep-build,do-test-build" description="Compile and package all tests."/>
|
|
|
|
<macrodef name="test-dep-build">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<sortsuitemodules unsortedmodules="${test.@{test.type}.testdep}" sortedmodulesproperty="mods.sorted" sorttests="true"/>
|
|
<subant buildpath="${mods.sorted}" target="do-test-build" />
|
|
</sequential>
|
|
</macrodef>
|
|
<target name="test-unit-dep-build" if="test.unit.testdep">
|
|
<test-dep-build test.type="unit"/>
|
|
</target>
|
|
<target name="test-qa-functional-dep-build" if="test.qa-functional.testdep">
|
|
<test-dep-build test.type="qa-functional"/>
|
|
</target>
|
|
<target name="test-dep-build" depends="test-unit-dep-build,test-qa-functional-dep-build"/>
|
|
|
|
<macrodef name="do-test-build">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail >
|
|
Missing test dependency
|
|
Runtime classpath: ${test.@{test.type}.runtime.cp}
|
|
Compile classpath: ${test.@{test.type}.compile.cp}
|
|
<condition>
|
|
<or>
|
|
<contains string="${test.@{test.type}.runtime.cp}" substring="-missing-Module-Entries-:" />
|
|
<contains string="${test.@{test.type}.compile.cp}" substring="-missing-Module-Entries-:" />
|
|
</or>
|
|
</condition>
|
|
</fail>
|
|
<mkdir dir="${build.test.@{test.type}.classes.dir}"/>
|
|
<depend srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" cache="${build.test.@{test.type}.dir}/depcache">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
</depend>
|
|
<property name="test.javac.excludes" value=""/> <!-- # 113770 -->
|
|
<nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" excludes="${test.javac.excludes}"
|
|
debug="true" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
|
|
source="${javac.source}" target="${javac.target}" optimize="${build.compiler.optimize}" includeantruntime="false">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
<compilerarg line="${javac.compilerargs}"/>
|
|
<processorpath refid="test.@{test.type}.cp"/>
|
|
</nb-javac>
|
|
<processjsannotation classes="${build.test.@{test.type}.classes.dir}" asm="${asm.jar}">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
</processjsannotation>
|
|
<copy todir="${build.test.@{test.type}.classes.dir}">
|
|
<fileset dir="${test.@{test.type}.src.dir}">
|
|
<exclude name="**/*.java"/>
|
|
</fileset>
|
|
</copy>
|
|
<delete dir="${build.test.@{test.type}.dir}/data"/>
|
|
<copy todir="${build.test.@{test.type}.dir}">
|
|
<fileset dir="${test.@{test.type}.dir}">
|
|
<include name="data/**"/>
|
|
</fileset>
|
|
</copy>
|
|
</sequential>
|
|
</macrodef>
|
|
<target name="do-unit-test-build" depends="init,test-init" if="exists.test.unit.src.dir">
|
|
<do-test-build test.type="unit"/>
|
|
</target>
|
|
<target name="do-qa-functional-test-build" depends="init,test-init" if="exists.test.qa-functional.src.dir">
|
|
<do-test-build test.type="qa-functional"/>
|
|
</target>
|
|
<target name="do-test-build" depends="do-unit-test-build,do-qa-functional-test-build"/>
|
|
|
|
<target name="compile-test-single" depends="init,test-init,jar">
|
|
<macrodef name="compile-test-single">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
|
|
<mkdir dir="${build.test.@{test.type}.classes.dir}"/>
|
|
<!-- XXX consider forcing deprecation=true -->
|
|
<!-- XXX consider deleting the .class file first to force a rebuild -->
|
|
<depend srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" cache="${build.test.@{test.type}.dir}/depcache">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
</depend>
|
|
<nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}"
|
|
debug="true" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
|
|
source="${javac.source}" target="${javac.target}" includeantruntime="false" optimize="${build.compiler.optimize}" includes="${javac.includes}">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
<compilerarg line="${javac.compilerargs}"/>
|
|
<processorpath refid="test.@{test.type}.cp"/>
|
|
</nb-javac>
|
|
<processjsannotation classes="${build.test.@{test.type}.classes.dir}" asm="${asm.jar}">
|
|
<classpath refid="test.@{test.type}.cp"/>
|
|
</processjsannotation>
|
|
<copy todir="${build.test.@{test.type}.classes.dir}">
|
|
<fileset dir="${test.@{test.type}.src.dir}">
|
|
<exclude name="**/*.java"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${build.test.@{test.type}.dir}">
|
|
<fileset dir="${test.@{test.type}.dir}">
|
|
<include name="data/**"/>
|
|
</fileset>
|
|
</copy>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<compile-test-single test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<macrodef name="metaproperty">
|
|
<attribute name="name"/>
|
|
<attribute name="value"/>
|
|
<sequential>
|
|
<property name="@{name}" value="${@{value}}"/>
|
|
</sequential>
|
|
</macrodef>
|
|
<macrodef name="test">
|
|
<attribute name="test.type"/>
|
|
<attribute name="disable.apple.ui" default="false"/>
|
|
<sequential>
|
|
<property name="test.config" value="default"/>
|
|
<property name="test.config.default.includes" value="**/*Test.class"/>
|
|
<property name="test.config.${test.config}.includes" value="NOTHING"/>
|
|
<metaproperty name="test.includes" value="test.config.${test.config}.includes"/>
|
|
<property name="test.config.${test.config}.excludes" value=""/>
|
|
<metaproperty name="test.excludes" value="test.config.${test.config}.excludes"/>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<condition property="test.runner" value ="testng" else="junit">
|
|
<available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
|
|
</condition>
|
|
<antcall target="-do-${test.runner}">
|
|
<param name="run.test.type" value="@{test.type}"/>
|
|
<param name="disable.apple.ui" value="@{disable.apple.ui}"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
<target name="test-unit" depends="init,test-init,test-build" if="exists.test.unit.src.dir">
|
|
<test test.type="unit" disable.apple.ui="true"/>
|
|
</target>
|
|
<target name="test-qa-functional" depends="init,test-init,test-build" if="exists.test.qa-functional.src.dir">
|
|
<test test.type="qa-functional"/>
|
|
</target>
|
|
|
|
<target name="-do-junit" depends="test-init">
|
|
<macrodef name="junit-impl">
|
|
<attribute name="test.type"/>
|
|
<attribute name="disable.apple.ui" default="false"/>
|
|
<sequential>
|
|
<junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
|
|
<batchtest todir="${build.test.@{test.type}.results.dir}">
|
|
<fileset dir="${build.test.@{test.type}.classes.dir}" includes="${test.includes}" excludes="${test.excludes}"/>
|
|
</batchtest>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<!--needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
<formatter type="brief" usefile="false"/>
|
|
<formatter type="xml"/>
|
|
</junit>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<junit-impl test.type="${run.test.type}" disable.apple.ui="${disable.apple.ui}"/>
|
|
</target>
|
|
|
|
<target name="-do-testng" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<attribute name="disable.apple.ui" default="false"/>
|
|
<sequential>
|
|
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
|
|
<testng mode="mixed"
|
|
failureProperty="tests.failed"
|
|
outputdir="${build.test.@{test.type}.results.dir}"
|
|
workingDir="${build.test.@{test.type}.results.dir}"
|
|
suitename="${code.name.base}"
|
|
listener="org.testng.reporters.VerboseReporter"
|
|
jvm="${test.nbjdk.java}"
|
|
>
|
|
<classfileset dir="${build.test.@{test.type}.classes.dir}" excludes="${test.excludes}" includes="${test.includes}"/>
|
|
<propertyset refid="test.@{test.type}.properties"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
</testng>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${run.test.type}" disable.apple.ui="${disable.apple.ui}"/>
|
|
</target>
|
|
|
|
<target name="test-generate-html" depends="-build-dir-init">
|
|
<subant target="-test-browse-html" genericantfile="${ant.file}" inheritall="true">
|
|
<dirset dir="${build.dir}/test" includes="*/results"/>
|
|
</subant>
|
|
</target>
|
|
|
|
<target name="-do-test-generate-html">
|
|
<junitreport todir=".">
|
|
<fileset dir=".">
|
|
<include name="TEST-*.xml"/>
|
|
</fileset>
|
|
<report format="frames" todir="html"/>
|
|
</junitreport>
|
|
<makeurl file="${basedir}/html/index.html" property="test.report.url"/>
|
|
<echo>
|
|
|
|
Report URL: ${test.report.url}
|
|
</echo>
|
|
</target>
|
|
|
|
<target name="-test-browse-html" if="netbeans.home" depends="-do-test-generate-html">
|
|
<nbbrowse file="html/index.html"/>
|
|
</target>
|
|
<target name="test" depends="test-unit,test-qa-functional"/>
|
|
|
|
<target name="test-single" depends="init,test-init,test-build">
|
|
<macrodef name="test-single">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="test.includes">Must set test.includes</fail>
|
|
<property name="run.jvmargs.ide" value=""/>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<condition property="test.runner" value ="testng" else="junit">
|
|
<available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
|
|
</condition>
|
|
<condition property="is.test.suite" value ="-suite" else="">
|
|
<contains string="${test.includes}" substring=".xml"/>
|
|
</condition>
|
|
<antcall target="-do-${test.runner}-single${is.test.suite}">
|
|
<param name="test.type" value="@{test.type}"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<property name="run.args.ide" value=""/>
|
|
|
|
<test-single test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-do-junit-single" depends="test-init">
|
|
<macrodef name="junit-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
|
|
<batchtest todir="${build.test.@{test.type}.results.dir}">
|
|
<fileset dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
|
|
</batchtest>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${run.args.ide}"/>
|
|
<jvmarg line="${run.jvmargs.ide}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<formatter type="brief" usefile="false"/>
|
|
<formatter type="xml"/>
|
|
</junit>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<junit-impl test.type="${test.type}" />
|
|
</target>
|
|
|
|
<target name="-do-testng-single" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
|
|
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
|
|
<testng mode="mixed"
|
|
classfilesetref="testng.test"
|
|
failureProperty="tests.failed"
|
|
outputdir="${build.test.@{test.type}.results.dir}"
|
|
workingDir="${build.test.@{test.type}.results.dir}"
|
|
suitename="${code.name.base}"
|
|
listener="org.testng.reporters.VerboseReporter"
|
|
jvm="${test.nbjdk.java}"
|
|
>
|
|
<propertyset refid="test.@{test.type}.properties"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
</testng>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-do-testng-single-suite" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
|
|
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
|
|
<testng mode="mixed"
|
|
xmlfilesetref="testng.test"
|
|
failureProperty="tests.failed"
|
|
outputdir="${build.test.@{test.type}.results.dir}"
|
|
workingDir="${build.test.@{test.type}.results.dir}"
|
|
suitename="${code.name.base}"
|
|
listener="org.testng.reporters.VerboseReporter"
|
|
jvm="${test.nbjdk.java}"
|
|
>
|
|
<propertyset refid="test.@{test.type}.properties"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
</testng>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="do-debug-test-single" depends="test-init">
|
|
<macrodef name="do-debug-test-single">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="test.class">Must set test.class</fail>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<condition property="test.runner" value ="testng" else="junit">
|
|
<available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
|
|
</condition>
|
|
<condition property="is.test.suite" value ="-suite" else="">
|
|
<matches pattern="([a-zA-Z_$][a-zA-Z\d_$]*\.)*xml$" string="${test.class}"/>
|
|
</condition>
|
|
<antcall target="-do-${test.runner}-debug-single${is.test.suite}">
|
|
<param name="test.type" value="@{test.type}"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<do-debug-test-single test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-do-junit-debug-single" depends="test-init">
|
|
<macrodef name="junit-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<property name="test.report.file" location="${build.test.@{test.type}.results.dir}/TEST-${test.class}.xml"/>
|
|
<delete file="${test.report.file}"/>
|
|
<touch file="${test.report.file}" verbose="false"/> <!-- must exist, otherwise the XML formatter would fail -->
|
|
<condition property="test.methods.line" value="methods=${test.methods}" else="">
|
|
<isset property="test.methods"/>
|
|
</condition>
|
|
<java fork="true" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" jvm="${test.nbjdk.java}">
|
|
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<classpath>
|
|
<path refid="test.@{test.type}.run.cp"/>
|
|
<fileset dir="${ant.home}" includes="patches/*.jar"/>
|
|
<pathelement location="${ant.home}/lib/ant.jar"/>
|
|
<pathelement location="${ant.home}/lib/ant-junit.jar"/>
|
|
<pathelement location="${ant.home}/lib/ant-junit4.jar"/>
|
|
</classpath>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<arg value="${test.class}"/>
|
|
<arg value="showoutput=true"/>
|
|
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
|
|
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
|
|
<arg line="${test.methods.line}"/>
|
|
</java>
|
|
</sequential>
|
|
</macrodef>
|
|
<junit-impl test.type="${test.type}" />
|
|
</target>
|
|
|
|
<target name="-do-testng-debug-single" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<condition property="testng.args.line" value="-methods ${test.class}.${test.methods}" else="-testclass ${test.class}">
|
|
<isset property="test.methods"/>
|
|
</condition>
|
|
<!-- XXX: Consider debugging using testng task itself -->
|
|
<!-- TestNG is running in forkMode="once" -->
|
|
<!-- therefore results while debugging single class/method -->
|
|
<!-- can be different from running all tests at once -->
|
|
<java classname="org.testng.TestNG" fork="true" jvm="${test.nbjdk.java}">
|
|
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg value="-ea"/>
|
|
<arg line="-mixed"/>
|
|
<arg line="-d ${build.test.@{test.type}.results.dir}"/>
|
|
<arg line="-listener org.testng.reporters.VerboseReporter"/>
|
|
<arg line="-suitename ${code.name.base}"/>
|
|
<arg line="-testname ${test.class}"/>
|
|
<arg line="${testng.args.line}"/>
|
|
</java>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-do-testng-debug-single-suite" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.class}"/>
|
|
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
|
|
<testng mode="mixed"
|
|
xmlfilesetref="testng.test"
|
|
failureProperty="tests.failed"
|
|
outputdir="${build.test.@{test.type}.results.dir}"
|
|
workingDir="${build.test.@{test.type}.results.dir}"
|
|
suitename="${code.name.base}"
|
|
listener="org.testng.reporters.VerboseReporter"
|
|
jvm="${test.nbjdk.java}"
|
|
>
|
|
<propertyset refid="test.@{test.type}.properties"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
|
|
<!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
</testng>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="debug-test-single" depends="init,test-init,test-build,do-debug-test-single"/>
|
|
|
|
<target name="debug-test-single-nb" depends="init,test-init,test-build,-jdk-presetdef-nbjpdastart" if="netbeans.home">
|
|
<macrodef name="debug-test-single-nb">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="test.class">Must set test.class</fail>
|
|
<nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="${test.class}">
|
|
<classpath>
|
|
<path refid="test.@{test.type}.run.cp"/>
|
|
<!-- Permit extra sources to be searched even if they are not in the actual CP. -->
|
|
<!-- Used e.g. from ant/test/unit since some tests use dynamic loading: -->
|
|
<pathelement path="${test.@{test.type}.debug.cp.extra}"/>
|
|
</classpath>
|
|
</nbjpdastart>
|
|
<antcall target="do-debug-test-single"/>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<debug-test-single-nb test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="test-method" depends="init,test-init,test-build">
|
|
<macrodef name="test-method">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="test.class">Must set test.class</fail>
|
|
<fail unless="test.methods">Must set test.methods</fail>
|
|
<property name="run.jvmargs.ide" value=""/>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<condition property="test.runner" value ="testng" else="junit">
|
|
<available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
|
|
</condition>
|
|
<antcall target="-do-${test.runner}-testmethod">
|
|
<param name="test.type" value="@{test.type}"/>
|
|
</antcall>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<test-method test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-do-junit-testmethod" depends="test-init">
|
|
<macrodef name="junit-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
|
|
<test name="${test.class}" methods="${test.methods}" todir="${build.test.@{test.type}.results.dir}"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${run.jvmargs.ide}"/>
|
|
<formatter type="brief" usefile="false"/>
|
|
<formatter type="xml"/>
|
|
</junit>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<junit-impl test.type="${test.type}" />
|
|
</target>
|
|
|
|
<target name="-do-testng-testmethod" depends="test-init">
|
|
<macrodef name="testng-impl">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
|
|
<testng mode="mixed"
|
|
methods="${test.class}.${test.methods}"
|
|
failureProperty="tests.failed"
|
|
outputdir="${build.test.@{test.type}.results.dir}"
|
|
workingDir="${build.test.@{test.type}.results.dir}"
|
|
suitename="${code.name.base}"
|
|
listener="org.testng.reporters.VerboseReporter"
|
|
jvm="${test.nbjdk.java}"
|
|
>
|
|
<propertyset refid="test.@{test.type}.properties"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
|
|
<sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
|
|
</testng>
|
|
<fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<testng-impl test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="run-test-main" depends="init,test-init,test-build">
|
|
<macrodef name="tjava">
|
|
<attribute name="test.type"/>
|
|
<element name="customize" optional="true"/>
|
|
<sequential>
|
|
<fail unless="main.class">Must set main.class.</fail>
|
|
<property name="run.jvmargs.ide" value=""/>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<java classname="${main.class}" dir="${build.test.@{test.type}.results.dir}" fork="true">
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<jvmarg line="${run.args.ide}"/>
|
|
<jvmarg line="${run.jvmargs.ide}"/>
|
|
<customize/>
|
|
</java>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/> <!-- compatibility -->
|
|
<property name="run.args.ide" value=""/> <!-- default -->
|
|
<tjava test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="do-debug-test-main" depends="test-init">
|
|
<macrodef name="do-debug-test-main">
|
|
<attribute name="test.type"/>
|
|
<element name="customize" optional="true"/>
|
|
<sequential>
|
|
<fail unless="main.class">Must set main.class.</fail>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<java fork="true" classname="${main.class}">
|
|
<jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<customize/>
|
|
</java>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<do-debug-test-main test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="debug-test-main-nb" depends="init,test-init,test-build,-jdk-presetdef-nbjpdastart" if="netbeans.home">
|
|
<macrodef name="debug-test-main-nb">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="main.class">Must set main.class</fail>
|
|
<nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="${main.class}">
|
|
<classpath>
|
|
<path refid="test.@{test.type}.run.cp"/>
|
|
<!-- Permit extra sources to be searched even if they are not in the actual CP. -->
|
|
<!-- Used e.g. from ant/test/unit since some tests use dynamic loading: -->
|
|
<pathelement path="${test.@{test.type}.debug.cp.extra}"/>
|
|
</classpath>
|
|
</nbjpdastart>
|
|
<antcall target="do-debug-test-main"/>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<debug-test-main-nb test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="-pre-debug-fix" depends="init">
|
|
<fail unless="fix.class">Must set fix.class to e.g. org/netbeans/modules/foo/Bar</fail>
|
|
<property name="javac.includes" value="${fix.class}.java"/>
|
|
</target>
|
|
<target name="debug-fix-nb" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
|
|
<nbjpdareload>
|
|
<fileset includes="${fix.class}*.class" dir="${build.classes.dir}"/>
|
|
</nbjpdareload>
|
|
</target>
|
|
<target name="debug-fix-test-nb" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
|
|
<macrodef name="debug-fix-test-nb">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<nbjpdareload>
|
|
<fileset includes="${fix.class}*.class" dir="${build.test.@{test.type}.classes.dir}"/>
|
|
</nbjpdareload>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<debug-fix-test-nb test.type="${test.type}"/>
|
|
</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="-profile-test-single-nb-pre72" depends="init,test-init,test-build,-jdk-presetdef-nbprofiledirect" if="profiler.info.jvmargs.agent">
|
|
<macrodef name="profile-test-single-nb">
|
|
<attribute name="test.type"/>
|
|
<sequential>
|
|
<fail unless="profile.class">Must set profile.class</fail>
|
|
<mkdir dir="${build.test.@{test.type}.results.dir}"/>
|
|
<nbprofiledirect
|
|
jvmargsproperty="profiler.jvmargs"
|
|
>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
</nbprofiledirect>
|
|
<junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" jvm="${test.nbjdk.java}">
|
|
<env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
|
|
<jvmarg value="${profiler.info.jvmargs.agent}"/>
|
|
<jvmarg line="${profiler.info.jvmargs}"/>
|
|
<test name="${profile.class}" todir="${build.test.@{test.type}.results.dir}"/>
|
|
<classpath refid="test.@{test.type}.run.cp"/>
|
|
<jvmarg value="${test.bootclasspath.prepend.args}"/>
|
|
<jvmarg line="${test.insane.prepend.args}"/>
|
|
<syspropertyset refid="test.@{test.type}.properties"/>
|
|
<jvmarg line="${test.run.args}"/>
|
|
<jvmarg line="${nbjdk.enable_security_manager}" />
|
|
<formatter type="brief" usefile="false"/>
|
|
<formatter type="xml"/>
|
|
</junit>
|
|
<fail if="tests.failed">Some tests failed; see details above.</fail>
|
|
</sequential>
|
|
</macrodef>
|
|
<property name="test.type" value="unit"/>
|
|
<profile-test-single-nb test.type="${test.type}"/>
|
|
</target>
|
|
|
|
<target name="profile-test-single-nb" depends="-profile-check,init,test-init,test-build,-profile-test-single-nb-pre72" if="profiler.configured" unless="profiler.info.jvmargs.agent">
|
|
<startprofiler/>
|
|
<antcall target="test-single"/>
|
|
</target>
|
|
|
|
<target name="profile-test-main-nb" depends="-profile-check,init,test-init,test-build" if="profiler.configured" unless="profiler.info.jvmargs.agent">
|
|
<startprofiler/>
|
|
<antcall target="run-test-main"/>
|
|
</target>
|
|
|
|
<target name="-javadoc-init" depends="init">
|
|
<!-- #71884: default Javadoc title and header -->
|
|
<loadproperties srcFile="${manifest.mf}" prefix="mf.">
|
|
<filterchain>
|
|
<replaceregex pattern="[\n\r]+ ([^ ][^\n\r]*)"
|
|
replace="\1"
|
|
flags="g"
|
|
byline="false"/>
|
|
</filterchain>
|
|
</loadproperties>
|
|
<property file="${src.dir}/${mf.OpenIDE-Module-Localizing-Bundle}" prefix="bundle."/>
|
|
<condition property="javadoc.title" value="${bundle.OpenIDE-Module-Name}">
|
|
<isset property="bundle.OpenIDE-Module-Name"/>
|
|
</condition>
|
|
<property name="javadoc.title" value="${code.name.base.dashes}"/> <!-- fallback -->
|
|
<condition property="mf.OpenIDE-Module-Specification-Version" value="${spec.version.base}"> <!-- fallback -->
|
|
<isset property="spec.version.base"/>
|
|
</condition>
|
|
<property name="mf.OpenIDE-Module" value="${code.name.base.dashes}"/> <!-- fallback -->
|
|
<property name="mf.OpenIDE-Module-Implementation-Version" value=""/> <!-- fallback -->
|
|
<property name="javadoc.header" value="${mf.OpenIDE-Module} ${mf.OpenIDE-Module-Specification-Version} ${mf.OpenIDE-Module-Implementation-Version}"/>
|
|
</target>
|
|
|
|
<target name="arch" depends="init" description="Process an arch.xml, creating it if it does not yet exist.">
|
|
<fail unless="javadoc.arch">You must define e.g. javadoc.arch=$${basedir}/arch.xml in project.properties</fail>
|
|
<mkdir dir="${build.dir}"/>
|
|
<property name="arch.output.html" location="${build.dir}/arch.html"/>
|
|
<property name="arch.generate" value="true"/>
|
|
<arch answers="${javadoc.arch}" output="${arch.output.html}"
|
|
project="nbproject/project.xml"
|
|
/>
|
|
</target>
|
|
|
|
<target name="-arch-nb-check"> <!-- #67438: might not yet exist, if arch file newly generated as skeleton -->
|
|
<condition property="-arch-nb-run">
|
|
<and>
|
|
<isset property="netbeans.home"/>
|
|
<available file="${arch.output.html}"/>
|
|
</and>
|
|
</condition>
|
|
</target>
|
|
<target name="arch-nb" depends="init,arch,-arch-nb-check" if="-arch-nb-run" description="Process an arch.xml, creating it if it does not yet exist, and display the result.">
|
|
<nbbrowse file="${arch.output.html}"/>
|
|
</target>
|
|
|
|
<target name="-testuserdir-delete-init" depends="files-init">
|
|
<property name="test.user.dir" location="${build.dir}/testuserdir"/>
|
|
<property name="test.user.dir.lock" location="${test.user.dir}/lock"/>
|
|
<condition property="app.running">
|
|
<islocked file="${test.user.dir.lock}"/>
|
|
</condition>
|
|
</target>
|
|
<target name="-testuserdir-delete-ok" depends="-testuserdir-delete-init" unless="app.running">
|
|
<delete dir="${test.user.dir}"/>
|
|
</target>
|
|
<target name="-testuserdir-delete-fail" depends="-testuserdir-delete-init" if="app.running">
|
|
<!-- #66799: best to warn about this condition... -->
|
|
<fail>Will not delete ${test.user.dir} because ${test.user.dir.lock} still exists; kill any running process and delete lock file if necessary</fail>
|
|
</target>
|
|
<target name="testuserdir-delete" depends="-testuserdir-delete-ok,-testuserdir-delete-fail" description="Delete testing user directory (if the application is not running); clears any saved settings etc."/>
|
|
|
|
<target name="clean" depends="files-init,testuserdir-delete">
|
|
<delete failonerror="false" includeemptydirs="true">
|
|
<fileset dir="${build.classes.dir}" />
|
|
<fileset dir="${build.dir}">
|
|
<exclude name="testuserdir/"/>
|
|
</fileset>
|
|
</delete>
|
|
<delete dir="${netbeans.javadoc.dir}/${code.name.base.dashes}"/>
|
|
<delete file="${netbeans.javadoc.dir}/${code.name.base.dashes}.zip"/>
|
|
<delete includeemptydirs="true" failonerror="false"> <!-- #59457: OK if cluster does not exist currently -->
|
|
<fileset dir="${cluster}">
|
|
<patternset refid="module.files"/>
|
|
<exclude name="config/Modules/${code.name.base.dashes}.xml" if="${do.not.clean.module.config.xml}"/>
|
|
</fileset>
|
|
</delete>
|
|
<delete file="${cluster}/update_tracking/${code.name.base.dashes}.xml"/>
|
|
<delete file="${netbeans.dest.dir}/${module.cluster.name}.built" failonerror="false"/>
|
|
</target>
|
|
|
|
<target name="fix-dependencies" depends="basic-init" description="Removes unused compilation dependencies on other modules.">
|
|
<property name="build.compiler.deprecation" value="false" />
|
|
<property name="fix.dependencies.modules" value=""/>
|
|
<fixdependencies antfile="../../build.xml" buildtarget="netbeans" cleantarget="clean" failonerror="true" sanitycheck="false" moduleFilter="${fix.dependencies.modules}" strip="false">
|
|
<replace codenamebase="org.openide" addcompiletime="true" >
|
|
<module codenamebase="org.openide.filesystems" spec="6.2"/>
|
|
<module codenamebase="org.openide.util" spec="6.2"/>
|
|
<module codenamebase="org.openide.modules" spec="6.2"/>
|
|
<module codenamebase="org.openide.nodes" spec="6.2"/>
|
|
<module codenamebase="org.openide.explorer" spec="6.2"/>
|
|
<module codenamebase="org.openide.awt" spec="6.2"/>
|
|
<module codenamebase="org.openide.dialogs" spec="6.2"/>
|
|
<module codenamebase="org.openide.compat" spec="6.2"/>
|
|
<module codenamebase="org.openide.options" spec="6.2"/>
|
|
<module codenamebase="org.openide.windows" spec="6.2"/>
|
|
<module codenamebase="org.openide.text" spec="6.2"/>
|
|
<module codenamebase="org.openide.actions" spec="6.2"/>
|
|
<module codenamebase="org.openide.loaders" spec="5.3"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.util" addcompiletime="true" >
|
|
<module codenamebase="org.openide.util" spec="8.0"/>
|
|
<module codenamebase="org.openide.util.lookup" spec="8.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.nodes" addcompiletime="true" >
|
|
<module codenamebase="org.openide.nodes" spec="7.23"/>
|
|
<module codenamebase="org.openide.awt" spec="7.33"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.filesystems" addcompiletime="true" >
|
|
<module codenamebase="org.openide.filesystems" spec="8.0"/>
|
|
<module codenamebase="org.openide.util.lookup" spec="8.16"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.util" addcompiletime="true">
|
|
<module codenamebase="org.openide.util" spec="9.0"/>
|
|
<module codenamebase="org.openide.util.ui" spec="9.3"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.util" addcompiletime="true">
|
|
<module codenamebase="org.openide.util" spec="9.3"/>
|
|
</replace>
|
|
|
|
<replace codenamebase="org.openide.filesystems" addcompiletime="true">
|
|
<module codenamebase="org.openide.filesystems" spec="9.0"/>
|
|
<module codenamebase="org.openide.filesystems.nb" spec="9.0"/>
|
|
<module codenamebase="org.openide.filesystems.compat8" spec="9.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.execution" addcompiletime="true">
|
|
<module codenamebase="org.openide.execution" spec="9.0"/>
|
|
<module codenamebase="org.openide.execution.compat8" spec="9.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.parsing.api" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.parsing.api" release="1" spec="9.0"/>
|
|
<module codenamebase="org.netbeans.modules.parsing.indexing" spec="9.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.projectuiapi" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.projectuiapi" release="1" spec="1.78"/>
|
|
<module codenamebase="org.netbeans.modules.projectuiapi.base" release="1" spec="1.78"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.project.ant" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.project.ant" release="1" spec="1.62"/>
|
|
<module codenamebase="org.netbeans.modules.project.ant.ui" spec="1.62"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.java.project" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.java.project" release="1" spec="1.62"/>
|
|
<module codenamebase="org.netbeans.modules.java.project.ui" release="1" spec="1.62"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.api.xml" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.api.xml" release="1" spec="1.41"/>
|
|
<module codenamebase="org.netbeans.api.xml.ui" release="1" spec="1.41"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.editor.lib" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.editor.lib" release="3" spec="4.0"/>
|
|
<module codenamebase="org.netbeans.modules.editor.document" spec="1.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.editor.lib2" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.editor.lib2" release="1" spec="2.0"/>
|
|
<module codenamebase="org.netbeans.modules.editor.document" spec="1.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.api.progress" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.api.progress" release="1" spec="1.40"/>
|
|
<module codenamebase="org.netbeans.api.progress.nb" spec="1.40"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.java.source" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.java.source.base" spec="1.1"/>
|
|
<module codenamebase="org.netbeans.modules.java.source" spec="0.141"/>
|
|
<module codenamebase="org.netbeans.modules.java.source.compat8" spec="9.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.project.libraries" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.project.libraries" release="1" spec="1.49"/>
|
|
<module codenamebase="org.netbeans.modules.project.libraries.ui" release="1" spec="1.49"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.modules.xml.catalog" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.modules.xml.catalog" release="2" spec="2.0"/>
|
|
<module codenamebase="org.netbeans.modules.xml.catalog.ui" spec="1.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.openide.loaders" addcompiletime="true">
|
|
<module codenamebase="org.openide.loaders" spec="7.61"/>
|
|
<module codenamebase="org.netbeans.api.templates" spec="1.0"/>
|
|
</replace>
|
|
<replace codenamebase="org.netbeans.core.startup" addcompiletime="true">
|
|
<module codenamebase="org.netbeans.core.startup" release="1" spec="1.60"/>
|
|
<module codenamebase="org.netbeans.core.startup.base" spec="1.60"/>
|
|
</replace>
|
|
<fileset dir="nbproject" >
|
|
<include name="project.xml" />
|
|
</fileset>
|
|
</fixdependencies>
|
|
</target>
|
|
|
|
<target name="fix-test-dependencies" depends="basic-init" description="Moves classpath for tests from project.properties to project.xml.">
|
|
<fixtestdeps projectXml="nbproject/project.xml"
|
|
propertiesFile="nbproject/project.properties"/>
|
|
</target>
|
|
|
|
<target name="display-coverage-report" depends="coverage-report"
|
|
description="Creates and displays unit test coverage report for this module">
|
|
<fail unless="testcoverage.unit.report.dir">
|
|
Property testcoverage.unit.report.dir not set. Test coverage script may be missing in ${harness.dir}.
|
|
</fail>
|
|
<nbbrowse file="${testcoverage.unit.report.dir}/index.html"/>
|
|
</target>
|
|
|
|
</project>
|