<?xml version="1.0" encoding="UTF-8"?>
<project name="Packaging">
	<target name="create.target.platform.metadata">
		<buckminster.targetPlatformLocation property="target.platform.location" />
		<property name="target.platform.repository" value="file:/${sp:output}" />
		<p2.publish.featuresAndBundles metadataRepository="${target.platform.repository}" source="${target.platform.location}" publishArtifacts="false" repositoryname="Acceleo build Site"/>
		<buckminster.publishJRE metadataRepository="${target.platform.repository}" publishArtifacts="false" />
	</target>

	<target name="-define.package.qualifier">
		<property name="incubation.qualifier" value="" />

		<!-- if the build.alias is non-empty then use it in preference -->
		<condition property="package.qualifier" value="${incubation.qualifier}-${build.alias}">
			<and>
				<isset property="build.alias" />
				<length string="${build.alias}" when="greater" length="0" />
			</and>
		</condition>
		<!-- otherwise use the build.id if defined, if not then fall back to an empty string -->
		<condition property="package.qualifier" value="${incubation.qualifier}-${build.id}" else="${incubation.qualifier}">
			<and>
				<isset property="build.id" />
				<length string="${build.id}" when="greater" length="0" />
			</and>
		</condition>
	</target>

	<target name="package.site" depends="-define.package.qualifier">
		<mkdir dir="${sp:output}" />

		<!-- create the desired ZIP file -->
		<zip basedir="${sp:repository}" destfile="${sp:output}/${package.name}${package.qualifier}.zip" />
	</target>

	<target name="-locate.launcher.jar" unless="launcher.jar">
		<pathconvert property="launcher.jar">
			<first count="1">
				<sort>
					<fileset dir="${eclipse.home}/plugins" includes="**/org.eclipse.equinox.launcher_*.jar" />
					<reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
						<date />
					</reverse>
				</sort>
			</first>
		</pathconvert>
	</target>

	<target name="-define.common.properties" depends="-locate.launcher.jar">
		<buckminster.targetPlatformLocation property="target.platform.location" />
		<property name="target.platform.bundle.pool" value="file:/${target.platform.location}" />

		<condition property="wildcard" value="&quot;*&quot;" else="*">
			<os family="windows" />
		</condition>
	</target>

	<target name="-install.prerequisite.ius" depends="-define.common.properties" if="prerequisite.ius">
		<condition property="bundle.pools.for.prerequisites" value="${target.platform.bundle.pool}|file:/${sp:prerequisites.base}" else="${target.platform.bundle.pool}">
			<isset property="sp:prerequisites.base" />
		</condition>
		<property name="bundle.pools.for.install" value="${target.platform.bundle.pool}|file:/${prerequisites.destination}" />

		<delete dir="${prerequisites.destination}" />

		<!--
		  install the specified prerequisite IUs (which are not to be included
		  in the final install) in a separate directory
		-->
		<java jar="${launcher.jar}" fork="true" failonerror="true">
			<arg value="-consolelog" />
			<arg value="-application" />
			<arg value="org.eclipse.equinox.p2.director" />
			<arg value="-repository" />
			<arg value="file:/${sp:repository}" />
			<arg value="-metadataRepository" />
			<arg value="file:/${sp:target.platform.repository}" />
			<arg value="-destination" />
			<arg value="${prerequisites.destination}" />
			<arg value="-profile" />
			<arg value="Prerequisites" />
			<arg value="-profileproperties" />
			<arg value="org.eclipse.equinox.p2.cache.extensions=${bundle.pools.for.prerequisites},org.eclipse.update.install.features=true" />
			<arg value="-installIU" />
			<arg value="${prerequisite.ius}" />
			<arg value="-p2.os" />
			<arg value="${wildcard}" />
			<arg value="-p2.ws" />
			<arg value="${wildcard}" />
			<arg value="-p2.arch" />
			<arg value="${wildcard}" />
		</java>

		<!--
		  remove the p2 metadata, as the prerequisites install location is only meant
		  to be used as a secondary bundle pool during the install of the required IUs
		-->
		<delete dir="${prerequisites.destination}" includeEmptyDirs="true">
			<include name="p2/**" />
		</delete>
	</target>

	<target name="-install.ius" depends="-install.prerequisite.ius">
		<!-- this may have already been defined in the -install.prerequisite.ius target (if it ran) -->
		<property name="bundle.pools.for.install" value="${target.platform.bundle.pool}" />

		<delete dir="${install.destination}" />

		<!--
		  install the required IUs, referencing the target plaform and potetially also the prerequisite
		  install location as secondary bundle pools so that only the desired components are installed
		  in the install destination directory
		-->
		<java jar="${launcher.jar}" fork="true" failonerror="true">
			<arg value="-consolelog" />
			<arg value="-application" />
			<arg value="org.eclipse.equinox.p2.director" />
			<arg value="-repository" />
			<arg value="file:/${sp:repository}" />
			<arg value="-metadataRepository" />
			<arg value="file:/${sp:target.platform.repository}" />
			<arg value="-destination" />
			<arg value="${install.destination}" />
			<arg value="-profile" />
			<arg value="Install" />
			<arg value="-profileproperties" />
			<arg value="org.eclipse.equinox.p2.cache.extensions=${bundle.pools.for.install},org.eclipse.update.install.features=true" />
			<arg value="-installIU" />
			<arg value="${content.ius}" />
			<arg value="-p2.os" />
			<arg value="${wildcard}" />
			<arg value="-p2.ws" />
			<arg value="${wildcard}" />
			<arg value="-p2.arch" />
			<arg value="${wildcard}" />
		</java>

		<!-- remove the p2 metadata, as they will never be used -->
		<delete dir="${install.destination}" includeEmptyDirs="true">
			<include name="p2/**" />
		</delete>
	</target>

	<target name="-define.properties.for.installation">
		<property name="install.destination" location="${sp:output}" />

		<property name="prerequisites.destination" location="${install.destination}-prerequisites" />
	</target>

	<target name="install.ius" depends="-define.properties.for.installation,-install.ius">
		<!-- cleanup -->
		<delete dir="${prerequisites.destination}" />
	</target>

	<target name="-define.properties.for.packaging">
		<property name="temp.directory" location="${sp:output}/${package.name}-temp" />

		<property name="install.directory.name" value="eclipse" />
		<property name="install.destination" location="${temp.directory}/${install.directory.name}" />

		<property name="prerequisites.destination" location="${temp.directory}/prerequisites" />
	</target>

	<target name="package.ius" depends="-define.properties.for.packaging,-install.ius,-define.package.qualifier">
		<!-- remove the p2 metadata, as they will never be used -->
		<delete dir="${install.destination}" includeEmptyDirs="true">
			<include name="artifacts.xml" />
		</delete>

		<!-- create the desired ZIP file -->
		<zip basedir="${temp.directory}" destfile="${sp:output}/${package.name}${package.qualifier}.zip">
			<include name="${install.directory.name}/**" />
		</zip>

		<!-- cleanup -->
		<delete dir="${temp.directory}" />
	</target>

	<target name="package.models" depends="-define.common.properties,-define.package.qualifier">
		<property name="temp.directory" location="${sp:output}/${package.name}-temp/" />

		<property name="install.destination" location="${temp.directory}/${top.directory}" />
		<property name="bundle.pools.for.install" value="${target.platform.bundle.pool}" />

		<delete dir="${install.destination}" />

		<!--
		  install required IUs, referencing the target plaform as a secondary bundle pool
		  so that only the desired components are installed in the install destination
		  directory
		-->
		<java jar="${launcher.jar}" fork="true" failonerror="true">
			<arg value="-consolelog" />
			<arg value="-application" />
			<arg value="org.eclipse.equinox.p2.director" />
			<arg value="-repository" />
			<arg value="file:/${sp:repository}" />
			<arg value="-metadataRepository" />
			<arg value="file:/${sp:target.platform.repository}" />
			<arg value="-destination" />
			<arg value="${install.destination}" />
			<arg value="-profile" />
			<arg value="Install" />
			<arg value="-profileproperties" />
			<arg value="org.eclipse.equinox.p2.cache.extensions=${bundle.pools.for.install}" />
			<arg value="-installIU" />
			<arg value="${content.ius}" />
			<arg value="-p2.os" />
			<arg value="${wildcard}" />
			<arg value="-p2.ws" />
			<arg value="${wildcard}" />
			<arg value="-p2.arch" />
			<arg value="${wildcard}" />
		</java>

		<!-- remove the p2 metadata, as they will never be used -->
		<delete dir="${install.destination}" includeEmptyDirs="true">
			<include name="artifacts.xml" />
			<include name="p2/**" />
		</delete>

		<property name="plugin.directory" location="${install.destination}/plugins" />
		<property name="target.directory.name" value="${top.directory}/models" />
		<property name="target.directory" location="${temp.directory}/${target.directory.name}" />

		<property name="model.directory.name" value="model" />
		<property name="cache.directory.name" value="cache" />
		<property name="about.file.name" value="about.html" />

		<delete dir="${target.directory}" />

		<!--
		  create a single directory corresponding to every bundle found in the plugins
		  subdirectory of the previous install operation destination
		  (handle both - the directory based and the jar based plugins)
		-->
		<touch mkdirs="true" verbose="false">
			<fileset dir="${plugin.directory}">
				<depth max="0" />
				<type type="file" />
				<filename name="*.jar" />
			</fileset>
			<globmapper from="*.jar" to="${target.directory}/*/.stamp" />
		</touch>
		<touch mkdirs="true" verbose="false">
			<fileset dir="${plugin.directory}">
				<depth max="0" />
				<type type="dir" />
			</fileset>
			<globmapper from="*" to="${target.directory}/*/.stamp" />
		</touch>

		<!--
		  now call the "-extract.model.files" target for every directory created
		  in the previous step
		-->
		<subant genericantfile="${ant.file}" target="-extract.model.files" inheritall="true">
			<dirset dir="${target.directory}">
				<include name="*/**" />
			</dirset>
		</subant>

		<!--
		  delete any files other than those we want to keep, and delete also
		  directories which become empty as a result of that action
		-->
		<delete dir="${target.directory}" includeemptydirs="true">
			<filename name="**/*" />
			<none>
				<and>
					<!--
					  delete also the about files if not accompanied
					  by either model or cache directories
					-->
					<filename name="*/${about.file.name}" />
					<or>
						<present targetdir="${target.directory}">
							<mapper>
								<globmapper from="*${about.file.name}" to="*${model.directory.name}" />
							</mapper>
						</present>
						<present targetdir="${target.directory}">
							<mapper>
								<globmapper from="*${about.file.name}" to="*${cache.directory.name}" />
							</mapper>
						</present>
					</or>
				</and>
				<filename name="*/${model.directory.name}/**" />
				<filename name="*/${cache.directory.name}/**" />
			</none>
		</delete>

		<!-- create the desired ZIP file -->
		<zip basedir="${temp.directory}" destfile="${sp:output}/${package.name}${package.qualifier}.zip">
			<include name="${target.directory.name}/**" />
		</zip>

		<!-- cleanup -->
		<delete dir="${temp.directory}" />
	</target>

	<target name="-extract.model.files">
		<pathconvert property="plugin.location.stem">
			<path location="${basedir}" />
			<map from="${target.directory}" to="${plugin.directory}" />
		</pathconvert>
		<property name="plugin.location" value="${plugin.location.stem}.jar" />

		<patternset id="model.files">
			<include name="${about.file.name}" />
			<include name="${model.directory.name}/**" />
			<include name="${cache.directory.name}/**" />
		</patternset>

		<!-- define a resource set for a jar file based plugin -->
		<zipfileset id="zip.resource.set" src="${plugin.location}">
			<patternset refid="model.files" />
		</zipfileset>

		<!-- define a resource set for a directory based plugin -->
		<fileset id="file.resource.set" dir="${plugin.location.stem}">
			<patternset refid="model.files" />
		</fileset>

		<!-- decide which resource set to use -->
		<condition property="resource.set" value="zip.resource.set" else="file.resource.set">
			<available file="${plugin.location}" type="file" />
		</condition>

		<!-- now copy the selected resources -->
		<copy todir="${basedir}">
			<resources refid="${resource.set}" />
		</copy>
	</target>
</project>
