<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2008-2013 Sonatype, 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
-->
<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.sonatype.forge</groupId>
    <artifactId>forge-parent</artifactId>
    <version>10</version>
  </parent>

  <groupId>org.eclipse.m2e.wtp</groupId>
  <artifactId>org.eclipse.m2e.wtp.parent</artifactId>
  <version>1.2.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>M2E-WTP :: Parent</name>
  <url>http://www.eclipse.org/m2e-wtp</url>
  <inceptionYear>2008</inceptionYear>

  <properties>
    <tycho-version>0.21.0</tycho-version>
    <tycho-extras-version>${tycho-version}</tycho-extras-version>
    <tycho.scmUrl>scm:git:http://git.eclipse.org/gitroot/m2e-wtp/org.eclipse.m2e.wtp.git</tycho.scmUrl>

    <test.timeout>1800</test.timeout><!--  30 mins -->
    <tycho.test.jvmArgs>-Xmx512m -XX:MaxPermSize=256m</tycho.test.jvmArgs>
    <eclipse.target>luna</eclipse.target>
    <eclipse-repo.url>http://download.eclipse.org/releases/${eclipse.target}</eclipse-repo.url>
    <webtools-repo.url>http://download.eclipse.org/webtools/repository/${eclipse.target}</webtools-repo.url>
    <orbit-repo.url>http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/</orbit-repo.url>
    <!--
    <m2e-repo.url>http://download.eclipse.org/technology/m2e/milestones/1.6/</m2e-repo.url>
    -->
    <m2e-repo.url>http://repository.takari.io:8081/nexus/content/sites/m2e.extras/m2e/1.6.0/N/LATEST/</m2e-repo.url>
    <!-- Warning : changing the mavenarchiver version requires submitting a new CQ in ipzilla -->
    <!-- Use signed version of m2eclipse-mavenarchiver 0.16.0.201401211452, built on build.eclipse.org -->
    <mavenarchiver-repo.url>http://download.eclipse.org/m2e-wtp/signed/mavenarchiver/0.16.0/</mavenarchiver-repo.url>

  </properties>

  <prerequisites>
   <maven>3.0</maven>
  </prerequisites>

  <organization>
    <name>Eclipse foundation</name>
    <url>http://www.eclipse.org</url>
  </organization>

  <licenses>
    <license>
      <name>Eclipse Public License - v 1.0</name>
      <url>http://www.eclipse.org/legal/epl-v10.html</url>
    </license>
  </licenses>

  <issueManagement>
    <url>https://bugs.eclipse.org/bugs/enter_bug.cgi?product=M2E-WTP</url>
    <system>Bugzilla</system>
  </issueManagement>

  <ciManagement>
    <system>Hudson</system>
    <url>http://hudson.eclipse.org/</url>
  </ciManagement>

  <modules>
    <module>org.eclipse.m2e.wtp.overlay</module>
    <module>org.eclipse.m2e.wtp.overlay.ui</module>
    <module>org.eclipse.m2e.wtp</module>
    <module>org.eclipse.m2e.wtp.feature</module>
    <module>org.eclipse.m2e.wtp.jaxrs</module>
    <module>org.eclipse.m2e.wtp.jaxrs.feature</module>
    <module>org.eclipse.m2e.wtp.jsf</module>
    <module>org.eclipse.m2e.wtp.jsf.feature</module>
    <module>org.eclipse.m2e.wtp.sdk.feature</module>
    <module>org.eclipse.m2e.wtp.site</module>
  </modules>

  <repositories>
    <repository>
      <id>m2e-core</id>
      <layout>p2</layout>
      <url>${m2e-repo.url}</url>
    </repository>
    <repository>
      <id>eclipse</id>
      <layout>p2</layout>
      <url>${eclipse-repo.url}</url>
    </repository>
    <repository>
      <id>orbit</id>
      <layout>p2</layout>
      <url>${orbit-repo.url}</url>
    </repository>
    <!--
    <repository>
      <id>webtools</id>
      <layout>p2</layout>
      <url>${webtools-repo.url}</url>
    </repository>
    -->
    <repository>
      <id>eclipse-license</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/cbi/updates/license</url>
    </repository>
    <repository>
      <id>mavenarchiver</id>
      <layout>p2</layout>
      <url>${mavenarchiver-repo.url}</url>
    </repository>
    <repository>
      <id>RSO-public-group</id>
      <url>http://repository.sonatype.org/content/groups/sonatype-public-grid</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>RSO-public-group</id>
      <url>http://repository.sonatype.org/content/groups/sonatype-public-grid</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <format>yyyyMMdd-HHmm</format>
          <sourceReferences>
            <generate>true</generate>
          </sourceReferences>
        </configuration>
       <dependencies>
          <dependency>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-sourceref-jgit</artifactId>
            <version>${tycho-extras-version}</version>
          </dependency>
       </dependencies>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-maven-plugin</artifactId>
        <version>${tycho-version}</version>
        <extensions>true</extensions>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <pomDependencies>consider</pomDependencies>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <version>${tycho-version}</version>
        <executions>
          <execution>
            <id>plugin-source</id>
            <goals>
              <goal>plugin-source</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>osx</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <tycho.test.jvmArgs>-Xmx512m -XX:MaxPermSize=256m -Dosgi.ws=cocoa -XstartOnFirstThread</tycho.test.jvmArgs>
        <osgi.ws>cocoa</osgi.ws>
      </properties>
    </profile>

    <profile>
      <id>eclipse-sign</id>

      <pluginRepositories>
        <pluginRepository>
          <id>m2e-cbi</id>
          <url>http://download.eclipse.org/technology/m2e/maven/</url>
        </pluginRepository>
      </pluginRepositories>

      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <version>${tycho-version}</version>
            <configuration>
              <includePackedArtifacts>true</includePackedArtifacts>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <version>${tycho-extras-version}</version>
            <executions>
              <execution>
                <id>pack200-normalize</id>
                <goals>
                  <goal>normalize</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.0.1</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200b-plugin</artifactId>
            <version>${tycho-extras-version}</version>
            <executions>
              <execution>
                <id>pack200-pack</id>
                <goals>
                  <goal>pack</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>p2-metadata</id>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
                <phase>package</phase>
              </execution>
              </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    
    <profile>
      <id>sdk</id>
      <activation>
      <file>
        <exists>sdk</exists>
      </file>
      </activation>
      <build>
        <plugins>
          <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>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-p2-plugin</artifactId>
            <version>${tycho-version}</version>
            <executions>
              <execution>
                <id>attach-p2-metadata</id>
                <phase>package</phase>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    </profiles>
</project>
