<?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.21.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:https://git.eclipse.org/r/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>
      <properties>
      	<eclipse-p2-repo.url>http://download.eclipse.org/eclipse/updates/Y-builds</eclipse-p2-repo.url>
      	<skipAPIAnalysis>true</skipAPIAnalysis>
      </properties>
      <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>
