<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012 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
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
  xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse</groupId>
    <artifactId>eclipse-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <relativePath>../eclipse-parent</relativePath>
  </parent>

  <groupId>eclipse.jdt.core</groupId>
  <artifactId>eclipse.jdt.core</artifactId>
  <version>3.8.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git</tycho.scmUrl>
  </properties>

  <modules>
    <module>org.eclipse.jdt.annotation</module>
    <module>org.eclipse.jdt.compiler.tool</module>
    <module>org.eclipse.jdt.core</module>
    <module>org.eclipse.jdt.compiler.tool.tests</module>
    <module>org.eclipse.jdt.core.tests.builder</module>
    <module>org.eclipse.jdt.core.tests.compiler</module>
    <module>org.eclipse.jdt.core.tests.model</module>
    <module>org.eclipse.jdt.core.tests.performance</module>
    <module>org.eclipse.jdt.apt.core</module>
    <module>org.eclipse.jdt.apt.pluggable.core</module>
    <module>org.eclipse.jdt.apt.ui</module>
    <module>org.eclipse.jdt.compiler.apt</module>
    <module>org.eclipse.jdt.apt.pluggable.tests</module>
    <module>org.eclipse.jdt.apt.tests</module>
    <module>org.eclipse.jdt.compiler.apt.tests</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <configuration>
          <filters>
            <filter>
              <type>osgi-bundle</type>
              <id>org.eclipse.jdt.core.compiler.batch</id>
              <removeAll/>
            </filter>
          </filters>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
