<?xml version="1.0" encoding="UTF-8"?>
<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.app4mc.build</groupId>
		<artifactId>parent</artifactId>
		<version>2.1.0-SNAPSHOT</version>
		<relativePath>../../pom.xml</relativePath>
	</parent>

	<artifactId>org.eclipse.app4mc.platform.product</artifactId>
	<packaging>eclipse-repository</packaging>

	<properties>
		<product-uid>org.eclipse.app4mc.platform.product</product-uid>
		<macSigner.forceContinue>false</macSigner.forceContinue>
	</properties>

	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>tycho-p2-director-plugin</artifactId>
				<version>${tycho.version}</version>

				<executions>
					<execution>
						<id>materialize-products</id>
						<goals>
							<goal>materialize-products</goal>
						</goals>
						
						<configuration>
							<products>
								<product>
									<id>${product-uid}</id>
									<rootFolders>
										<macosx>APP4MC.app</macosx>
									</rootFolders>
								</product>
							</products>
						</configuration>
					</execution>

					<execution>
						<id>archive-products</id>
						<goals>
							<goal>archive-products</goal>
						</goals>
						<configuration>
							<formats>
								<linux>tar.gz</linux>
								<macosx>tar.gz</macosx>
							</formats>
						</configuration>
					</execution>
				</executions>
				<configuration>
		      <products>
		        <product>
		          <id>${product-uid}</id>
		          <archiveFileName>org.eclipse.app4mc.platform-${project.version}-${maven.build.timestamp}</archiveFileName>
		        </product>
		      </products>
		    </configuration>
			</plugin>
			 
            <!-- do not publish this artifact to Maven repositories -->
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

		</plugins>
	</build>
	
  <profiles>
    <profile>
      <id>sign</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-macsigner-plugin</artifactId>
            <version>${jarsigner-version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <signFiles>
                    <signFile>${project.build.directory}/products/${product-uid}/macosx/cocoa/x86_64/APP4MC.app</signFile>
                  </signFiles>
				  <timeoutMillis>300000</timeoutMillis> <!-- 5 min -->
                  <continueOnFail>${macSigner.forceContinue}</continueOnFail>
				  <entitlements>${project.basedir}/app4mc.entitlement</entitlements>
                </configuration>
              </execution>
            </executions>
          </plugin>
		  
		  <!-- create DMG file -->
		  <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-dmg-packager</artifactId>
            <version>${jarsigner-version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>package-dmg</goal>
                </goals>
                <phase>integration-test</phase>
                <configuration>
                  <source>${project.build.directory}/products/org.eclipse.app4mc.platform-${project.version}-${maven.build.timestamp}-macosx.cocoa.x86_64.tar.gz</source>
                  <continueOnFail>true</continueOnFail>
                  <timeoutMillis>600000</timeoutMillis> <!-- 10 min -->
                  <continueOnFail>${macSigner.forceContinue}</continueOnFail>                  
                  <sign>true</sign>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-winsigner-plugin</artifactId>
            <version>${jarsigner-version}</version>
            <executions>
              <execution>
                <id>sign</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <signFiles>
                    <signFile>${project.build.directory}/products/${product-uid}/win32/win32/x86_64/app4mc.exe</signFile>
                  </signFiles>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
