<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2015 EfficiOS Inc., Alexandre Montplaisir

   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.tracecompass.testtraces</groupId>
    <artifactId>tracecompass-test-traces-parent</artifactId>
    <version>1.1.0</version>
  </parent>

  <artifactId>tracecompass-test-traces-update-site</artifactId>
  <packaging>pom</packaging>

  <properties>
    <p2-deploy-destination>/home/data/httpd/archive.eclipse.org/tracecompass/tracecompass-test-traces/repository/latest/</p2-deploy-destination>
  </properties>

  <pluginRepositories>
    <pluginRepository>
      <id>reficio</id>
      <url>http://repo.reficio.org/maven/</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <plugins>
      <plugin>
        <groupId>org.reficio</groupId>
        <artifactId>p2-maven-plugin</artifactId>
        <version>1.2.0-SNAPSHOT</version>
        <executions>
          <execution>
            <id>generate-p2-repo</id>
            <phase>compile</phase>
            <goals>
              <goal>site</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <id>org.eclipse.tracecompass.testtraces:tracecompass-test-traces-ctf:${project.version}</id>
                  <source>true</source>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>deploy-p2-repo</id>
            <phase>deploy</phase>
              <goals>
                <goal>run</goal>
              </goals>
              <configuration>
              <target>
                <delete includeemptydirs="false">
                  <fileset
                    dir="${p2-deploy-destination}">
                    <include name="**" />
                  </fileset>
                </delete>
                <copy includeemptydirs="false"
                  todir="${p2-deploy-destination}">
                  <fileset dir="target/repository">
                    <include name="**" />
                  </fileset>
                </copy>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
