<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2015 BSI Business Systems Integration AG.
    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

    Contributors:
        BSI Business Systems Integration AG - 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.scout</groupId>
    <artifactId>maven_sdk_p2_plugin_config-master</artifactId>
    <version>2.0.8</version>
    <relativePath></relativePath>
  </parent>

  <groupId>org.eclipse.scout.sdk</groupId>
  <artifactId>org.eclipse.scout.sdk.p2</artifactId>
  <version>6.1.0.B002</version>
  <packaging>pom</packaging>
  <name>Eclipse Scout SDK P2</name>
  <description>Eclipse Scout SDK - Eclipse Features/Repository</description>

  <prerequisites>
    <maven>3.2.2</maven>
  </prerequisites>

  <modules>
    <module>../org.eclipse.scout.sdk-target</module>
    <module>../org.eclipse.scout.sdk-feature</module>
    <module>../org.eclipse.scout.sdk-repository</module>
  </modules>

  <properties>
    <scout.base.version>6.1.0</scout.base.version>
    <base.version>${scout.base.version}</base.version>
    <org.eclipse.scout.rt_version>6.1.0.B002</org.eclipse.scout.rt_version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.scout.sdk</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.scout.sdk.deps</groupId>
          <artifactId>org.eclipse.jdt.core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e</artifactId>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.doc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.doc</artifactId>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.nls</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.nls</artifactId>
      <classifier>sources</classifier>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.ui</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.scout.sdk.s2e</groupId>
      <artifactId>org.eclipse.scout.sdk.s2e.ui</artifactId>
      <classifier>sources</classifier>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>target-platform-configuration</artifactId>
          <configuration>
            <target>
              <artifact>
                <groupId>org.eclipse.scout.sdk</groupId>
                <artifactId>org.eclipse.scout.sdk-target</artifactId>
                <version>${project.version}</version>
                <classifier>org.eclipse.neon-dependencies</classifier>
              </artifact>
            </target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.scout</groupId>
          <artifactId>eclipse-settings-maven-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.scout.sdk</groupId>
              <artifactId>org.eclipse.scout.sdk-settings</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <inherited>false</inherited>
        <configuration>
          <flattenMode>bom</flattenMode>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <!-- primarily for license header generation -->
  <inceptionYear>2015</inceptionYear>

  <organization>
    <name>Eclipse Scout Project</name>
    <url>https://eclipse.org/scout</url>
  </organization>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <url>http://www.eclipse.org/legal/epl-v10.html</url>
      <comments>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.htm</comments>
    </license>
  </licenses>

  <developers>
    <developer>
      <name>Eclipse Scout Committers</name>
      <email>scout-dev@eclipse.org</email>
      <organization>Eclipse</organization>
      <organizationUrl>https://www.eclipse.org</organizationUrl>
    </developer>
  </developers>

  <mailingLists>
    <mailingList>
      <name>scout-dev Mailing List</name>
      <subscribe>https://dev.eclipse.org/mailman/listinfo/scout-dev</subscribe>
      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/scout-dev</unsubscribe>
      <post>scout-dev@eclipse.org</post>
      <archive>http://dev.eclipse.org/mhonarc/lists/scout-dev</archive>
    </mailingList>
  </mailingLists>

  <scm>
    <connection>scm:git:git://git.eclipse.org/gitroot/scout/org.eclipse.scout.sdk.git</connection>
    <developerConnection>scm:git:ssh://${eclipse_gerrit_username}@git.eclipse.org:29418/scout/org.eclipse.scout.sdk</developerConnection>
    <tag>6.1.0.B002</tag>
    <url>http://git.eclipse.org/c/scout/org.eclipse.scout.sdk.git/</url>
  </scm>

  <issueManagement>
    <system>Bugzilla</system>
    <url>https://bugs.eclipse.org/bugs/buglist.cgi?classification=Technology;component=Scout SDK;product=Scout;query_format=advanced</url>
  </issueManagement>

  <repositories>
    <repository>
      <snapshots></snapshots>
      <id>eclipse.snapshot</id>
      <name>eclipse-snapshot-repo</name>
      <url>https://repo.eclipse.org/content/groups/snapshots/</url>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>eclipse.release</id>
      <name>eclipse-release-repo</name>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </pluginRepository>
    <pluginRepository>
      <snapshots></snapshots>
      <id>eclipse.snapshot</id>
      <name>eclipse-snapshot-repo</name>
      <url>https://repo.eclipse.org/content/groups/snapshots/</url>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Scout Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/scout-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Scout Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/scout-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <profile>
      <id>release.setversion</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>com.google.code.maven-replacer-plugin</groupId>
            <artifactId>replacer</artifactId>
            <executions>
              <execution>
                <id>replace_scout_version_parent_pom</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}</basedir>
                  <includes>
                    <include>pom.xml</include>
                  </includes>
                  <token>(\\x3corg.eclipse.scout.rt_version\\x3e)[0-9A-Z\\.\\-]*(\\x3c/org.eclipse.scout.rt_version\\x3e)</token>
                  <value>$1${org.eclipse.scout.rt_version}$2</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
              <execution>
                <id>replace_scout_version_p2_files</id>
                <goals>
                  <goal>replace</goal>
                </goals>
                <phase>generate-resources</phase>
                <configuration>
                  <basedir>${project.basedir}/..</basedir>
                  <includes>
                    <include>*/feature.xml</include>
                    <include>*/category.xml</include>
                  </includes>
                  <token>[0-9A-Z\\.]*.qualifier</token>
                  <value>${master_release_newVersion}</value>
                  <unescape>true</unescape>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
