| <?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 basedir="." default="build" name="ergonomics/ide.ergonomics"> |
| <description>Builds, tests, and runs the project org.netbeans.modules.ide.ergonomics</description> |
| <import file="../../nbbuild/templates/projectized.xml"/> |
| <property name="anttasks.jar" value="${nbantext.jar}"/> |
| |
| <target name="-release.dir" depends="-disable-kits,projectized-common.-release.dir"/> |
| <target name="jar-prep" depends="-generate-proxies,projectized-common.jar-prep"/> |
| <target name="clean" depends="-clean-release,projectized-common.clean"/> |
| |
| <!-- |
| - |
| - Internal implementation |
| - |
| --> |
| <target name="-compile-ant" depends="projectized-common.basic-init"> |
| <mkdir dir="${src-ant.build}"/> |
| <depend srcdir="src-ant" destdir="${src-ant.build}" cache="build/depcache-ant"> |
| <classpath> |
| <path path="${src-ant.cp}"/> |
| </classpath> |
| </depend> |
| <javac srcdir="src-ant" destdir="${src-ant.build}" |
| deprecation="${build.compiler.deprecation}" |
| debug="true" |
| source="1.6" target="1.6" includeantruntime="false"> |
| <classpath> |
| <path path="${src-ant.cp}"/> |
| </classpath> |
| <compilerarg line="${javac.compilerargs}"/> |
| </javac> |
| <copy todir="${src-ant.build}"> |
| <fileset dir="src-ant" excludes="${jar-excludes}"/> |
| </copy> |
| <taskdef name="extractlayer" |
| classname="org.netbeans.modules.ide.ergonomics.ant.ExtractLayer" |
| classpath="${src-ant.build}:${src-ant.cp}"/> |
| <taskdef name="resolvelist" |
| classname="org.netbeans.nbbuild.ResolveList" |
| classpath="${anttasks.jar}"/> |
| </target> |
| |
| <target name="-init-clusters"> |
| <property name="common.ergonomics" location="src-ant/org/netbeans/modules/ide/ergonomics/ant/common-ergonomics.xml"/> |
| <resolvelist |
| name="ergonomic.clusters.includes" |
| list="${nb.clusters.list}" |
| > |
| <mapper type="glob" from="*" to="*.dir"/> |
| </resolvelist> |
| <dirset |
| id="ergonomic.clusters" |
| dir="${netbeans.dest.dir}" |
| includes="${ergonomic.clusters.includes}" |
| > |
| <exclude name="harness"/> |
| <exclude name="ide"/> |
| <exclude name="platform"/> |
| <exclude name="ergonomics"/> |
| <exclude name="extra"/> |
| <exclude name="nb"/> |
| </dirset> |
| </target> |
| |
| <target name="-clean-release"> |
| <property name="build.release.dir" location="build/release"/> |
| <delete dir="${build.release.dir}"/> |
| </target> |
| <target name="-init-static-analysis"> |
| <property name="build.release.dir" location="build/release"/> |
| <condition property="skip.static.analysis"> |
| <and> |
| <equals arg1="${static.analysis}" arg2="false"/> |
| <available file="${build.release.dir}"/> |
| </and> |
| </condition> |
| </target> |
| |
| <!-- |
| - multi cluster operations |
| --> |
| <target |
| name="-disable-kits" |
| depends="-init-clusters,-init-static-analysis" |
| unless="skip.static.analysis" |
| > |
| <mkdir dir="${build.release.dir}/config/Modules"/> |
| <subant genericantfile="${common.ergonomics}" target="-disable-one-cluster"> |
| <property name="xmldir" value="${build.release.dir}/config/Modules"/> |
| <property name="ergonomicsdir" location="${basedir}"/> |
| <property name="src-ant.cp" value="${src-ant.cp}"/> |
| <property name="anttasks.jar" value="${anttasks.jar}"/> |
| <dirset refid="ergonomic.clusters"/> |
| </subant> |
| <pathconvert property="extra.module.files" pathsep=","> |
| <path> |
| <fileset id="-disable-kits" dir="${build.release.dir}"> |
| <include name="**/*"/> |
| </fileset> |
| </path> |
| <chainedmapper> |
| <flattenmapper/> |
| <globmapper from="*" to="config/Modules/*"/> |
| </chainedmapper> |
| </pathconvert> |
| <copy todir="${cluster}"> |
| <fileset dir="${build.release.dir}" includes="${extra.module.files}"/> |
| </copy> |
| </target> |
| |
| <target |
| name="-generate-proxies" |
| depends="-init-clusters,-init-static-analysis,-compile-ant" |
| unless="skip.static.analysis" |
| > |
| <subant genericantfile="${common.ergonomics}" target="-proxy-one-cluster"> |
| <property name="ergonomicsdir" location="${basedir}"/> |
| <property name="src-ant.cp" value="${src-ant.cp}"/> |
| <property name="cluster.entries" location="${netbeans.dest.dir}"/> |
| <property name="anttasks.jar" value="${anttasks.jar}"/> |
| <dirset refid="ergonomic.clusters"/> |
| </subant> |
| </target> |
| </project> |