<?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>
    <groupId>org.eclipse</groupId>
    <artifactId>eclipse-flatpak-parent</artifactId>
    <version>4.11.0-SNAPSHOT</version>
  </parent>

  <artifactId>org.eclipse.sdk.ide</artifactId>
  <packaging>eclipse-repository</packaging>

  <properties>
    <product-id>org.eclipse.sdk.ide</product-id>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-p2-director-plugin</artifactId>
        <executions>
          <execution>
            <id>materialize-products</id>
            <goals>
              <goal>materialize-products</goal>
            </goals>
            <configuration>
              <profile>SDKProfile</profile>
              <products>
                <product>
                  <id>org.eclipse.sdk.ide</id>
                  <rootFolder>eclipse</rootFolder>
                  <rootFolders>
                    <macosx>Eclipse.app</macosx>
                  </rootFolders>
                </product>
              </products>
            </configuration>
          </execution>
          <execution>
            <id>archive-products</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>archive-products</goal>
            </goals>
            <configuration>
              <formats>
                <win32>zip</win32>
                <linux>tar.gz</linux>
                <macosx>tar.gz</macosx>
              </formats>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>flatpak</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.eclipse.cbi.maven.plugins</groupId>
            <artifactId>eclipse-flatpak-packager</artifactId>
            <version>${cbi-plugins.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>package-flatpak</goal>
                </goals>
                <phase>integration-test</phase>
                <configuration>
                  <id>org.eclipse.sdk</id>
                  <name>Eclipse SDK</name>
                  <summary>Eclipse SDK</summary>
                  <description>The Eclipse SDK includes the Eclipse
                    Platform, Java Development Tools (JDT), and Plug-in
                    Development Environment (PDE).</description>
                  <screenshots>
                    <screenshot>https://raw.githubusercontent.com/mbooth101/org.eclipse.linuxtools.eclipse-build/master/flatpak/platform/screenshots/screenshot-welcome.png</screenshot>
                    <screenshot>https://raw.githubusercontent.com/mbooth101/org.eclipse.linuxtools.eclipse-build/master/flatpak/platform/screenshots/screenshot-jdt.png</screenshot>
                    <screenshot>https://raw.githubusercontent.com/mbooth101/org.eclipse.linuxtools.eclipse-build/master/flatpak/platform/screenshots/screenshot-pde.png</screenshot>
                  </screenshots>
                  <branch>master</branch>
                  <runtimeVersion>3.30</runtimeVersion>
                  <source>${project.build.directory}/products/org.eclipse.sdk.ide-linux.gtk.x86_64.tar.gz</source>
                  <continueOnFail>true</continueOnFail>
                  <sign>true</sign>
                  <additionalSources>
                    <additionalSource>
                      <source>${user.home}/.m2/repository/org/eclipse/flatpak/flatpak-dev-shim/0.0.1-SNAPSHOT/flatpak-dev-shim-0.0.1-SNAPSHOT.jar</source>
                      <destination>/app/eclipse/flatpak-dev-shim.jar</destination>
                    </additionalSource>
                    <additionalSource>
                      <source>${user.home}/.m2/repository/org/eclipse/flatpak/flatpak-dev-shim/0.0.1-SNAPSHOT/flatpak-dev-shim-0.0.1-SNAPSHOT.so</source>
                      <destination>/app/jdk/lib/libflatpakdevshim.so</destination>
                    </additionalSource>
                    <additionalSource>
                      <source>${user.home}/.m2/repository/org/eclipse/flatpak/flatpak-dev-shim/0.0.1-SNAPSHOT/flatpak-dev-shim-0.0.1-SNAPSHOT.exe</source>
                      <destination>/app/bin/hostcommandrunner</destination>
                      <permissions>755</permissions>
                    </additionalSource>
                  </additionalSources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
