<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2018 Eclipse Foundation and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php

  Contributors:
     Igor Fedorenko - 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>
    <artifactId>rt.equinox.framework</artifactId>
    <groupId>org.eclipse.equinox.framework</groupId>
    <version>4.9.0-SNAPSHOT</version>
    <relativePath>../../</relativePath>
  </parent>
  <groupId>org.eclipse.equinox.feature</groupId>
  <artifactId>org.eclipse.equinox.executable</artifactId>
  <version>3.8.100-SNAPSHOT</version>
  <packaging>eclipse-feature</packaging>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>repack</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <!-- note that here we reference previously declared dependency -->
                <unzip src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.directory}/tmp"/>
                <copy file="resources/build.properties" todir="${project.build.directory}/tmp"/>
                <copy file="resources/build.xml" todir="${project.build.directory}/tmp"/>
                <zip basedir="${project.build.directory}/tmp" destfile="${project.build.directory}/${project.build.finalName}.jar"/>
                <!-- now the modified jar is available -->
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-extra-iu</id>
            <phase>verify</phase>
            <goals>
              <goal>transform</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <transformationSets>
            <transformationSet>
              <dir>target</dir>
              <includes>
                <include>p2content.xml</include>
              </includes>
              <stylesheet>cp-content.xsl</stylesheet>
            </transformationSet>
          </transformationSets>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-extra-iu</id>
            <phase>verify</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/target/generated-resources/xml/xslt</directory>
                  <includes>
                    <include>p2content.xml</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>assemble-launchers</id>
      <activation>
        <property>
          <!-- workaround. activeByDefault is disabled when another profile is
            selected. -->
          <name>!longnotexistingproperty</name>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-executable-natives</id>
                <phase>process-resources</phase>
                <configuration>
                  <target>
                    <!-- We need to get binary bits from binary repo -->
                    <!-- If local binaries had been built, copy will not overwrite
                      them -->
                    <echo message="Copy eclipse binaries to launcher binaries"/>
                    <copy todir="bin" verbose="true" includeEmptyDirs="false" failonerror="true">
                      <fileset dir="../../../rt.equinox.binaries/org.eclipse.equinox.executable/bin/">
                        <include name="cocoa/macosx/x86_64/**/*"/>
                        <include name="gtk/linux/ppc64le/**/*"/>
                        <include name="gtk/linux/x86/**/*"/>
                        <include name="gtk/linux/x86_64/**/*"/>
                        <include name="win32/win32/x86/**/*"/>
                        <include name="win32/win32/x86_64/**/*"/>
                      </fileset>
                    </copy>
                    <!-- rename eclipse launchers to "launcher" -->
                    <move todir="bin" verbose="true">
                      <fileset dir="bin"/>
                      <regexpmapper from="^(.*[/\\])eclipse(.exe)?$" to="\1launcher\2"/>
                    </move>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
