<?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
     Lars Vogel <Lars.Vogel@vogella.com> - Bug 471835
-->
<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.8.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>
  <groupId>eclipse.platform.ua</groupId>
  <artifactId>eclipse.platform.ua</artifactId>
  <version>4.8.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/platform/eclipse.platform.ua.git</tycho.scmUrl>
  </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>
  </profiles>
  
  <modules>
    <module>org.eclipse.help</module>
    <module>org.eclipse.help.base</module>
    <module>org.eclipse.help.ui</module>
    <module>org.eclipse.help.webapp</module>
    <module>org.eclipse.ua.tests</module>
    <module>org.eclipse.ua.tests.doc</module>
    <module>org.eclipse.ui.cheatsheets</module>
    <module>org.eclipse.ui.intro</module>
    <module>org.eclipse.ui.intro.universal</module>

    <module>org.eclipse.ui.intro.quicklinks</module>
    <module>org.eclipse.ui.intro.quicklinks.examples</module>
    <module>org.eclipse.ui.intro.solstice.examples</module>
    
    <module>org.eclipse.tips.core</module>
    <module>org.eclipse.tips.ui</module>
    <module>org.eclipse.tips.ide</module>
    <module>org.eclipse.tips.json</module>
    <module>org.eclipse.tips.feature</module>
    
  </modules>
</project>
