<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2012, 2013, 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:
    Thanh Ha (Eclipse Foundation) - initial implementation
    Nick Boldt, Red Hat - update to Tycho 1.1
-->

<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>wtp-parent</artifactId>
    <version>3.10.0-SNAPSHOT</version>
    <relativePath>../wtp-parent</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.dali</groupId>
  <artifactId>org.eclipse.webtools.dali</artifactId>
  <version>3.4.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/dali/webtools.dali.git</tycho.scmUrl>
  </properties>

  <repositories>
    <repository>
      <id>webtools-common-site</id>
      <layout>p2</layout>
      <url>${webtools-common-site}</url>
    </repository>
    <repository>
      <id>webtools-servertools-site</id>
      <layout>p2</layout>
      <url>${webtools-servertools-site}</url>
    </repository>
    <repository>
      <id>webtools-jsdt-site</id>
      <layout>p2</layout>
      <url>${webtools-jsdt-site}</url>
    </repository>
    <repository>
      <id>webtools-sourceediting-site</id>
      <layout>p2</layout>
      <url>${webtools-sourceediting-site}</url>
    </repository>
    <repository>
      <id>webtools-jeetools-site</id>
      <layout>p2</layout>
      <url>${webtools-jeetools-site}</url>
    </repository>

    <!-- To reference parent pom -->
    <repository>
      <id>Webtools Repository - Releases</id>
      <name>Webtools Repository - Releases</name>
      <url>https://repo.eclipse.org/content/repositories/webtools-releases/</url>
    </repository>
    <repository>
      <id>Webtools Repository - Snapshots</id>
      <name>Webtools Repository - Snapshots</name>
      <url>https://repo.eclipse.org/content/repositories/webtools-snapshots/</url>
    </repository>
  </repositories>

  <!-- Bug 526334 - ignore vestigial project settings which appear in Eclipse but are ignored by Tycho, like API access restrictions -->
  <build>
    <plugins>
      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>tycho-compiler-plugin</artifactId>
        <version>${tycho.version}</version>
        <configuration>
          <useProjectSettings>false</useProjectSettings>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <modules>
    <!-- assembly -->
    <module>assembly/features/org.eclipse.jpt.assembly.feature</module>
    <module>assembly/features/org.eclipse.jpt_sdk.assembly.feature</module>
    <module>assembly/features/org.eclipse.jpt.tests.assembly.feature</module>

    <!-- common -->
    <module>common/features/org.eclipse.jpt.common.eclipselink.feature</module>
    <module>common/features/org.eclipse.jpt.common.eclipselink_sdk.feature</module>
    <module>common/features/org.eclipse.jpt.common.feature</module>
    <module>common/features/org.eclipse.jpt.common_sdk.feature</module>
    <module>common/features/org.eclipse.jpt.common.tests.feature</module>

    <module>common/plugins/org.eclipse.jpt.common.branding</module>
    <module>common/plugins/org.eclipse.jpt.common.core</module>
    <module>common/plugins/org.eclipse.jpt.common.eclipselink.branding</module>
    <module>common/plugins/org.eclipse.jpt.common.eclipselink.core</module>
    <module>common/plugins/org.eclipse.jpt.common.ui</module>
    <module>common/plugins/org.eclipse.jpt.common.utility</module>

    <module>common/tests/org.eclipse.jpt.common.core.tests</module>
    <module>common/tests/org.eclipse.jpt.common.ui.tests</module>
    <module>common/tests/org.eclipse.jpt.common.utility.tests</module>

    <!-- jaxb -->
    <!-- <module>jaxb/features/org.eclipse.jpt.dbws.eclipselink.feature</module> -->
    <!-- <module>jaxb/features/org.eclipse.jpt.dbws.eclipselink_sdk.feature</module> -->
    <module>jaxb/features/org.eclipse.jpt.jaxb.eclipselink.feature</module>
    <module>jaxb/features/org.eclipse.jpt.jaxb.eclipselink_sdk.feature</module>
    <module>jaxb/features/org.eclipse.jpt.jaxb.eclipselink.tests.feature</module>
    <module>jaxb/features/org.eclipse.jpt.jaxb.feature</module>
    <module>jaxb/features/org.eclipse.jpt.jaxb_sdk.feature</module>
    <module>jaxb/features/org.eclipse.jpt.jaxb.tests.feature</module>

    <!-- <module>jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.branding</module> -->
    <!-- <module>jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.core.gen</module> -->
    <!-- <module>jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui</module> -->
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.branding</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.core</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.core.schemagen</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.branding</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.core.schemagen</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.eclipselink.ui</module>
    <module>jaxb/plugins/org.eclipse.jpt.jaxb.ui</module>

    <!-- disable tests that don't currently work and are not currently RUN as part of the releng.aggregator build -->
    <!-- <module>jaxb/tests/org.eclipse.jpt.jaxb.core.tests</module> -->
    <!-- <module>jaxb/tests/org.eclipse.jpt.jaxb.eclipselink.core.tests</module> -->

    <!-- jpa -->
    <module>jpa/features/org.eclipse.jpt.jpa.eclipselink.feature</module>
    <module>jpa/features/org.eclipse.jpt.jpa.eclipselink_sdk.feature</module>
    <!-- disable this test feature since it requires org.eclipse.jpt.jpa.eclipselink.core.tests and org.eclipse.jpt.jpa.core.tests --> 
    <!-- <module>jpa/features/org.eclipse.jpt.jpa.eclipselink.tests.feature</module> -->
    <module>jpa/features/org.eclipse.jpt.jpa.feature</module>
    <module>jpa/features/org.eclipse.jpt.jpa_sdk.feature</module>
    <module>jpa/features/org.eclipse.jpt.jpa.tests.feature</module>

    <module>jpa/plugins/org.eclipse.jpt.doc.isv</module>
    <module>jpa/plugins/org.eclipse.jpt.doc.user</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.annotate</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.branding</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.core</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.db</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.db.ui</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.eclipselink.branding</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.eclipselink.core.ddlgen</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.gen</module>
    <module>jpa/plugins/org.eclipse.jpt.jpa.ui</module>

    <!-- disable tests that don't currently work and are not currently RUN as part of the releng.aggregator build -->
    <!-- <module>jpa/tests/org.eclipse.jpt.jpa.core.tests</module> -->
    <module>jpa/tests/org.eclipse.jpt.jpa.core.tests.extension.resource</module>
    <!-- disable these since they require org.eclipse.jpt.jpa.core.tests --> 
    <!-- <module>jpa/tests/org.eclipse.jpt.jpa.eclipselink.core.tests</module> -->
    <!-- <module>jpa/tests/org.eclipse.jpt.jpa.ui.tests</module> -->
    <!-- fails in Jenkins, works locally <module>jpa/tests/org.eclipse.jpt.jpa.gen.tests</module> -->
    <module>jpa/tests/org.eclipse.jpt.jpa.db.tests</module>

    <!-- jpa_diagram_editor -->
    <module>jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.feature</module>
    <module>jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor_sdk.feature</module>
    <module>jpa_diagram_editor/features/org.eclipse.jpt.jpadiagrameditor.tests.feature</module>

    <module>jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.branding</module>
    <module>jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.doc.user</module>
    <module>jpa_diagram_editor/plugins/org.eclipse.jpt.jpadiagrameditor.ui</module>

    <module>jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.ui.tests</module>
    <!-- compilation failure <module>jpa_diagram_editor/tests/org.eclipse.jpt.jpadiagrameditor.swtbot.tests</module> -->

    <module>site</module>
    
  </modules>
</project>
