<!--
  Copyright (c) 2011, 2012, 2013, 2014 Red Hat, Inc.
  All rights reserved.
  This program is 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:
  	Red Hat, Inc. - initial API and implementation
-->
<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.bpmn2.modeler.features</groupId>
		<artifactId>org.eclipse.bpmn2.modeler.features.parent</artifactId>
		<version>1.5.1-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>

	<artifactId>org.eclipse.bpmn2.modeler.updatesite</artifactId>
	<packaging>eclipse-repository</packaging>
	<name>BPMN2 Modeler Feature: Update Site</name>
	<description>BPMN2 Modeler Update SiteFeature</description>

	<properties>
	  <maven.antrun.plugin.version>1.3</maven.antrun.plugin.version>
	  <update.site.name>BPMN2 Modeler</update.site.name>
	  <update.site.description>BPMN2 Modeler Release build for Eclipse Oxygen platform</update.site.description>
	  <target.eclipse.version>4.7 (Oxygen)</target.eclipse.version>
	  <siteTemplateFolder>siteTemplateFolder</siteTemplateFolder>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-packaging-plugin</artifactId>
				<version>${tycho-version}</version>
				<configuration>
					<archiveSite>true</archiveSite>
					<environments>
						<environment>
							<os>macosx</os>
							<ws>cocoa</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>win32</os>
							<ws>win32</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86</arch>
						</environment>
						<environment>
							<os>linux</os>
							<ws>gtk</ws>
							<arch>x86_64</arch>
						</environment>
					</environments>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-antrun-plugin</artifactId>
				<version>${maven.antrun.plugin.version}</version><!--$NO-MVN-MAN-VER$-->
				<executions>
					<execution>
						<id>install</id>
						<phase>install</phase>
						<configuration>
							<quiet>true</quiet>
							<tasks>
								<!-- called AFTER generating update site + zip to add in extra content -->
								<ant antfile="build.xml">
									<property
										name="platform-version-name"
										value="${platform-version-name}" />
								</ant>
							</tasks>
						</configuration>
						<goals>
							<goal>run</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>commons-net</groupId>
						<artifactId>commons-net</artifactId>
						<version>1.4.1</version>
					</dependency>
					<dependency>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant</artifactId>
						<version>1.7.1</version>
					</dependency>
					<dependency>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant-nodeps</artifactId>
						<version>1.7.1</version>
					</dependency>
					<dependency>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant-trax</artifactId>
						<version>1.7.1</version>
					</dependency>
					<dependency>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant-commons-net</artifactId>
						<version>1.7.1</version>
					</dependency>
					<dependency>
						<groupId>org.apache.ant</groupId>
						<artifactId>ant-apache-regexp</artifactId>
						<version>1.7.1</version>
					</dependency>
					<dependency>
						<groupId>ant-contrib</groupId>
						<artifactId>ant-contrib</artifactId>
						<version>1.0b3</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>
</project>
