alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

<project name="Build specific targets and properties" default="noDefault" basedir=".">

	<!-- ===================================================================== -->
	<!-- Run a given ${target} on all elements being built -->
	<!-- ===================================================================== -->
	<target name="allElements">
		<ant antfile="${genericTargets}" target="${target}">
			<property name="type" value="feature" />
			<property name="id" value="a.feature" />
		</ant>
	</target>

	<!-- ===================================================================== -->
	<!-- Targets to assemble the built elements for particular configurations  -->
	<!-- These generally call the generated assemble scripts (named in -->
	<!-- ${assembleScriptName}) but may also add pre and post processing -->
	<!-- Add one target for each root element and each configuration -->
	<!-- ===================================================================== -->
	<target name="assemble.a.feature">
		<ant antfile="${assembleScriptName}" />
	</target>

	<!-- ===================================================================== -->
	<!-- Check out map files from correct repository -->
	<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
	<!-- ===================================================================== -->
	<target name="checkLocal">
		<available property="mapsLocal" file="${buildDirectory}/maps/platform-releng-home/examples/build_jdtcore/maps" />
	</target>

	<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">

		<!-- ***  change the repo info -->
		<property name="mapCvsRoot" value=":pserver:anonymous@dev.eclipse.org:/home/eclipse" />
		<property name="mapVersionTag" value="HEAD" />

		<!--get map file for this example.-->
		<cvs cvsRoot="${mapCvsRoot}" package="platform-releng-home/examples/build_jdtcore/maps" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />

	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before setup -->
	<!-- ===================================================================== -->
	<target name="preSetup">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after setup but before starting the build proper -->
	<!-- ===================================================================== -->
	<target name="postSetup">
		<!--download and install eclipse platform against which to compile org.eclipse.jdt.core plug-in-->
		<available file="${buildDirectory}/../eclipse-platform.zip" property="platformExists" />
		<antcall target="getEclipsePlatform" />
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before fetching the build elements -->
	<!-- ===================================================================== -->
	<target name="preFetch">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after the fetch -->
	<!-- ===================================================================== -->
	<target name="postFetch">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before generating build scripts -->
	<!-- ===================================================================== -->
	<target name="preGenerate">

	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after generating the build scripts -->
	<!-- ===================================================================== -->
	<target name="postGenerate">
		<!--removes any stale jars/compile logs from source tree-->
		<antcall target="clean" />
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do before assembling -->
	<!-- ===================================================================== -->
	<target name="preAssemble">

	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after assembling-->
	<!-- ===================================================================== -->
	<target name="postAssemble">
	</target>


	<!-- ===================================================================== -->
	<!-- Steps to do before running the build.xmls for the elements being built. -->
	<!-- ===================================================================== -->
	<target name="preProcess">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after running the build.xmls for the elements being built. -->
	<!-- ===================================================================== -->
	<target name="postProcess">
	</target>

	<!-- ===================================================================== -->
	<!-- Steps to do after everything is built and assembled -->
	<!-- (e.g., testing, posting, emailing, ...) -->
	<!-- ===================================================================== -->
	<target name="postBuild">
		<antcall target="gatherLogs" />
	</target>

	<!-- ===================================================================== -->
	<!-- Helper targets -->
	<!-- ===================================================================== -->
	<target name="gatherLogs">
		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
		<antcall target="allElements">
			<param name="target" value="gatherLogs" />
		</antcall>
		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
			<fileset dir="${buildDirectory}/features/a.feature">
				<include name="*.log.zip" />
			</fileset>
		</unzip>
	</target>

	<target name="clean" unless="noclean">
		<antcall target="allElements">
			<param name="target" value="cleanElement" />
		</antcall>
	</target>

	<target name="getEclipsePlatform" unless="platformExists">
		<!--use build.cfg in platform-releng-home/examples/build_core/maps
		 	to specify desired version of the eclipse platform binary to download
		 	and compile against.  Alternately, set platformBuildID and platformURL Ant property value
		 	from the command line.-->
		<property file="${buildDirectory}/maps/platform-releng-home/examples/build_jdtcore/maps/build.cfg" />
		<get src="${platformURL}/eclipse-platform-${platformBuildID}-win32.zip" dest="${buildDirectory}/eclipse-platform.zip" />
		<exec dir="${buildDirectory}" executable="unzip">
			<arg line="-o -qq eclipse-platform.zip" />
		</exec>
	</target>

	<!-- ===================================================================== -->
	<!-- Default target                                                        -->
	<!-- ===================================================================== -->
	<target name="noDefault">
		<echo message="You must specify a target when invoking this file" />
	</target>

</project>
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.