<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (c) 2014, 2017 1C-Soft LLC and others.
   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:
       Vladimir Piskarev (1C) - initial API and implementation
       George Suaridze (1C)
-->
<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.handly</groupId>
  <artifactId>releng</artifactId>
  <version>0.7.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <prerequisites>
    <maven>3.0</maven>
  </prerequisites>
  <properties>
    <tycho.version>1.0.0</tycho.version>
    <tycho.extras.version>1.0.0</tycho.extras.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
    <buildTimestamp>${maven.build.timestamp}</buildTimestamp>
    <qualifierPrefix>v</qualifierPrefix>
    <buildQualifier>${qualifierPrefix}${buildTimestamp}</buildQualifier>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/handly/org.eclipse.handly.git</tycho.scmUrl>
  </properties>
  <pluginRepositories>
    <pluginRepository>
      <id>cbi</id>
      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
  <modules>
    <module>../org.eclipse.handly</module>
    <module>../org.eclipse.handly.tests</module>
    <module>../org.eclipse.handly.ui</module>
    <module>../org.eclipse.handly.xtext</module>
    <module>../org.eclipse.handly.xtext.ui</module>
    <module>../org.eclipse.handly.junit</module>
    <module>../org.eclipse.handly.examples</module>
    <module>../org.eclipse.handly.examples.adapter</module>
    <module>../org.eclipse.handly.examples.adapter.ui</module>
    <module>../org.eclipse.handly.examples.basic</module>
    <module>../org.eclipse.handly.examples.basic.ui</module>
    <module>../org.eclipse.handly.examples.basic.ui.tests</module>
    <module>../org.eclipse.handly.examples.javamodel</module>
    <module>../org.eclipse.handly.examples.javamodel.tests</module>
    <module>../org.eclipse.handly.examples.javamodel.ui</module>
    <module>../org.eclipse.handly-feature</module>
    <module>../org.eclipse.handly.xtext-feature</module>
    <module>../org.eclipse.handly.examples-feature</module>
    <module>../org.eclipse.handly.tests-feature</module>
    <module>../repository</module>
    <module>../targets</module>
  </modules>
  <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>tycho-source-plugin</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
        <executions>
          <execution>
            <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>
            <encoding>UTF-8</encoding>
            <compilerArguments>
              <properties>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</properties>
            </compilerArguments>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
            <verbose>true</verbose>
          </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-packaging-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <forceContextQualifier>${buildQualifier}</forceContextQualifier>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
            <sourceReferences>
              <generate>true</generate>
            </sourceReferences>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.eclipse.tycho.extras</groupId>
              <artifactId>tycho-sourceref-jgit</artifactId>
              <version>${tycho.extras.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-plugin</artifactId>
          <version>${tycho.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho</groupId>
          <artifactId>tycho-p2-repository-plugin</artifactId>
          <version>${tycho.version}</version>
          <configuration>
            <repositoryName>Eclipse Handly (Incubation)</repositoryName>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-source-feature-plugin</artifactId>
          <version>${tycho.extras.version}</version>
           <configuration>
             <includeBinaryFeature>false</includeBinaryFeature>
             <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
            <reuseBrandingPlugin>false</reuseBrandingPlugin>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.tycho.extras</groupId>
          <artifactId>tycho-eclipserun-plugin</artifactId>
          <version>${tycho.extras.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.7</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <profiles>
    <profile>
      <id>base.target</id>
      <activation>
        <property>
          <name>target</name>
          <value>base</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.handly.targets</groupId>
                  <artifactId>base</artifactId>
                  <version>0.7.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>latest.target</id>
      <activation>
        <property>
          <name>!target</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>target-platform-configuration</artifactId>
            <configuration>
              <target>
                <artifact>
                  <groupId>org.eclipse.handly.targets</groupId>
                  <artifactId>latest</artifactId>
                  <version>0.7.0-SNAPSHOT</version>
                </artifact>
              </target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>bree-libs</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.tycho</groupId>
            <artifactId>tycho-compiler-plugin</artifactId>
            <configuration>
              <!--
                this tells Tycho to use JRE libraries that match BREE (Bundle-RequiredExecutionEnvironment)
                https://eclipse.org/tycho/sitedocs/tycho-compiler-plugin/compile-mojo.html#useJDK
              -->
              <useJDK>BREE</useJDK>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-jarsigner-plugin</artifactId>
            <version>1.1.2</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>mac</id>
      <activation>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <tycho.testArgLine>-XstartOnFirstThread</tycho.testArgLine>
      </properties>
    </profile>
  </profiles>
</project>
