<?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" />
		<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="-define.category.qualifier">
		<property name="incubation.qualifier" value="" />

		<!-- if the build.alias is non-empty then use it in preference -->
		<condition property="category.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="category.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>
	
	<!-- Modify category xml (replace package qualifier) -->
	<target name="-create.category.xml" depends="-define.category.qualifier">
		<loadfile property="modifiedCategoryXml" srcFile="category.xml.template">
			<filterchain>
				<expandproperties />
			</filterchain>
		</loadfile>
		<echo file="category.xml">${modifiedCategoryXml}</echo>
	</target>

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

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

		<!--echo>Packaging site: ${package.name}-core</echo-->

		<!-- create the core ZIP file -->
		<!--zip basedir="${sp:repository}" destfile="${sp:output}/${package.name}-core${package.qualifier}.zip">
			<include name="artifacts.jar" />
			<include name="content.jar" />
			<include name="p2.index" />
			<include name="features/org.eclipse.ocl_*/**" />
			<include name="features/org.eclipse.ocl.all_*/**" />
			<include name="features/org.eclipse.ocl.all.source*/**" />
			<include name="features/org.eclipse.ocl.core*/**" />
			<include name="features/org.eclipse.ocl.source*/**" />
			<include name="features/org.eclipse.ocl.uml*/**" />
			<include name="plugins/lpg.runtime*/**" />
			<include name="plugins/org.eclipse.ocl_*/**" />
			<include name="plugins/org.eclipse.ocl.source*/**" />
			<include name="plugins/org.eclipse.ocl.common_*/**" />
			<include name="plugins/org.eclipse.ocl.common.source*/**" />
			<include name="plugins/org.eclipse.ocl.ecore_*/**" />
			<include name="plugins/org.eclipse.ocl.ecore.source*/**" />
			<include name="plugins/org.eclipse.ocl.uml_*/**" />
			<include name="plugins/org.eclipse.ocl.uml.source*/**" />
		</zip-->

		<echo>Packaging site: ${package.name}-tests</echo>

		<!-- create the tests ZIP file -->
		<zip basedir="${sp:repository}" destfile="${sp:output}/${package.name}-tests${package.qualifier}.zip">
			<include name="artifacts.jar" />
			<include name="content.jar" />
			<include name="p2.index" />
			<include name="features/org.eclipse.ocl.examples.tests*/**" />
			<include name="features/org.eclipse.ocl.tests*/**" />
			<include name="plugins/org.eclipse.ocl.ecore.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.ecore.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.eventmanager.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.eventmanager.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testmodel.company_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testmodel.company.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testmodel.ngpm_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testmodel.ngpm.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testutils_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.impactanalyzer.testutils.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.ui.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.ui.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.uml25_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.uml25.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.validity.test_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.validity.test.source*/**" />
			<include name="plugins/org.eclipse.ocl.examples.xtext.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.examples.xtext.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.tests.source*/**" />
			<include name="plugins/org.eclipse.ocl.uml.tests_*/**" />
			<include name="plugins/org.eclipse.ocl.uml.tests.source*/**" />
		</zip>
	</target>


	<!-- Tuning up the p2 repository (statistics, mirrorsURL,..) -->
	<target name="-tuneup.p2.repository">
		<echo>Tuning up p2 repository for the build ${build.id}</echo>
		<property name="repository.root" value="${sp:repository}" />
		<condition property="qualifier" value="${build.alias}" else="${build.id}">
			<and>
				<isset property="build.alias" />
				<length string="${build.alias}" when="greater" length="0" />
			</and>
		</condition>
		<condition property="repository.type" value="nightly">
			<matches string="${build.id}" pattern="^N" />
		</condition>
		<condition property="repository.type" value="interim">
			<matches string="${build.id}" pattern="^I" />
		</condition>
		<condition property="repository.type" value="milestones">
			<matches string="${build.id}" pattern="^S" />
		</condition>
		<condition property="repository.type" value="maintenance">
			<matches string="${build.id}" pattern="^M" />
		</condition>
		<condition property="repository.type" value="releases">
			<matches string="${build.id}" pattern="^R" />
		</condition>
		<echo>->   Setting the statistics and mirrorsURL </echo>
		<ant antfile="p2RepoTuning/p2RepoTuning.ant" target="tuneup.p2.repository" inheritall="true" />
		<echo>->   Copying the p2.index file</echo>
		<copy file="p2.index" todir="${sp:repository}"/>
		<echo>->   Copying the index.html file</echo>
		<copy file="index.html" todir="${sp:repository}"/>
		<echo>Tuning up p2 repository finished</echo>
	</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.content.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
		-->
		<echo>Launcher jar: ${launcher.jar}</echo>
		<echo>Repository: file: ${sp:repository}</echo>
		<echo>Metadata Repository :file: ${sp:target.platform.repository}</echo>
		<echo>Install destination: ${install.destination}</echo>
		<echo>Bundle pools for install : file: ${bundle.pools.for.install}</echo>		
		<echo>Content ius: ${content.ius}</echo>
		<echo>Wildcard: ${wildcard}</echo>		
		<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, so that the installation of target platform IUs is not confused -->
		<delete dir="${install.destination}" includeEmptyDirs="true">
			<include name="p2/**" />
		</delete>
	</target>

	<target name="-install.ius" depends="-install.content.ius" if="target.platform.ius">
		<!--
		  install the specified TP IUs
		-->
		<java jar="${launcher.jar}" fork="true" failonerror="true">
			<arg value="-consolelog" />
			<arg value="-application" />
			<arg value="org.eclipse.equinox.p2.director" />
			<arg value="-metadataRepository" />
			<arg value="file:/${sp:target.platform.repository}" />
			<arg value="-artifactRepository" />
			<arg value="${target.platform.bundle.pool}" />
			<arg value="-destination" />
			<arg value="${install.destination}" />
			<arg value="-profile" />
			<arg value="Install" />
			<arg value="-profileproperties" />
			<arg value="org.eclipse.update.install.features=true" />
			<arg value="-installIU" />
			<arg value="${target.platform.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>
