<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2015 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php
 
  Contributors:
    Thanh Ha (Eclipse Foundation) - initial implementation
    Mickael Istria (Red Hat Inc.) - 424087 distributionManagement to enable mvn deploy
-->

<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>

  <groupId>org.eclipse</groupId>
  <artifactId>wtp-parent</artifactId>
  <version>3.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.version>0.20.0</tycho.version>
    <tycho-extras.version>0.20.0</tycho-extras.version>
    <tycho-repo.url>https://oss.sonatype.org/content/repositories/public/</tycho-repo.url>
    <tycho-snapshot-repo.url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</tycho-snapshot-repo.url>

    <cbi-plugins.version>1.1.3</cbi-plugins.version>
    <cbi-repo.url>https://repo.eclipse.org/content/repositories/cbi/</cbi-repo.url>
    <!-- switch to use  ${cbi-repo.url}
    <cbi-snapshot-repo.url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</cbi-snapshot-repo.url>
    -->
    <!-- baseline comparator -->
    <comparator.repo>http://download.eclipse.org/webtools/repository/luna</comparator.repo>

    <!-- dependency repos -->
    <license-repo.url>http://download.eclipse.org/cbi/updates/license</license-repo.url>
   	
   	<!--  Dependencies moved to target file -->
   
    <!-- Mars Updates -->
    <gef-repo.url>http://download.eclipse.org/tools/gef/updates/milestones</gef-repo.url>
    <platform-repo.url>http://download.eclipse.org/eclipse/updates/4.5-M-builds/M-4.5.2RC2-201601281800</platform-repo.url>
    <orbit-repo.url>http://download.eclipse.org/tools/orbit/downloads/drops/M20151221205849/repository/</orbit-repo.url>
    <jetty-repo.url>http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.2.13.v20150730/</jetty-repo.url>
    <emf-repo.url>http://download.eclipse.org/modeling/emf/emf/updates/2.11.x/</emf-repo.url>
    <jgit-repo.url>http://download.eclipse.org/egit/updates</jgit-repo.url>
    
    <!-- No updates for mars Yet -->
    <dtp-repo.url>http://download.eclipse.org/datatools/updates/1.12/</dtp-repo.url>
    
    
    <!-- This won't be update by now until I check with Dali Team -->
    <emf-transaction-repo.url>http://download.eclipse.org/modeling/emf/transaction/updates/releases/</emf-transaction-repo.url>
    <emf-validation-repo.url>http://download.eclipse.org/modeling/emf/validation/updates/releases/</emf-validation-repo.url>
    <graphiti-repo.url>http://download.eclipse.org/graphiti/updates/0.12.1/</graphiti-repo.url>
    <eclipselink-repo.url>http://build.eclipse.org/webtools/downloadsites/eclipseLink/eclipseLink-2.6.0/</eclipselink-repo.url>
  </properties>

  <repositories>
    <repository>
      <id>license-feature</id>
      <url>${license-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>platform</id>
      <url>${platform-repo.url}</url>
      <layout>p2</layout>
    </repository>
    
    <repository>
      <id>emf</id>
      <url>${emf-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>emf-transaction</id>
      <url>${emf-transaction-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>emf-validation</id>
      <url>${emf-validation-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>gef</id>
      <url>${gef-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>dtp</id>
      <url>${dtp-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>graphiti</id>
      <url>${graphiti-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>orbit</id>
      <url>${orbit-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>eclipselink</id>
      <url>${eclipselink-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>jetty</id>
      <url>${jetty-repo.url}</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>jgit</id>
      <url>${jgit-repo.url}</url>
      <layout>p2</layout>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>tycho</id>
      <url>${tycho-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>cbi-repo</id>
      <url>${cbi-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>tycho-snapshot</id>
      <url>${tycho-snapshot-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
    <!-- switch to use  ${cbi-repo.url}
    <pluginRepository>
      <id>cbi-snapshot-repo</id>
      <url>${cbi-snapshot-repo.url}</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </pluginRepository>
    -->
  </pluginRepositories>

  <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>
        <configuration>
          <environments>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-source-plugin</artifactId>
        <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>target-platform-configuration</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-compiler-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <compilerArgument>-warn:+discouraged,forbidden</compilerArgument>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-packaging-plugin</artifactId>
          <version>${tycho.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-buildtimestamp-jgit</artifactId>
              <version>${tycho-extras.version}</version>
            </dependency>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-sourceref-jgit</artifactId>
              <version>${tycho-extras.version}</version>
            </dependency>
          </dependencies>
          <configuration>
            <strictBinIncludes>false</strictBinIncludes>
            <format>'v'yyyyMMddHHmm</format>
            <timestampProvider>jgit</timestampProvider>
            <jgit.ignore>
              pom.xml
            </jgit.ignore>

            <!--
                Valid options: error, warning, and ignore
                jgit.dirtyWorkingTree checking was added as of Tycho 0.19.0
                see: https://bugs.eclipse.org/419030
            -->
            <jgit.dirtyWorkingTree>ignore</jgit.dirtyWorkingTree>
            <sourceReferences>
              <generate>true</generate>
            </sourceReferences>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-surefire-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-source-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <strictSrcIncludes>false</strictSrcIncludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-director-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-source-feature-plugin</artifactId>
          <version>${tycho-extras.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <baselineMode>warn</baselineMode>
            <baselineReplace>all</baselineReplace>
            <baselineRepositories>
              <repository>
                <url>${comparator.repo}</url>
              </repository>
            </baselineRepositories>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-custom-bundle-plugin</artifactId>
          <version>${tycho-extras.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>macosx</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-surefire-plugin</artifactId>
            <version>${tycho.version}</version>
            <configuration>
              <argLine>-XX:MaxPermSize=128m -XstartOnFirstThread</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>bree-libs</id>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>tycho-compiler-plugin</artifactId>
              <version>${tycho.version}</version>
              <configuration>
                <!--
                  this tells Tycho to use JRE libraries that match bundle runtime execution environment
                  http://wiki.eclipse.org/Tycho/Release_Notes/0.14
                  TODO provide CBI-specific wiki that explains how to setup BREE libraries and toolchain.xml
                -->
                <useJDK>BREE</useJDK>
              </configuration>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </profile>
    <profile>
      <id>eclipse-sign</id>
      <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>
            <configuration>
              <fork>true</fork>
            </configuration>
            <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>${cbi-plugins.version}</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>
            <configuration>
              <fork>true</fork>
            </configuration>
            <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>verify</phase>
              </execution>
            </executions>
            <configuration>
              <defaultP2Metadata>false</defaultP2Metadata>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>build-individual-bundles</id>
      <properties>
        <!-- By default is integration build, but it can be overriden in CLI
             mvn clean verify -Pbuild-individual-bundles -Dwebtools-repsitory=http://....
        -->
        <webtools.buildSite>http://download.eclipse.org/webtools/downloads/drops/R3.7.2/I-latest</webtools.buildSite>
        <webtools.repository>${webtools.buildSite}/repository</webtools.repository>
        <webtools.testsRepository>${webtools.buildSite}/repositoryunittests</webtools.testsRepository>
      </properties>
      <repositories>
        <repository>
          <id>webtools-repostiory</id>
          <url>${webtools.repository}</url>
          <layout>p2</layout>
        </repository>
        <repository>
          <id>webtools-tests-repostiory</id>
          <url>${webtools.testsRepository}</url>
          <layout>p2</layout>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <distributionManagement>
    <repository>
      <id>repo.eclipse.org</id>
      <name>Webtools Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/webtools-releases/</url>
    </repository>
    <snapshotRepository>
      <id>repo.eclipse.org</id>
      <name>Webtools Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/webtools-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
</project>

