| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ****************************************************************************** |
| * Copyright (c) 2008, 2010 VMware Inc. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * VMware Inc. - initial contribution |
| ****************************************************************************** |
| --> |
| <project name="common-common" xmlns:ivy="antlib:org.apache.ivy.ant"> |
| |
| <tstamp> |
| <format property="timestamp" pattern="yyyyMMddHHmmss" timezone="GMT"/> |
| </tstamp> |
| |
| <!-- Properties --> |
| <dirname property="virgo.build.dir" file="${ant.file.common-common}/.."/> |
| <property file="${virgo.build.dir}/common/common.properties"/> |
| |
| <!-- Global tasks --> |
| <condition property="adjusted.release.type" value="snapshot" else="${release.type}"> |
| <equals arg1="integration" arg2="${release.type}"/> |
| </condition> |
| |
| <!-- Main targets --> |
| <target name="clean" description="Removes the target directory."> |
| <delete quiet="false" failonerror="false" dir="${target.dir}"/> |
| </target> |
| |
| <target name="clean-integration" description="Removes the integration repository directory."> |
| <fail message="The 'integration.repo.dir' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="integration.repo.dir"/> |
| </not> |
| </condition> |
| </fail> |
| <fail message="The 'project.organisation' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="project.organisation"/> |
| </not> |
| </condition> |
| </fail> |
| <echo message="Project Integration Repo: ${integration.repo.dir}/${project.organisation}"/> |
| <echo message="Project Ivy Cache: ${ivy.cache.dir}/repository/${project.organisation}"/> |
| <delete quiet="false" failonerror="false" dir="${integration.repo.dir}/${project.organisation}"/> |
| <delete quiet="false" failonerror="false" dir="${ivy.cache.dir}/repository/${project.organisation}"/> |
| </target> |
| |
| <target name="clean-all-integration" description="Removes the integration repository directory."> |
| <fail message="The 'integration.repo.dir' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="integration.repo.dir"/> |
| </not> |
| </condition> |
| </fail> |
| <echo message="Integration Repo: ${integration.repo.dir}"/> |
| <delete quiet="false" failonerror="false" dir="${integration.repo.dir}"/> |
| </target> |
| |
| <target name="clean-ivy" description="Removes the ivy cache directory."> |
| <fail message="The 'ivy.cache.dir' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="ivy.cache.dir"/> |
| </not> |
| </condition> |
| </fail> |
| <echo message="Ivy Cache: ${ivy.cache.dir}"/> |
| <delete quiet="false" failonerror="false" dir="${ivy.cache.dir}"/> |
| </target> |
| |
| <target name="resolve" depends="resolve.init" description="Retrieves all external dependencies for this project."> |
| <ivy:resolve id="all.classpath" log="download-only"/> |
| </target> |
| |
| <!-- Other targets --> |
| <target name="ivy.init" unless="ivy.initialized"> |
| <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"> |
| <classpath> |
| <path location="${ivy.lib.dir}/ivy.jar"/> |
| <path location="${ivy.lib.dir}/org.springframework.build.aws.ivy.jar"/> |
| <path location="${ivy.lib.dir}/commons-codec.jar"/> |
| <path location="${ivy.lib.dir}/commons-httpclient.jar"/> |
| <path location="${ivy.lib.dir}/commons-logging.jar"/> |
| <path location="${ivy.lib.dir}/jets3t.jar"/> |
| <path location="${ivy.lib.dir}/com.jcraft.jsch_0.1.50.v201310081430.jar"/> |
| <path location="${ivy.lib.dir}"/> |
| </classpath> |
| </taskdef> |
| <ivy:settings file="${ivy.settings.file}"/> |
| <property name="ivy.initialized" value="true"/> |
| </target> |
| |
| <target name="resolve.init" depends="ivy.file.exists"> |
| <fail message="Dependency resolution requires an ${ivy.file} file to exist."> |
| <condition> |
| <not> |
| <isset property="ivy.file.exists"/> |
| </not> |
| </condition> |
| </fail> |
| </target> |
| |
| <target name="ivy.file.exists" depends="ivy.init"> |
| <condition property="ivy.file.exists"> |
| <available file="${ivy.file}"/> |
| </condition> |
| </target> |
| |
| <target name="resolve.compile" depends="resolve.init"> |
| <ivy:cachepath resolveId="compile.classpath" pathid="compile.classpath" conf="compile,optional,provided,server-provided" type="jar" log="download-only"/> |
| </target> |
| |
| <target name="resolve.test" depends="resolve.init, resolve.compile"> |
| <ivy:cachepath resolveId="test.classpath" pathid="test.classpath" conf="test" type="jar" log="download-only"/> |
| <ivy:cachepath resolveId="runtime.classpath" pathid="runtime.classpath" conf="runtime" type="jar" log="download-only"/> |
| </target> |
| |
| <target name="resolve.aspects" depends="resolve.init"> |
| <ivy:cachepath resolveId="aspects.classpath" pathid="aspects.classpath" conf="aspects" type="jar" log="download-only"/> |
| </target> |
| |
| <target name="resolve.external" depends="resolve.init"> |
| <ivy:cachepath resolveId="external.classpath" pathid="external.classpath" conf="external" type="jar" transitive="false" log="download-only"/> |
| <ivy:cachepath resolveId="external.srcpath" pathid="external.srcpath" conf="external" type="src" transitive="false" log="download-only"/> |
| </target> |
| |
| <target name="src.init"> |
| <condition property="src.exists"> |
| <resourcecount when="gt" count="0"> |
| <fileset dir="${main.java.dir}" erroronmissingdir="false"> |
| <include name="**/*.java"/> |
| <include name="*.java"/> |
| </fileset> |
| </resourcecount> |
| </condition> |
| </target> |
| |
| <target name="test.init"> |
| <condition property="test.exists"> |
| <resourcecount when="gt" count="0"> |
| <fileset dir="${test.java.dir}" erroronmissingdir="false"> |
| <include name="**/*.java"/> |
| <include name="*.java"/> |
| </fileset> |
| </resourcecount> |
| </condition> |
| |
| <!-- init the property containing the ivy-cache and the integration repo location placeholders --> |
| <delete file="${basedir}/../user-ivy.properties"/> |
| <!-- replace the backslashes with slashes in the ivy.cache.dir --> |
| <echo message="${ivy.cache.dir}" file="tmp.file" /> |
| <loadfile property="transformed.ivy.cache.dir" srcFile="tmp.file"> |
| <filterchain> |
| <tokenfilter> |
| <replaceregex pattern="\\" replace="/" flags="g"/> |
| </tokenfilter> |
| </filterchain> |
| </loadfile> |
| <delete file="tmp.file"/> |
| |
| <echo file="${basedir}/../user-ivy.properties" message="ivy.cache=${transformed.ivy.cache.dir}
"/> |
| </target> |
| |
| <target name="diagnostics" description="diagnostics"> |
| <sequential> |
| <echo>The diagnostics target was explicitly requested...</echo> |
| <echo>----Ant diagnostics-------------------------------</echo> |
| <diagnostics/> |
| <echo>----Properties--Ant-------------------------------</echo> |
| <echoproperties> |
| <propertyset> |
| <propertyref builtin="all"/> |
| </propertyset> |
| </echoproperties> |
| <echo>----Environment-----------------------------------</echo> |
| <property environment="env"/> |
| <echoproperties> |
| <propertyset> |
| <propertyref prefix="env."/> |
| </propertyset> |
| </echoproperties> |
| <echo>--------------------------------------------------</echo> |
| <fail message="Diagnostics output -- build aborted."/> |
| </sequential> |
| </target> |
| |
| <target name="exec-ant" description="execute an ant command"> |
| <sequential> |
| <echo>exec-ant for target '${exec-ant-target}' executing in directory '${basedir}'</echo> |
| <exec executable="ant" dir="${basedir}" |
| failonerror="true" osfamily="unix" |
| resultproperty="exec-ant-rc"> |
| <arg value="${exec-ant-target}"/> |
| <arg value="-Dci.build=${ci.build}"/> |
| <arg value="-Dtimestamp=${timestamp}"/> |
| <arg value="-Dbundle.version=${bundle.version}"/> |
| <arg value="-Dvirgo.deps.location=${virgo.deps.location}"/> |
| <arg value="${exec-args}"/> |
| </exec> |
| <exec executable="${virgo.build.dir}\common\runant.bat" dir="${basedir}" |
| failonerror="true" osfamily="windows" |
| resultproperty="exec-ant-rc"> |
| <arg value="${exec-ant-target}"/> |
| <arg value="-Dci.build=${ci.build}"/> |
| <arg value="-Dtimestamp=${timestamp}"/> |
| <arg value="-Dbundle.version=${bundle.version}"/> |
| <arg value="-Dvirgo.deps.location=${virgo.deps.location}"/> |
| <arg value="${exec-args}"/> |
| </exec> |
| <echo>exec-ant for target '${exec-ant-target}' gave return code ${exec-ant-rc}</echo> |
| </sequential> |
| </target> |
| |
| <!-- Macros --> |
| <macrodef name="compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential> |
| <delete quiet="true" dir="@{output.dir}"/> |
| <mkdir dir="@{output.dir}"/> |
| <pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| <do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| <post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="test-compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential> |
| <delete quiet="true" dir="@{output.dir}"/> |
| <mkdir dir="@{output.dir}"/> |
| <test-pre-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| <do-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| <test-post-compile classpath.id="@{classpath.id}" input.dir="@{input.dir}" output.dir="@{output.dir}" |
| resources.dir="@{resources.dir}"/> |
| </sequential> |
| </macrodef> |
| |
| <macrodef name="pre-compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential/> |
| </macrodef> |
| |
| <macrodef name="post-compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential/> |
| </macrodef> |
| |
| <macrodef name="test-pre-compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential/> |
| </macrodef> |
| |
| <macrodef name="test-post-compile"> |
| <attribute name="classpath.id"/> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="resources.dir"/> |
| <sequential/> |
| </macrodef> |
| |
| <macrodef name="java-doc"> |
| <attribute name="input.dir"/> |
| <attribute name="output.dir"/> |
| <attribute name="classpath.id"/> |
| <attribute name="access"/> |
| <attribute name="exclude.package.names" default=""/> |
| <sequential> |
| <delete quiet="true" dir="@{output.dir}"/> |
| <mkdir dir="@{output.dir}"/> |
| <javadoc.links sourcepath="@{input.dir}" destdir="@{output.dir}" classpathref="@{classpath.id}" |
| access="@{access}" excludepackagenames="@{exclude.package.names}" maxmemory="${javadoc.max.memory}" |
| stylesheetfile="${javadoc.stylesheet.file}" splitindex="true" useexternalfile="true"> |
| <header><![CDATA[<!-- Begin Google Analytics code --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-2728886-3"); pageTracker._setDomainName("none"); pageTracker._setAllowLinker(true); pageTracker._trackPageview(); </script> <!-- End Google Analytics code -->]]></header> |
| <bottom><![CDATA[<!-- Begin LoopFuse code --> <script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"> </script> <script type="text/javascript"> _lf_cid = "LF_48be82fa"; _lf_remora(); </script> <!-- End LoopFuse code -->]]></bottom> |
| </javadoc.links> |
| <copy toDir="@{output.dir}/resources"> |
| <fileset dir="${javadoc.resources.dir}" erroronmissingdir="false"/> |
| </copy> |
| </sequential> |
| </macrodef> |
| |
| <presetdef name="javadoc.links"> |
| <javadoc/> |
| </presetdef> |
| |
| </project> |