<?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.21.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>org.eclipse.equinox.framework</groupId>
  <artifactId>rt.equinox.framework</artifactId>
  <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</module>
    <module>bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64</module>
    <module>bundles/org.eclipse.equinox.launcher.cocoa.macosx.aarch64</module>
    <module>bundles/org.eclipse.equinox.launcher.gtk.linux.aarch64</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>
