<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2017 Eclipse Foundation.
  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>
    <groupId>org.eclipse</groupId>
    <artifactId>eclipse-platform-parent</artifactId>
    <version>4.16.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>org.eclipse.equinox.framework</groupId>
  <artifactId>rt.equinox.framework</artifactId>
  <version>4.16.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/equinox/rt.equinox.framework.git</tycho.scmUrl>
    <!-- location of rt.equinox.binaries project -->
    <!-- required by: org.eclipse.equinox.feature:org.eclipse.equinox.executable -->
    <!-- required by: org.eclipse.equinox.framework:launcher-binary-parent -->
    <rt.equinox.binaries.loc>../../../rt.equinox.binaries</rt.equinox.binaries.loc>
  </properties>

  <!-- 
    To build individual bundles, we specify a repository where to find parent pom, 
    in case it is not in local maven cache already
    and that parent pom also has fuller individual-bundle profile 
    defined that is combined with this one. --> 
  <profiles>
    <profile>
      <id>build-individual-bundles</id>
      <repositories>
        <repository>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <id>eclipse-hosted</id>
          <url>https://repo.eclipse.org/content/repositories/eclipse/</url>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>build-native-launchers-gtk.linux.arm</id>
      <activation>
	<property>
	  <name>native</name>
	  <value>gtk.linux.arm</value>
        </property>
      </activation>
      <modules>
	<module>bundles/org.eclipse.equinox.launcher.gtk.linux.arm</module>
      </modules>
    </profile>
    <profile>
      <id>build-native-launchers-gtk.linux.aarch64</id>
      <activation>
	<property>
	  <name>native</name>
	  <value>gtk.linux.aarch64</value>
        </property>
      </activation>
      <modules>
	<module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</module>
      </modules>
    </profile>
  </profiles>

  <modules>
    <module>bundles/org.eclipse.osgi</module>
    <module>bundles/org.eclipse.osgi.compatibility.state</module>
    <module>bundles/org.eclipse.osgi.services</module>
    <module>bundles/org.eclipse.osgi.util</module>
    <module>bundles/org.eclipse.osgi/supplement</module>
    
    <module>bundles/org.eclipse.equinox.launcher</module>
    <module>bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64</module>
    <module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le</module>
    <module>bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64</module>
    <module>bundles/org.eclipse.equinox.launcher.win32.win32.x86_64</module>

    <module>bundles/org.eclipse.osgi.tests</module>

    <module>features/org.eclipse.equinox.executable.feature</module>
  </modules>
</project>
