<?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>
      <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>
