<?xml version="1.0" encoding="UTF-8"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<artifactId>org.eclipse.jubula.releng.client</artifactId>
		<groupId>org.eclipse.jubula</groupId>
		<version>8.0.4-SNAPSHOT</version>
		<relativePath>../org.eclipse.jubula.releng.client</relativePath>
	</parent>
	<artifactId>org.eclipse.jubula.feature.api</artifactId>
    <version>4.0.0-SNAPSHOT</version>
	<packaging>eclipse-feature</packaging>
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>lib</id>
						<phase>process-sources</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>lib</outputDirectory>
							<overWriteReleases>true</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
							<excludeTransitive>false</excludeTransitive>
							<stripVersion>true</stripVersion>
						</configuration>
					</execution>
					<execution>
						<id>m2-repo</id>
						<phase>process-sources</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>m2-repo</outputDirectory>
							<overWriteReleases>true</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
							<excludeTransitive>false</excludeTransitive>
							<useRepositoryLayout>true</useRepositoryLayout>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-clean-plugin</artifactId>
				<version>2.4.1</version>
				<configuration>
					<filesets>
						<fileset>
							<directory>lib</directory>
							<followSymlinks>false</followSymlinks>
						</fileset>
						<fileset>
							<directory>m2-repo</directory>
							<followSymlinks>false</followSymlinks>
						</fileset>
					</filesets>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho.extras</groupId>
				<artifactId>tycho-source-feature-plugin</artifactId>
				<version>${tycho-extras-version}</version>
				<executions>
					<execution>
						<id>source-feature</id>
						<phase>package</phase>
						<goals>
							<goal>source-feature</goal>
						</goals>
						<configuration>
							<excludes>
								<!-- ID of the non-source bundle(s) to exclude from the generated 
									source feature -->
								<plugin id="javax.xml.stream" />
								<plugin id="org.xmlpull" />
								<plugin id="com.thoughtworks.xstream" />
                                <plugin id="org.eclipse.jdt.annotation" />
                                <plugin id="org.slf4j.jcl" />
                                <plugin id="ch.qos.logback.slf4j" />
							</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-plugin</artifactId>
				<version>${tycho-version}</version>
				<executions>
					<execution>
				       <!-- Don't attach (default) metadata before the source-feature execution.-->
				       <id>default-p2-metadata-default</id>
				       <configuration>
				         <attachP2Metadata>false</attachP2Metadata>
				       </configuration>
				     </execution>
				     <execution>
				       <!-- Do attach metadata after the source-feature execution.-->
				       <id>attach-p2-metadata</id>
				       <goals>
				         <goal>p2-metadata</goal>
				       </goals>
				       <phase>package</phase>
				     </execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>