<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
      <artifactId>org.eclipse.tracecompass.incubator.trace.server-parent</artifactId>
      <groupId>org.eclipse.tracecompass.incubator</groupId>
      <version>0.0.1-SNAPSHOT</version>
    </parent>

    <artifactId>org.eclipse.tracecompass.incubator.trace.server.product</artifactId>
    <packaging>eclipse-repository</packaging>

    <name>Trace Compass Server Product</name>

    <properties>
        <productId>traceserver</productId>
        <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
        <archiveFileName>trace-compass-server${unqualifiedVersion}-${build.timestamp}</archiveFileName>
        <rootFolder>trace-compass-server</rootFolder>
        <!-- for MacOSX, make sure you use a folder ending with .app , see bug 463670 -->
        <rootFolderMac>${rootFolder}.app</rootFolderMac>
    </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>
                    </execution>
                    <execution>
                        <id>archive-products</id>
                        <goals>
                            <goal>archive-products</goal>
                        </goals>
                        <configuration>
                            <formats>
                                <linux>tar.gz</linux>
                                <macosx>tar.gz</macosx>
                                <solaris>zip</solaris>
                                <win32>zip</win32>
                            </formats>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <products>
                        <product>
                            <archiveFileName>${archiveFileName}</archiveFileName>
                            <id>${productId}</id>
                            <rootFolder>${rootFolder}</rootFolder>
                            <rootFolders>
                                <macosx>${rootFolderMac}</macosx>
                            </rootFolders>
                        </product>
                    </products>
                    <source>repository</source>
                </configuration>
            </plugin>
        </plugins>
    </build>

  <profiles>
    <profile>
      <id>sign-update-site</id>
      <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>
                    </execution>
                    <execution>
                        <id>archive-products</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>archive-products</goal>
                        </goals>
                        <configuration>
                            <formats>
                                <linux>tar.gz</linux>
                                <macosx>tar.gz</macosx>
                                <solaris>zip</solaris>
                                <win32>zip</win32>
                            </formats>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <products>
                        <product>
                            <archiveFileName>${archiveFileName}</archiveFileName>
                            <id>${productId}</id>
                            <rootFolder>${rootFolder}</rootFolder>
                            <rootFolders>
                                <macosx>${rootFolderMac}</macosx>
                            </rootFolders>
                        </product>
                    </products>
                    <source>repository</source>
                </configuration>
            </plugin>
<!--
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-macsigner-plugin</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>sign</goal>
                </goals>
                <configuration>
                  <signFiles>
                    <signFile>${project.build.directory}/products/${productId}/macosx/cocoa/x86_64/${rootFolderMac}</signFile>
                  </signFiles>
                </configuration>
              </execution>
            </executions>
          </plugin>
 -->
        </plugins>
      </build>
    </profile>
  <!-- Deploy RCP builds and update site to the downloads area -->
    <profile>
      <id>deploy-rcp</id>
      <properties>
        <rcpDestination>/home/data/httpd/download.eclipse.org/tracecompass.incubator/trace-server/rcp/</rcpDestination>
        <rcpSiteDestination>/home/data/httpd/download.eclipse.org/tracecompass.incubator/trace-server/rcp-repository</rcpSiteDestination>
      </properties>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>deploy</id>
                <phase>install</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <!-- Cleanup the "rcp" destination, and copy over the new archives -->
                    <delete includeemptydirs="false">
                      <fileset dir="${rcpDestination}">
                        <include name="*.tar.gz" />
                        <include name="*.zip" />
                      </fileset>
                    </delete>
                    <copy includeemptydirs="false" todir="${rcpDestination}">
                      <fileset dir="target/products">
                        <include name="trace-compass-*" />
                      </fileset>
                    </copy>

                    <!-- Cleanup the "rcp-repository" update site, and copy over the new one -->
                    <delete includeemptydirs="false">
                      <fileset
                        dir="${rcpSiteDestination}">
                        <include name="**" />
                      </fileset>
                    </delete>
                    <copy includeemptydirs="false" todir="${rcpSiteDestination}">
                      <fileset dir="target/repository">
                        <include name="**" />
                      </fileset>
                    </copy>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>build-one-rcp</id>
        <build>
          <plugins>
            <plugin>
              <groupId>org.eclipse.tycho</groupId>
              <artifactId>target-platform-configuration</artifactId>
              <configuration>
                <environments>
                  <environment>
                    <os>linux</os>
                    <ws>gtk</ws>
                    <arch>x86_64</arch>
                  </environment>
                </environments>
              </configuration>
            </plugin>
         </plugins>
        </build>
      </profile>
    </profiles>
</project>
