| <?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="artifact-common" xmlns:ivy="antlib:org.apache.ivy.ant" |
| xmlns:bundlor="antlib:com.springsource.bundlor.ant"> |
| |
| <!-- Main targets --> |
| <target name="javadoc-all" depends="ivy.init, resolve.compile, src.init" if="src.exists" |
| description="Creates javadoc documentation for all classes."> |
| <java-doc input.dir="${main.java.dir}" output.dir="${javadoc-all.output.dir}" classpath.id="compile.classpath" |
| access="private"/> |
| </target> |
| |
| <target name="javadoc-api" depends="ivy.init, resolve.compile, src.init" if="src.exists" |
| description="Creates javadoc documentation for all classes."> |
| <java-doc input.dir="${main.java.dir}" output.dir="${javadoc-api.output.dir}" classpath.id="compile.classpath" |
| access="protected" exclude.package.names="${javadoc.exclude.package.names}"/> |
| </target> |
| |
| <target name="jar" depends="ivy.init, resolve.compile, compile.init, jar.init" |
| description="Creates a JAR file containing the output of a compilation of the source tree."> |
| <delete quiet="true" file="${ivy.output.file}"/> |
| <mkdir dir="${ivy.output.dir}"/> |
| <delete quiet="true" file="${jar.output.file}"/> |
| <mkdir dir="${jar.output.dir}"/> |
| <delete quiet="true" file="${source-jar.output.file}"/> |
| <mkdir dir="${source-jar.output.dir}"/> |
| |
| <compile classpath.id="compile.classpath" input.dir="${main.java.dir}" output.dir="${main.output.dir}" |
| resources.dir="${main.resources.dir}"/> |
| <ivy:retrieve resolveId="additional.classpath" conf="additional" type="jar" transitive="false" |
| pattern="${main.output.dir}/[artifact]-[revision].[ext]" log="download-only"/> |
| <antcall target="bundlor"/> |
| <jar destfile="${jar.output.file}" basedir="${main.output.dir}" index="true" filesetmanifest="merge"> |
| <manifest> |
| <attribute name="Bundle-ManifestVersion" value="2"/> |
| <attribute name="Bundle-Version" value="${bundle.version}"/> |
| <attribute name="Bundle-Creator" value="${user.name}"/> |
| <attribute name="Implementation-Title" value="${implementation.title}"/> |
| <attribute name="Implementation-Version" value="${implementation.version}"/> |
| </manifest> |
| </jar> |
| <jar destfile="${source-jar.output.file}" basedir="${main.java.dir}" index="true"/> |
| <ivy:publish resolver="integration" pubdate="${timestamp}" status="${release.type}"> |
| <artifacts pattern="${ivy.output.dir}/[artifact].[ext]"/> |
| <artifacts pattern="${jar.output.dir}/[artifact].[ext]"/> |
| <artifacts pattern="${source-jar.output.dir}/[artifact].[ext]"/> |
| </ivy:publish> |
| </target> |
| |
| <!-- Other targets --> |
| <propertyset id="bundlor.properties"/> |
| |
| <target name="compile.init" depends="ivy.init"/> |
| |
| <target name="jar.init"> |
| <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 'ivy.cache.dir' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="ivy.cache.dir"/> |
| </not> |
| </condition> |
| </fail> |
| <fail message="The 'version' property must be set on this project."> |
| <condition> |
| <not> |
| <isset property="version"/> |
| </not> |
| </condition> |
| </fail> |
| </target> |
| |
| <target name="bundlor" depends="bundlor.init" unless="disable.bundlor"> |
| <bundlor:bundlor inputPath="${main.output.dir}" outputPath="${main.output.dir}" |
| bundleVersion="${bundle.version}" manifestTemplatePath="${manifest.template.file}" |
| failOnWarnings="${fail.on.warnings}"> |
| <propertyset refid="bundlor.properties"/> |
| <propertyset> |
| <propertyref builtin="all"/> |
| </propertyset> |
| </bundlor:bundlor> |
| </target> |
| |
| <target name="bundlor.init" depends="ivy.init" unless="disable.bundlor"> |
| <ivy:cachepath resolveId="bundlor.classpath" pathid="bundlor.classpath" organisation="com.springsource.bundlor" |
| module="com.springsource.bundlor.ant" revision="${bundlor.ant.version}" conf="ant" inline="true" |
| type="jar" log="download-only"/> |
| <taskdef resource="com/springsource/bundlor/ant/antlib.xml" uri="antlib:com.springsource.bundlor.ant" |
| classpathref="bundlor.classpath"/> |
| </target> |
| |
| <target name="javadoc.prep" depends="src.init" if="src.exists"> |
| <mkdir dir="${javadoc.prep.dir}"/> |
| <copy todir="${javadoc.prep.dir}"> |
| <fileset dir="${main.java.dir}" erroronmissingdir="false"/> |
| </copy> |
| </target> |
| |
| </project> |