<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2009, Igor Fedorenko <igor@ifedorenko.com>

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
-->
<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>
    <groupId>org.eclipse.mylyn.incubator</groupId>
    <artifactId>org.eclipse.mylyn.incubator-parent</artifactId>
    <version>3.11.0-SNAPSHOT</version>
  </parent>
  <artifactId>incubator-site</artifactId>
  <version>3.11.0-SNAPSHOT</version>
  <packaging>eclipse-update-site</packaging>
  <name>Mylyn Incubator for Mylyn 3.9</name>
  <properties>
    <qualifier>${project.unqualifiedVersion}</qualifier>
    <sign-dir>tools/mylyn/hudson/signing/incubator</sign-dir>
  </properties>
  <profiles>
    <profile>
      <id>hudson.eclipse.org</id>
      <activation>
        <property>
          <name>user.name</name>
          <value>hudsonbuild</value>
        </property>
      </activation>
      <properties>
        <dist.site>/home/data/httpd/download.eclipse.org/mylyn/incubator</dist.site>
        <dist.archive>${dist.site}/drops</dist.archive>
      </properties>
    </profile>
  </profiles>
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-packaging-plugin</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <timestampProvider>default</timestampProvider>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>		
        <configuration>
          <environments>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86</arch>
            </environment>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/site</outputDirectory>
              <resources>
                <resource>
                  <directory>.</directory>
                  <includes>
                    <include>index.html</include>
                    <include>web/*</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.6</version>
        <executions>
          <execution>
            <id>pack-and-sign</id>
            <phase>install</phase>
            <configuration>
              <target>
                <ant antfile="pack-and-sign/build.xml">
                  <property name="localRepository" value="${settings.localRepository}"/>
                  <property name="projectDir" value="${project.build.directory}"/>
                  <property name="signDir" value="${sign-dir}"/>
                  <property name="archiveDir" value="${dist.archive}"/>
                  <property name="siteDir" value="${dist.site}"/>
                  
                  <property name="dist" value="mylyn"/>
                  <property name="filter" value="mylyn"/>
                  <property name="repositoryName" value="${dist.repository}"/>
                  <property name="pack200" value="${dist.pack200}"/>
                  
                  <property name="skipSign" value="${sign.skip}"/>
                  <property name="skipPack" value="${pack.skip}"/>
                  <property name="skipPromote" value="${promote.skip}"/>
                  
                  <property name="version" value="${unqualifiedVersion}"/>
                  <property name="qualifier" value="${promote.prefix}${buildQualifier}"/>
                </ant>
                <echo file="${project.build.directory}/version.properties">
                  <![CDATA[
                           ${unqualifiedVersion}
                           ${buildQualifier}
                  ]]>
                </echo>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
