<?xml version="1.0"?>

<project name="Create Feed, Add Entry, Update Entry, Read Entry" default="doAll">

	<taskdef name="CreateFeed" classname="org.eclipse.releng.generators.rss.RSSFeedCreateFeedTask" classpath="../feedTools.jar"/>
	<taskdef name="AddEntry" classname="org.eclipse.releng.generators.rss.RSSFeedAddEntryTask" classpath="../feedTools.jar"/>
	<taskdef name="GetProperty" classname="org.eclipse.releng.generators.rss.RSSFeedGetPropertyTask" classpath="../feedTools.jar"/>
	<taskdef name="UpdateEntry" classname="org.eclipse.releng.generators.rss.RSSFeedUpdateEntryTask" classpath="../feedTools.jar"/>

	<target name="doAll">
		<antcall target="addEntry"/>
		<antcall target="getProperties"/>
		<antcall target="updateFeed"/>
	</target>

	<target name="init">
		<!-- 1. Define property file -->

		<property file="../properties/feedPublish.eclipse.properties"/>		
		<!--
			<property file="../properties/feedPublish.emf.properties"/>		
			<property file="../properties/feedPublish.uml2.properties"/>		
		-->
	</target>
	
	<target name="create" depends="init">
		<!-- 2. Create feed (overwrite existing) -->

		<CreateFeed 
			debug="${debug}" 
			project="${project}" 
			file="${file}" 
			feedURL="${feedURL}"/>
		
	</target>
		
	<target name="addEntry" depends="init">
		<!-- 3. Add an entry (and create the feed if it doesn't already exist) -->

		<!-- note: if not providing a buildType, must specify buildID to generate value -->
		<AddEntry 
			debug="${debug}" 
			file="${file}" 

			project="${project}"
			version="${version}"
			branch="${branch}"
			buildID="${buildID}"
			buildType="${buildType}"
			feedURL="${feedURL}"
			buildURL="${buildURL}"

			buildAlias="${buildAlias}"
			
			buildDetailURL="${buildDetailURL}"
			buildConfigURL="${buildConfigURL}"
			buildLogURL="${buildLogURL}"
			buildMapURL="${buildMapURL}"
			
			dependencyURLs="${dependencyURLs}"
			releases="${Releases}"
			
			releaseNotesURL="${releaseNotesURL}"
			updateManagerURL="${updateManagerURL}"
			downloadsURL="${downloadsURL}"
			jarSigningStatus="${jarSigningStatus}"
			coordinatedstatus="${coordinatedStatus}"
			
			JUnitTestURL="${JUnitTestURL}"
			performanceTestURL="${performanceTestURL}"
			APITestURL="${APITestURL}"
			JUnitTestResults="${JUnitTestResults}"
			performanceTestResults="${performanceTestResults}"
			APITestResults="${APITestResults}"
		/>
		
	</target>
		
	<target name="getProperties" depends="init">
		<!-- 4. Display a text or attribute value (ie., get a property) -->

		<!-- on the feed itself, display modified date -->
		<GetProperty 
			debug="${debug}" 
			file="${file}"
			xpath="/*[name() = 'feed']/*[name() = 'updated']/text()"
		/>

		<!-- on the first entry, display the modified date -->
		<GetProperty 
			debug="${debug}" 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*[name() = 'updated']/text()"
		/>

		<!-- on the first entry, display the build's folder, filename, and type -->
		<GetProperty 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/@href"
		/>
		<GetProperty 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/*[name() = 'releases']/*[@os = 'linux'][@ws = 'gtk'][@type = 'SDK']/text()"
		/>
		<GetProperty 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*/*[name() = 'build']/@type"
		/>

	</target>
		
	<target name="updateFeed" depends="init">
		<!-- 5. Update an existing entry by changing a property value to something else -->
		
		<!-- on the first entry, change the coordinated status to COMPLETE -->
		<UpdateEntry 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*/*/*[name() = 'coordinated']/@status"
			replacement="COMPLETE"
		/>
		<!-- on the first entry, change the performance results (os-ws = RHEL4-3GHz-2.5GB-gtk) to PENDING -->
		<UpdateEntry 
			file="${file}"
			xpath="/*/*[name() = 'entry'][1]/*/*/*/*[@type = 'performance']/*[name() = 'result'][@id = 'RHEL4-3GHz-2.5GB']/text()"
			replacement="PENDING"
		/>

	</target>
	
</project>
