<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>org.eclipse.app4mc.build</groupId>
		<artifactId>parent</artifactId>
		<version>2.1.0</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>
	
	<properties>
	<plugin-id>app4mc.example.modeling.state_machine</plugin-id>
	<examples-installer-location>../../plugins/org.eclipse.app4mc.amalthea.examples.installer</examples-installer-location>
	</properties> 
	

	<artifactId>app4mc.example.modeling.state_machine</artifactId>
	<packaging>jar</packaging>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.7</version>

				<executions>
					<execution>
						<id>replace-build-token</id>
						<phase>generate-sources</phase>

						<configuration>
							<target>
								 <copy todir="${examples-installer-location}/examples/${plugin-id}">
									<fileset dir="./">
									<exclude name=".externalToolBuilders/" />
									<exclude name="database/" />
									<exclude name="bin/" />
									<exclude name="target/" />
									<exclude name=".settings/org.eclipse.mylyn*" />
									<exclude name=".settings/org.eclipse.pde.api.tools.prefs" />
									<exclude name="**/.gitignore" />
									<exclude name="**/pom.xml" />
									<exclude name="**/release.*" />
									<include name="**" />
									</fileset>
								 </copy> 
								 
								 		 <replaceregexp file="${examples-installer-location}/examples/${plugin-id}/.project"
			               byline="false"
			               flags="sg"
			               match="\s*&lt;buildCommand&gt;\s+&lt;name&gt;org.eclipse.ui.externaltools.ExternalToolBuilder.*?&lt;/buildCommand&gt;"
			               replace="" />

			<replaceregexp file="${examples-installer-location}/examples/${plugin-id}/.project"
			               byline="false"
			               flags="s"
			               match="\s*&lt;buildCommand&gt;\s+&lt;name&gt;org.eclipse.pde.api.tools.apiAnalysisBuilder.*?&lt;/buildCommand&gt;"
			               replace="" />

			<replaceregexp file="${examples-installer-location}/examples/${plugin-id}/.project"
			               byline="false"
			               flags="s"
			               match="\s*&lt;buildCommand&gt;\s+&lt;name&gt;org.eclipse.emf.cdo.releng.version.VersionBuilder.*?&lt;/buildCommand&gt;"
			               replace="" />

			<replaceregexp file="${examples-installer-location}/examples/${plugin-id}/.project"
			               byline="false"
			               flags="s"
			               match="\s*&lt;nature&gt;org.eclipse.pde.api.tools.apiAnalysisNature&lt;/nature&gt;"
			               replace="" />

			<replaceregexp file="${examples-installer-location}/examples/${plugin-id}/.project"
			               byline="false"
			               flags="s"
			               match="\s*&lt;nature&gt;org.eclipse.emf.cdo.releng.version.VersionNature&lt;/nature&gt;"
			               replace="" />
							</target>
						</configuration>

						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					
						<execution>
						<id>auto-clean</id>
						<phase>clean</phase>

						<configuration>
							<target>
								 <delete  dir="${examples-installer-location}/examples/${plugin-id}"/>
						   </target>
						</configuration>

						<goals>
							<goal>run</goal>
						</goals>
					</execution>
					
				</executions>

			</plugin>
			 
            <!-- do not publish this artifact to Maven repositories -->
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
		</plugins>
	</build>
</project>