<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2019 Xored Software Inc and others.
    All rights reserved. This program and the accompanying materials
    are made available under the terms of the Eclipse Public License v1.0
    which accompanies this distribution, and is available at
    http://www.eclipse.org/legal/epl-v10.html
     
    Contributors:
    	Xored Software Inc - initial API and implementation and/or initial documentation
 -->

<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>
  <groupId>com.xored.q7</groupId>
  <artifactId>q7.clean</artifactId>
  <version>2.5.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <repo>${settings.localRepository}</repo>
  </properties>
  <build>
    <plugins>
      <plugin>
	<artifactId>maven-antrun-plugin</artifactId>
	<executions>
	  <execution>
	    <phase>package</phase>
	    <configuration>
	      <tasks>
		<delete failonerror="false" dir="${repo}/org/eclipse/rcptt" />
		<delete failonerror="false" dir="${repo}/.cache/tycho" />
		<delete failonerror="false" file="${repo}/.meta/p2-local-metadata.properties" />
		<delete failonerror="false" includeEmptyDirs="true">
		  <fileset dir="${repo}/p2/osgi/bundle">
		    <include name="org.eclipse.rcptt*/**" />
		  </fileset>
		</delete>
		<delete failonerror="false" includeEmptyDirs="true">
		  <fileset dir="${repo}/p2/org/eclipse/update/feature">
		    <include name="org.eclipse.rcptt*/**" />
		  </fileset>
		</delete>
	      </tasks>
	    </configuration>
	    <goals>
	      <goal>run</goal>
	    </goals>
	  </execution>
	</executions>
      </plugin>
    </plugins>
  </build>
</project>
