<?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>

  <groupId>org.eclipse.scout.sdk</groupId>
  <artifactId>org.eclipse.scout.sdk</artifactId>
  <version>5.1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <scout.rt.version>5.1.0-SNAPSHOT</scout.rt.version>
    <jdk.source.version>1.7</jdk.source.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.build.timestamp.format>yyyyMMdd-HHmmss</maven.build.timestamp.format>
	<maven.model.dependency.version>3.3.3</maven.model.dependency.version>

    <!-- exclude the unit tests from sonar -->
    <sonar.exclusions>file:**/org.eclipse.scout.sdk.test/**</sonar.exclusions>

    <!-- exclude the unit tests and UI (we have no UI tests anyway) from sonar -->
    <sonar.coverage.exclusions>file:**/org.eclipse.scout.sdk.test/**,
      file:**/org.eclipse.scout.sdk.ui/**,
      file:**/org.eclipse.scout.sdk.rap.ui/**</sonar.coverage.exclusions>

    <!-- dependencies to Eclipse artifacts deployed by org.eclipse.scout.sdk.core.releng/ -->
    <osgiVersion>3.10.2.v20150203-1939</osgiVersion>
    <osgiVersionMaven>${osgiVersion}-SNAPSHOT</osgiVersionMaven>
    <equinoxVersion>3.6.200.v20130402-1505</equinoxVersion>
    <equinoxVersionMaven>${equinoxVersion}-SNAPSHOT</equinoxVersionMaven>
    <equinoxRegistryVersion>3.5.400.v20140428-1507</equinoxRegistryVersion>
    <equinoxRegistryVersionMaven>${equinoxRegistryVersion}-SNAPSHOT</equinoxRegistryVersionMaven>
    <equinoxPreferencesVersion>3.5.200.v20140224-1527</equinoxPreferencesVersion>
    <equinoxPreferencesVersionMaven>${equinoxPreferencesVersion}-SNAPSHOT</equinoxPreferencesVersionMaven>
    <eclipseResourcesVersion>3.9.1.v20140825-1431</eclipseResourcesVersion>
    <eclipseResourcesVersionMaven>${eclipseResourcesVersion}-SNAPSHOT</eclipseResourcesVersionMaven>
    <eclipseCommandsVersion>3.6.100.v20140528-1422</eclipseCommandsVersion>
    <eclipseCommandsVersionMaven>${eclipseCommandsVersion}-SNAPSHOT</eclipseCommandsVersionMaven>
    <eclipseContenttypeVersion>3.4.200.v20140207-1251</eclipseContenttypeVersion>
    <eclipseContenttypeVersionMaven>${eclipseContenttypeVersion}-SNAPSHOT</eclipseContenttypeVersionMaven>
    <eclipseExpressionsVersion>3.4.600.v20140128-0851</eclipseExpressionsVersion>
    <eclipseExpressionsVersionMaven>${eclipseExpressionsVersion}-SNAPSHOT</eclipseExpressionsVersionMaven>
    <eclipseFilesystemVersion>1.4.100.v20140514-1614</eclipseFilesystemVersion>
    <eclipseFilesystemVersionMaven>${eclipseFilesystemVersion}-SNAPSHOT</eclipseFilesystemVersionMaven>
    <eclipseRuntimeVersion>3.10.0.v20140318-2214</eclipseRuntimeVersion>
    <eclipseRuntimeVersionMaven>${eclipseRuntimeVersion}-SNAPSHOT</eclipseRuntimeVersionMaven>
    <eclipseJobsVersion>3.6.1.v20141014-1248</eclipseJobsVersion>
    <eclipseJobsVersionMaven>${eclipseJobsVersion}-SNAPSHOT</eclipseJobsVersionMaven>
    <eclipseTextVersion>3.5.300.v20130515-1451</eclipseTextVersion>
    <eclipseTextVersionMaven>${eclipseTextVersion}-SNAPSHOT</eclipseTextVersionMaven>
    <eclipseSearchVersion>3.9.100.v20140226-1637</eclipseSearchVersion>
    <eclipseSearchVersionMaven>${eclipseSearchVersion}-SNAPSHOT</eclipseSearchVersionMaven>
    <eclipseLtkRefactoringVersion>3.6.101.v20140817-1500</eclipseLtkRefactoringVersion>
    <eclipseLtkRefactoringVersionMaven>${eclipseLtkRefactoringVersion}-SNAPSHOT</eclipseLtkRefactoringVersionMaven>
    <jdtVersion>3.10.2.v20150120-1634</jdtVersion>
    <jdtVersionMaven>${jdtVersion}-SNAPSHOT</jdtVersionMaven>
    <jdtUiVersion>3.10.2.v20141014-1419</jdtUiVersion>
    <jdtUiVersionMaven>${jdtUiVersion}-SNAPSHOT</jdtUiVersionMaven>
    <uiWorkbenchVersion>3.106.2.v20150204-1030</uiWorkbenchVersion>
    <uiWorkbenchVersionMaven>${uiWorkbenchVersion}-SNAPSHOT</uiWorkbenchVersionMaven>
    <uiWorkbenchTexteditorVersion>3.9.0.v20140411-1521</uiWorkbenchTexteditorVersion>
    <uiWorkbenchTexteditorVersionMaven>${uiWorkbenchTexteditorVersion}-SNAPSHOT</uiWorkbenchTexteditorVersionMaven>
    <uiJfaceVersion>3.10.2.v20141021-1035</uiJfaceVersion>
    <uiJfaceVersionMaven>${uiJfaceVersion}-SNAPSHOT</uiJfaceVersionMaven>
    <uiJfaceTextVersion>3.9.2.v20141003-1326</uiJfaceTextVersion>
    <uiJfaceTextVersionMaven>${uiJfaceTextVersion}-SNAPSHOT</uiJfaceTextVersionMaven>
    <uiSwtVersion>3.103.2.v20150203-1351</uiSwtVersion>
    <uiSwtVersionMaven>${uiSwtVersion}-SNAPSHOT</uiSwtVersionMaven>
    <uiIdeVersion>3.10.2.v20141118-1227</uiIdeVersion>
    <uiIdeVersionMaven>${uiIdeVersion}-SNAPSHOT</uiIdeVersionMaven>
    <uiEditorsVersion>3.8.200.v20140401-1310</uiEditorsVersion>
    <uiEditorsVersionMaven>${uiEditorsVersion}-SNAPSHOT</uiEditorsVersionMaven>
    <uiViewsVersion>3.7.0.v20140408-0703</uiViewsVersion>
    <uiViewsVersionMaven>${uiViewsVersion}-SNAPSHOT</uiViewsVersionMaven>
    <uiFormsVersion>3.6.100.v20140422-1825</uiFormsVersion>
    <uiFormsVersionMaven>${uiFormsVersion}-SNAPSHOT</uiFormsVersionMaven>
	<jdtLaunchingVersion>3.7.102.v20141111-0953</jdtLaunchingVersion>
	<jdtLaunchingVersionMaven>${jdtLaunchingVersion}-SNAPSHOT</jdtLaunchingVersionMaven>
	<eclipseM2eCoreVersion>1.5.1.20150109-1820</eclipseM2eCoreVersion>
	<eclipseM2eCoreVersionMaven>${eclipseM2eCoreVersion}-SNAPSHOT</eclipseM2eCoreVersionMaven>

    <!-- version of Tycho used by org.eclipse.scout.sdk.core.releng build and profiles eclipse-sign and eclipse-pack -->
    <tycho.version>0.23.0</tycho.version>
    <tycho-extras.version>0.23.0</tycho-extras.version>
    <cbi-plugins.version>1.1.2</cbi-plugins.version>
    <jarsigner.version>1.1.2</jarsigner.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Build Dependencies -->
      <!-- <dependency> -->
      <!-- <groupId>org.eclipse.jdt.core.compiler</groupId> -->
      <!-- <artifactId>ecj</artifactId> -->
      <!-- <version>4.4.2</version> -->
      <!-- </dependency> -->
      <dependency>
        <groupId>org.eclipse.scout.sdk</groupId>
        <artifactId>org.eclipse.jdt.core</artifactId>
        <version>${jdtVersionMaven}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.1</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.0.1</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2</version>
      </dependency>
      <!-- Build Dependencies (Provided) -->
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.9.1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
            <compilerId>jdt</compilerId>
            <source>${jdk.source.version}</source>
            <target>${jdk.source.version}</target>
            <compilerArgs>
              <arg>-proc:none</arg>
            </compilerArgs>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>tycho-compiler-jdt</artifactId>
              <version>0.23.0</version>
            </dependency>
          </dependencies>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.18.1</version>
          <configuration>
            <testFailureIgnore>true</testFailureIgnore>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.6</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>2.4</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-cbi-plugin</artifactId>
          <version>${cbi-plugins.version}</version>
        </plugin>

        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>2.6.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
          <configuration>
            <!-- <deployAtEnd>true</deployAtEnd> -->
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.10</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200a-plugin</artifactId>
          <version>${tycho-extras.version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.cbi.maven.plugins</groupId>
          <artifactId>eclipse-jarsigner-plugin</artifactId>
          <version>${jarsigner.version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-pack200b-plugin</artifactId>
          <version>${tycho-extras.version}</version>
        </plugin>

        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.eclipse.cbi.maven.plugins</groupId>
                    <artifactId>eclipse-cbi-plugin</artifactId>
                    <versionRange>[1.1.2,)</versionRange>
                    <goals>
                      <goal>generate-api-build-xml</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.eclipse.cbi.maven.plugins</groupId>
        <artifactId>eclipse-cbi-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>generate-api-build-xml</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.basepom.maven</groupId>
        <artifactId>duplicate-finder-maven-plugin</artifactId>
        <version>1.2.0</version>
        <executions>
          <execution>
            <id>default</id>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <printEqualFiles>false</printEqualFiles>
          <failBuildInCaseOfDifferentContentConflict>true</failBuildInCaseOfDifferentContentConflict>
          <failBuildInCaseOfEqualContentConflict>true</failBuildInCaseOfEqualContentConflict>
          <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
          <checkCompileClasspath>true</checkCompileClasspath>
          <checkRuntimeClasspath>true</checkRuntimeClasspath>
          <checkTestClasspath>true</checkTestClasspath>
          <skip>false</skip>
          <quiet>false</quiet>
          <preferLocal>true</preferLocal>
          <useResultFile>false</useResultFile>
          <includePomProjects>true</includePomProjects>
          <ignoredResourcePatterns>
            <ignoredResourcePattern>.*ico$</ignoredResourcePattern>
            <ignoredResourcePattern>.*gif$</ignoredResourcePattern>
            <ignoredResourcePattern>.*png$</ignoredResourcePattern>
            <ignoredResourcePattern>.*html$</ignoredResourcePattern>
            <ignoredResourcePattern>.*xml$</ignoredResourcePattern>
            <ignoredResourcePattern>.*properties$</ignoredResourcePattern>
            <ignoredResourcePattern>.*txt$</ignoredResourcePattern>
            <ignoredResourcePattern>.api_description$</ignoredResourcePattern>
            <ignoredResourcePattern>.options$</ignoredResourcePattern>
          </ignoredResourcePatterns>
          <ignoredDependencies>
            <dependency>
              <groupId>log4j</groupId>
              <artifactId>log4j</artifactId>
            </dependency>
          </ignoredDependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <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>

  <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>
    <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>
      <!-- TODO remove this before releasing -->
      <id>eclipse-scout-snapshots</id>
      <url>https://repo.eclipse.org/content/repositories/scout-snapshots/</url>
    </repository>

    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>eclipse.release</id>
      <name>eclipse-release-repo</name>
      <url>https://repo.eclipse.org/content/groups/releases/</url>
    </repository>
    <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>eclipse-sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho.extras</groupId>
            <artifactId>tycho-pack200a-plugin</artifactId>
            <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>
            <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>
            <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>
            <executions>
              <execution>
                <id>attach-p2-metadata</id>
                <phase>package</phase>
                <goals>
                  <goal>p2-metadata</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>sonar</id>
      <modules>
        <module>org.eclipse.scout.sdk.parent</module>
      </modules>
    </profile>

    <profile>
      <id>default</id>
      <activation>
        <property>
          <name>!p2</name>
        </property>
      </activation>
      <modules>
        <module>org.eclipse.scout.sdk.parent</module>
      </modules>
    </profile>
    <profile>
      <id>p2-build</id>
      <activation>
        <property>
          <name>p2</name>
        </property>
      </activation>
      <modules>
        <module>org.eclipse.scout.sdk.p2-build</module>
      </modules>
    </profile>
  </profiles>
</project>
