<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2010 Sonatype, Inc.
  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>

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

  <parent>
    <groupId>org.sonatype.forge</groupId>
    <artifactId>forge-parent</artifactId>
    <version>10</version>
  </parent>

  <groupId>org.eclipse.m2e</groupId>
  <artifactId>m2e-core</artifactId>
  <version>1.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Maven Integration for Eclipse (parent)</name>
  <description>Maven Integration for Eclipse provides tight integration
		for Maven into the IDE</description>
  <url>http://eclipse.org/m2e</url>
  <inceptionYear>2005</inceptionYear>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <m2e-maven-runtime.version>${project.version}</m2e-maven-runtime.version>

    <tycho-version>0.22.0</tycho-version>
    <tycho-extras-version>${tycho-version}</tycho-extras-version>

    <!-- eclipse version m2e is built against -->
    <eclipse.stream>luna</eclipse.stream>
    <eclipse-repo.url>http://download.eclipse.org/releases/${eclipse.stream}</eclipse-repo.url>
  </properties>

  <organization>
    <name>Sonatype, Inc.</name>
    <url>http://www.sonatype.com</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</url>
    <system>Bugzilla</system>
  </issueManagement>

  <repositories>
    <repository>
      <id>eclipse</id>
      <layout>p2</layout>
      <url>${eclipse-repo.url}</url>
    </repository>
    <repository>
      <id>eclipse-license</id>
      <layout>p2</layout>
      <url>http://download.eclipse.org/cbi/updates/license</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>tycho-snapshots</id>
      <url>https://oss.sonatype.org/content/groups/staging</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <modules>
    <module>org.eclipse.m2e.model.edit</module>

    <!--
    <module>org.eclipse.m2e.cliresolver</module>
    <module>org.eclipse.m2e.cliresolver30</module>
    -->

    <module>org.eclipse.m2e.core</module>
    <module>org.eclipse.m2e.core.ui</module>
    <module>org.eclipse.m2e.launching</module>
    <module>org.eclipse.m2e.jdt</module>
    <module>org.eclipse.m2e.jdt.ui</module>
    <module>org.eclipse.m2e.refactoring</module>
    <module>org.eclipse.m2e.editor.xml</module>
    <module>org.eclipse.m2e.editor</module>
    <module>org.eclipse.m2e.lifecyclemapping.defaults</module>
    <module>org.eclipse.m2e.discovery</module>
    <module>org.eclipse.m2e.scm</module>
    <module>org.eclipse.m2e.profiles.core</module>
    <module>org.eclipse.m2e.profiles.ui</module>

    <!-- common test helpers -->
    <module>org.eclipse.m2e.tests.common</module>

    <!-- Logging -->
    <module>org.eclipse.m2e.logback.appender</module>
    <module>org.eclipse.m2e.logback.configuration</module>

    <!-- features -->
    <module>org.eclipse.m2e.feature</module>
    <module>org.eclipse.m2e.sdk.feature</module>
    <module>org.eclipse.m2e.logback.feature</module>

    <module>org.eclipse.m2e.site</module>
  </modules>


  <dependencies>
    <dependency>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>org.eclipse.m2e.archetype.common</artifactId>
      <version>${m2e-maven-runtime.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>org.eclipse.m2e.maven.indexer</artifactId>
      <version>${m2e-maven-runtime.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>org.eclipse.m2e.maven.runtime</artifactId>
      <version>${m2e-maven-runtime.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>org.eclipse.m2e.maven.runtime.slf4j.simple</artifactId>
      <version>${m2e-maven-runtime.version}</version>
    </dependency>
    <dependency>
      <groupId>io.takari.m2e.workspace</groupId>
      <artifactId>org.eclipse.m2e.workspace.cli</artifactId>
      <version>0.3.1</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <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.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <format>yyyyMMdd-HHmm</format>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho-version}</version>
          <configuration>
            <useUIHarness>true</useUIHarness>
            <includes>
              <include>**/*Test.java</include>
            </includes>
            <argLine>${tycho.test.jvmArgs}</argLine>
            <forkedProcessTimeoutInSeconds>7200</forkedProcessTimeoutInSeconds>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho-version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>

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

      <pluginRepositories>
        <pluginRepository>
          <id>cbi-releases</id>
          <url>https://repo.eclipse.org/content/repositories/cbi-releases/</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>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.1.1</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
              </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>
              </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>selfhosted-workspace</id>
      <!--
      This profile is a convenience meant to help setting up m2e development workspace.
      On command line, embedded maven runtime must be built separately, before m2e-core sources tree.
      -->
      <activation>
        <property>
          <name>m2e.version</name>
        </property>
      </activation>
      <modules>
        <module>m2e-maven-runtime</module>
      </modules>
    </profile>
  </profiles>

  <developers>
    <developer>
      <id>eu</id>
      <name>Eugene Kuleshov</name>
      <organization>Sonatype Inc.</organization>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>jvanzyl</id>
      <name>Jason van Zyl</name>
      <organization>Sonatype Inc.</organization>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>vsiveton</id>
      <name>Vincent Siveton</name>
      <email>vsiveton@apache.org</email>
      <organization>ASF</organization>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>ifedorenko</id>
      <name>Igor Fedorenko</name>
      <organization>Sonatype Inc.</organization>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>akraev</id>
      <name>Anton Kraev</name>
      <timezone>-5</timezone>
    </developer>
    <developer>
      <id>hboutemy</id>
      <name>Hervé Boutemy</name>
    </developer>
    <developer>
      <id>krel</id>
      <name>Lukáš Křečan</name>
    </developer>
    <developer>
      <id>bentmann</id>
      <name>Benjamin Bentmann</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>dip</id>
      <name>Dmitry Platonoff</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>rseddon</id>
      <name>Rich Seddon</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>mkleint</id>
      <name>Milos Kleint</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>prapicau</id>
      <name>Pascal Rapicault</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>ptatavu</id>
      <name>Vlad Tatavu</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>rgould</id>
      <name>Richard Gould</name>
      <organization>Sonatype Inc.</organization>
    </developer>
    <developer>
      <id>fbricon</id>
      <name>Fred Bricon</name>
      <timezone>+1</timezone>
    </developer>
  </developers>

  <mailingLists>
    <mailingList>
      <name>Users List</name>
      <subscribe>m2e-users@eclipse.org</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/m2e-users</unsubscribe>
      <post>m2e-users@eclipse.org</post>
      <archive>http://dev.eclipse.org/mhonarc/lists/m2e-users</archive>
    </mailingList>
    <mailingList>
      <name>Developer List</name>
      <subscribe>m2e-dev@eclipse.org</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/m2e-dev</unsubscribe>
      <post>m2e-dev@eclipse.org</post>
      <archive>http://dev.eclipse.org/mhonarc/lists/m2e-dev</archive>
    </mailingList>
  </mailingLists>
</project>
