<?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.23.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>The Eclipse IDE SDK</summary>
                  <description>The Eclipse IDE SDK includes the Eclipse Platform, Java Development Tools (JDT), Plug-in Development Environment (PDE) and all the sources necessary for debugging the Eclipse IDE itself.</description>
                  <screenshots>
                    <screenshot>https://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/plain/flatpak/sdk/screenshots/screenshot-welcome.png</screenshot>
                    <screenshot>https://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/plain/flatpak/sdk/screenshots/screenshot-jdt.png</screenshot>
                    <screenshot>https://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/plain/flatpak/sdk/screenshots/screenshot-pde.png</screenshot>
                  </screenshots>
                  <branch>${releaseNumberSDK}</branch>
                  <runtime>org.gnome.Platform</runtime>
                  <runtimeVersion>41</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>
                      <artifact>
                        <artifactId>flatpak-dev-shim</artifactId>
                        <groupId>org.eclipse.linuxtools.flatpak</groupId>
                        <version>${flatpak.shim.version}</version>
                      </artifact>
                      <destination>/app/eclipse/flatpak-dev-shim.jar</destination>
                    </additionalSource>
                    <additionalSource>
                      <artifact>
                        <artifactId>flatpak-dev-shim</artifactId>
                        <groupId>org.eclipse.linuxtools.flatpak</groupId>
                        <version>${flatpak.shim.version}</version>
                        <type>so</type>
                      </artifact>
                      <destination>/app/lib/libflatpakdevshim.so</destination>
                    </additionalSource>
                  </additionalSources>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
