Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: ce78cced138806c87f9e45376a3a1197c7bd6f03 (plain) (tree)



















































































































                                                                                                                                
<?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>

Back to the top