<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, 2012 Obeo

   Cedric Brun <cedric.brun@obeo.fr>
   William Piers <william.piers@obeo.fr>

-->

<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<artifactId>m2m.atl-parent</artifactId>
		<groupId>org.eclipse.m2m.atl</groupId>
		<version>4.3.0-SNAPSHOT</version>
		<relativePath>../../releng/org.eclipse.m2m.atl.releng.parent</relativePath>
	</parent>

	<artifactId>org.eclipse.m2m.atl.update</artifactId>
	<packaging>eclipse-repository</packaging>

	<!-- see http://issues.sonatype.org/browse/TYCHO-313 -->
	<version>4.3.0-SNAPSHOT</version>

	<build>
		<resources>
			<resource>
				<directory>.</directory>
				<filtering>true</filtering>
				<includes>
					<include>publisher.properties</include>
				</includes>
			</resource>
			<resource>
				<directory>.</directory>
				<filtering>false</filtering>
				<includes>
					<include>downloads.sh</include>
					<include>index.html</include>
					<include>publish.sh</include>
					<include>updates.sh</include>
				</includes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-repository-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<createArtifactRepository>true</createArtifactRepository>
					<finalName>${project.groupId}-${unqualifiedVersion}.${buildId}</finalName>
					<compress>true</compress>
					<repositoryName>ATL ${unqualifiedVersion}.${buildId}</repositoryName>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<phase>verify</phase>
						<goals>
							<goal>resources</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<outputDirectory>${project.build.directory}</outputDirectory>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>
