<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2012,2013 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:
     Stephan Leicht Vogt - initial implementation
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.scout</groupId>
    <artifactId>org.eclipse.scout.parent</artifactId>
    <version>4.0.200-SNAPSHOT</version>
    <relativePath>../org.eclipse.scout.parent</relativePath>
  </parent>

  <artifactId>org.eclipse.scout.rt.incubator</artifactId>
  <packaging>pom</packaging>

  <scm>
    <url>http://git.eclipse.org/c/scout/scout.rt.incubator.git/</url>
    <connection>${tycho.scmUrl}</connection>
  </scm>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/scout/scout.rt.incubator.git</tycho.scmUrl>
    <jdtCorePrefs>${project.basedir}/../../org.eclipse.scout.rt/org.eclipse.scout.rt-feature/.settings/org.eclipse.jdt.core.prefs</jdtCorePrefs>
  </properties>

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

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

  <modules>
    <module>org.eclipse.scout.rt.incubator.parent</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <configuration>
          <compilerArguments>
            <properties>${jdtCorePrefs}</properties>
          </compilerArguments>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
