<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (C) 2017, 2019 Eclipse Foundation 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:
     Mikael Barbero (Eclipse Foundation) - initial 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.epp</groupId>
    <artifactId>org.eclipse.epp-parent</artifactId>
    <version>4.12.0-SNAPSHOT</version>
    <relativePath>..</relativePath>
  </parent>

  <name>Eclipse Packaging Project (EPP) Product parent</name>

  <artifactId>org.eclipse.epp-product-parent</artifactId>
  <packaging>pom</packaging>

  <properties>
    <eclipse-sign-dmg-property>false</eclipse-sign-dmg-property>
  </properties>

  <build>
    <plugins>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <executionEnvironment>JavaSE-9</executionEnvironment>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-repository-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho.extras</groupId>
        <artifactId>tycho-p2-extras-plugin</artifactId>
        <version>${tycho.extras.version}</version>
        <executions>
          <execution>
            <id>mirror-to-central-epp-repository</id>
            <phase>verify</phase>
            <goals>
              <goal>mirror</goal>
            </goals>
            <configuration>
              <targetPlatformAsSource>true</targetPlatformAsSource>
              <currentModuleAsSource>true</currentModuleAsSource>
              <source/>
              <ius>
                <iu>
                  <query>
                    <expression>id ~= /*epp.package*/</expression>
                  </query>
                </iu>
              </ius>
              <destination>${eclipse.epp.targetRepository}</destination>
              <followOnlyFilteredRequirements>true</followOnlyFilteredRequirements>
              <followStrictOnly>true</followStrictOnly>
              <includeFeatures>false</includeFeatures>
              <includeOptional>false</includeOptional>
              <includeNonGreedy>false</includeNonGreedy>
              <includePacked>true</includePacked>
              <mirrorMetadataOnly>false</mirrorMetadataOnly>
              <append>true</append>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-director-plugin</artifactId>
      </plugin>

      <plugin>
        <groupId>org.eclipse.cbi.maven.plugins</groupId>
        <artifactId>eclipse-dmg-packager</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>package-dmg</goal>
            </goals>
            <phase>pre-integration-test</phase>
            <configuration>
              <source>${project.build.directory}/products/${build}_eclipse-${eclipse.epp.id}-${eclipse.simultaneous.release.id}-macosx.cocoa.x86_64.tar.gz</source>
              <sign>${eclipse-sign-dmg-property}</sign>
              <timeoutMillis>600000</timeoutMillis>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
      </plugin>

    </plugins>
  </build>

  <profiles>
    <profile>
      <id>eclipse-sign-mac</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-macsigner-plugin</artifactId>
            <version>${cbi.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <phase>package</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <baseSearchDir>${project.build.directory}/products/${project.artifactId}</baseSearchDir>
                  <fileNames>
                    <fileName>Eclipse.app</fileName>
                  </fileNames>
                  <timeoutMillis>300000</timeoutMillis> <!-- 5 min -->
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>eclipse-sign-windows</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-winsigner-plugin</artifactId>
            <version>${cbi.version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <baseSearchDir>${project.build.directory}/products/${project.artifactId}</baseSearchDir>
                  <fileNames>
                    <fileName>eclipse.exe</fileName>
                    <fileName>eclipsec.exe</fileName>
                  </fileNames>
                <timeoutMillis>120000</timeoutMillis> <!-- 2 min -->
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>eclipse-sign-dmg</id>
      <properties>
      	<eclipse-sign-dmg-property>true</eclipse-sign-dmg-property>
      </properties>
    </profile>

  </profiles>
</project>
