<?xml version="1.0" encoding="UTF-8"?>
<!--
	Headless materialization of Emf Parsley workspace
	adapted from Headless materialization of Xtext workspace

	Author: Lorenzo Bettini, Dennis Huebner

	Properties:
		WORKSPACE  			where workspace will be generated,
							default: ${user.home}/workspaces/emf-parsley-sources
							or ${user.home}/workspaces/emf-parsley-rap-sources
							for target materialize.workspace.rap
		buckminster.home	Buckminster headless location
							default: ${user.home}/buckminster.parsley
							if not installed, it will be automatically installed
		git.clone.dest		where sources are (or will be) cloned
							${user.home}/git/org.eclipse.emf-parsley
-->
<project name="worskspace" default="materialize.workspace">
	<!-- Windows Maximum Path Length Limitation issue
	<condition property="git.root" value="/git" else="${user.home}/git">
		<os family="windows" />
	</condition> -->
	<property name="git.root" value="${user.home}/git" />
	<property name="git.clone.dest" location="${git.root}/org.eclipse.emf-parsley" />
	<property name="checkout.location" location="${git.clone.dest}" />
	<property name="releng.project" value="${checkout.location}/releng/org.eclipse.emf.parsley.releng"/>
	<property name="commands.path" value="${releng.project}/commands"/>
	<property name="target.definition.file" value="luna.target"/>
	<property name="target.rap.definition.file" value="kepler-rap.target"/>
	<property name="target.definition" value="${checkout.location}/devtools/org.eclipse.emf.parsley.targetplatform/${target.definition.file}"/>
	<property name="target.rap.definition" value="${checkout.location}/devtools/org.eclipse.emf.parsley.targetplatform/${target.rap.definition.file}"/>
	
	<property name="target.platform.dir" value="target.platform" />
	<property name="eclipse.download" value="http://download.eclipse.org" />
	<property name="eclipse.name" value="luna" />

	<property name="buckminster.home" location="${user.home}/buckminster.parsley" />

	<property name="director.install.dest" location="${user.home}" />
	<property name="director.dir" location="${director.install.dest}/director" />
	<property name="director.url" value="http://download.eclipse.org/tools/buckminster/products/director_latest.zip" />

	<property name="git.config.file" location="${git.clone.dest}/.git/config" />
	
	<property name="remote.cquery" value="http://git.eclipse.org/c/emf-parsley/org.eclipse.emf-parsley.git/plain/devtools/org.eclipse.emf.parsley.contributor/parsley-contr.cquery" />
	
	<property name="eclipse.p2.mirrors" value="true" />
	<property name="java.net.preferIPv4Stack" value="true" />

	<target name="materialize.workspace" depends="install.buckminster.headless">
		<property name="WORKSPACE" location="${user.home}/workspaces/emf-parsley-sources" />
		<property name="target.platform" location="${WORKSPACE}/${target.platform.dir}" />
		
		<echo message="output workspace     : ${WORKSPACE}" />
		<echo message="git clone repository : ${git.clone.dest}" />

		<antcall target="cleanup" />
		<antcall target="set.target.platform.path" />
		<antcall target="clone.projects" />
		<antcall target="import.target" />
		<antcall target="resolve.commands" />
		<antcall target="import.workspace.settings" />

		<echo message=" " />
		<echo message="Workspace materialized in: ${WORKSPACE}" />
	</target>

	<target name="materialize.workspace.rap" depends="install.buckminster.headless">
		<property name="WORKSPACE" location="${user.home}/workspaces/emf-parsley-rap-sources" />
		<property name="target.platform" location="${WORKSPACE}/${target.platform.dir}" />
		
		<echo message="output workspace     : ${WORKSPACE}" />
		<echo message="git clone repository : ${git.clone.dest}" />

		<antcall target="cleanup" />
		<antcall target="set.target.platform.path" />
		<antcall target="clone.projects" />
		<antcall target="import.rap.target" />
		<antcall target="resolve.commands.rap" />
		<antcall target="import.workspace.settings" />

		<echo message=" " />
		<echo message="Workspace materialized in: ${WORKSPACE}" />
	</target>

	<target name="set.target.platform.path">
		<run_buckminster command='setpref targetPlatformPath="${target.platform}"' />
	</target>

	<target name="clone.projects">
		<echo message="IMPORTANT: Initial cloning of a git repository may take a while." />
		<!--		<run_buckminster command="import ${user.home}/git/org.eclipse.xtext/devtools/org.eclipse.xtext.contributor/xtext-contr.mspec" />
	-->
		<run_buckminster command="import ${remote.cquery}" />
	</target>

	<target name="import.target">
		<echo message="IMPORTANT: Populating an empty target platform may take a while." />
		<run_buckminster command='importtargetdefinition -A "${target.definition}"' />
	</target>

	<target name="import.rap.target">
		<echo message="IMPORTANT: Populating an empty target platform may take a while." />
		<run_buckminster command='importtargetdefinition -A "${target.rap.definition}"' />
	</target>

	<target name="import.api.baseline">
		<run_buckminster command='importtargetdefinition "${checkout.location}/releng/org.eclipse.xtext.releng/api-baseline/api-baseline.target"' />
	</target>

	<target name="set.api.baseline">
		<run_buckminster command='addbaseline -A "api-baseline"' />
	</target>

	<target name="resolve.commands" depends="copy-xtext-grammar-to-bin">
		<echo message="IMPORTANT: We also run mwe2 to create Xtext languages artifacts." />
		<run_buckminster command='--script "${commands.path}/headless-resolve-commands-contributor.bmscript"' />
	</target>

	<target name="resolve.commands.rap">
		<echo message="IMPORTANT: Populating an empty target platform may take a while." />
		<run_buckminster command='--script "${commands.path}/headless-resolve-commands-contributor-rap.bmscript"' />
	</target>

	<target name="import.workspace.settings">
		<run_buckminster command='importprefs -F "${checkout.location}/devtools/org.eclipse.emf.parsley.contributor/workspace.epf"' />
	</target>

	<!-- = = = = = = = = = = = = = = = = =
          macrodef: run_buckminster
          pass the commandsfile to execute      
         = = = = = = = = = = = = = = = = = -->
	<macrodef name="run_buckminster">
		<attribute name="command" default="default" />

		<sequential>
			<java fork="true" dir="${buckminster.home}" logError="true" classname="org.eclipse.core.launcher.Main" failonerror="true">
				<classpath>
					<fileset dir="${buckminster.home}/plugins">
						<include name="org.eclipse.equinox.launcher_*.jar" />
					</fileset>
				</classpath>
				<!-- <arg line='-L DEBUG' /> -->
				<arg line='@{command}' />
				<arg line='-data "${WORKSPACE}"' />
				<arg line='-configuration "${WORKSPACE}/configuration"' />
				<sysproperty key="projects.location" value="${checkout.location}" />
				<sysproperty key="git.clone.dest" value="${git.clone.dest}" />
				<sysproperty key="checkout.location" value="${checkout.location}" />
				<sysproperty key="target.platform" value="${target.platform}" />
				<sysproperty key="eclipse.download" value="${eclipse.download}" />
				<sysproperty key="eclipse.p2.mirrors" value="${eclipse.p2.mirrors}" />
				<sysproperty key="java.net.preferIPv4Stack" value="${java.net.preferIPv4Stack}" />
				<jvmarg line=" -Xms256m -Xmx512m" />
			</java>
		</sequential>
	</macrodef>
	
	<target name="copy-xtext-grammar-to-bin">
	  <echo message="checkout.location: ${checkout.location}" />

	  <copy todir="${checkout.location}" overwrite="true" verbose="true">
	    <fileset dir="${checkout.location}" casesensitive="true">
	      <include name="**/src/**/*.xtext" />
	    </fileset>
	    <regexpmapper from="(.*)/(src)/(.*/*\.xtext)" to="\1/bin/\3" casesensitive="yes" handledirsep="yes"/>
	  </copy>
	</target>

	<target name="install.buckminster.headless">
		<condition property="buckminster.headless.installed">
			<available file="${buckminster.home}/buckminster" />
		</condition>
		<antcall target="install.buckminster.headless.internal" />
	</target>

	<target name="install.buckminster.headless.internal" unless="buckminster.headless.installed">
		<antcall target="install.p2.director" />
		<echo message="" />
		<echo message="Installing Buckminster Headless into ${buckminster.home}..." />
		<java fork="true" dir="${director.dir}" logError="true" classname="org.eclipse.core.launcher.Main" failonerror="true">
			<sysproperty key="eclipse.p2.mirrors" value="false" />
			<classpath>
				<fileset dir="${director.dir}/plugins">
					<include name="org.eclipse.equinox.launcher_*.jar" />
				</fileset>
			</classpath>
			<arg line='-data "${director.dir}/workspace"' />
			<arg line="-r ${eclipse.download}/tools/buckminster/headless-4.4,http://download.cloudsmith.com/buckminster/external-4.4,${eclipse.download}/modeling/tmf/xtext/updates/composite/releases" />
			<arg line='-d "${buckminster.home}"' />
			<arg line="-p Buckminster" />
			<arg line="-roaming" />
			<arg line="-i org.eclipse.buckminster.cmdline.product" />
			<arg line="-i org.eclipse.buckminster.core.headless.feature.feature.group" />
			<arg line="-i org.eclipse.buckminster.pde.headless.feature.feature.group" />
			<arg line="-i org.eclipse.buckminster.git.headless.feature.feature.group" />
			<arg line="-i org.eclipse.buckminster.maven.headless.feature.feature.group" />
			<!-- <arg line="-i org.eclipse.buckminster.emma.headless.feature.feature.group" /> -->
			<arg line="-i org.eclipse.emf.mwe2.launcher.feature.group" />
		</java>
	</target>

	<target name="install.p2.director">
		<condition property="p2.director.installed">
			<available file="${director.dir}/director" />
		</condition>
		<antcall target="install.p2.director.internal" />
	</target>

	<target name="install.p2.director.internal" unless="p2.director.installed">
		<echo message="" />
		<echo message="Installing director from ${director.url}..." />
		<tempfile destdir="${java.io.tmpdir}" prefix="director-" suffix=".zip" property="director.zip" deleteonexit="true" />
		<get src="${director.url}" dest="${director.zip}" />
		<unzip src="${director.zip}" dest="${director.install.dest}" />
		<delete file="${director.zip}" />
	</target>

	<target name="cleanup">
		<delete failonerror="false" includeemptydirs="true">
			<fileset dir="${WORKSPACE}" defaultexcludes="false">
				<exclude name="**/.metadata/.plugins/org.eclipse.pde.core/.bundle_pool/" />
				<exclude name="**/.metadata/.plugins/*mylyn*/" />
				<exclude name="**/.metadata/.mylyn/" />
				<exclude name="**/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml" />
				<exclude name="**/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml" />
				<exclude name="**/${target.platform.dir}/" />
			</fileset>
		</delete>
	</target>

	<target name="create.git.config" unless="existing.repository">
		<input message="Input your eclipse bugzilla id" addproperty="bugzilla.user" />
		<antcall target="-do.modify.config" />
	</target>

	<target name="-do.modify.config" if="bugzilla.user">
		<loadfile property="user.aware.config" srcFile="${checkout.location}/devtools/org.eclipse.xtext.contributor/gerrit.config">
			<filterchain>
				<expandproperties />
			</filterchain>
		</loadfile>
		<echo file="${git.config.file}">${user.aware.config}</echo>
		<echo>Modified ${git.config.file}</echo>
	</target>
</project>
