<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2020 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
-->
<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.19.0-SNAPSHOT</version>
    <relativePath>../eclipse-platform-parent</relativePath>
  </parent>

  <groupId>eclipse.jdt.ui</groupId>
  <artifactId>eclipse.jdt.ui</artifactId>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.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>
      <build>
      	<plugins>
      		<plugin>
      			<groupId>org.eclipse.tycho.extras</groupId>
      			<artifactId>tycho-p2-extras-plugin</artifactId>
      			<version>${tycho.version}</version>
      			<executions>
      				<execution> <!-- Checks versions are properly bumped from one stream to the other -->
      					<id>compare-attached-artifacts-with-release</id>
      					<goals>
      						<goal>compare-version-with-baselines</goal>
      					</goals>
      					<configuration>
      						<skip>true</skip>
      					</configuration>
      				</execution>
      			</executions>
      		</plugin>
      	</plugins>
      </build>
    </profile>
  </profiles>

  <modules>
    <module>org.eclipse.ltk.core.refactoring</module>
    <module>org.eclipse.ltk.ui.refactoring</module>
    <module>org.eclipse.jdt.text.tests</module>
    <module>org.eclipse.jdt.ui.tests</module>
    <module>org.eclipse.ltk.core.refactoring.tests</module>
    <module>org.eclipse.ltk.ui.refactoring.tests</module>
    <module>org.eclipse.jdt.ui.tests.refactoring</module>
	<module>org.eclipse.jdt.ui.junit.sampleproject</module>
	<module>org.eclipse.jdt.ui.examples.projects</module>
    <module>org.eclipse.jdt.core.manipulation</module>
    <module>org.eclipse.jdt.ui</module>
    <module>org.eclipse.jdt.junit</module>
    <module>org.eclipse.jdt.junit.core</module>
    <module>org.eclipse.jdt.junit.runtime</module>
    <module>org.eclipse.jdt.junit4.runtime</module>
    <module>org.eclipse.jdt.junit5.runtime</module>
    <module>org.eclipse.jdt.ui.unittest.junit</module>
    <module>org.eclipse.jdt.ui.unittest.junit.feature</module>
  </modules>
</project>
