<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!--
  Copyright (c) 2012, 2013 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 Inc.) - support for Tycho 1.0 and upstream component builds
-->
<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>wtp-parent</artifactId>
    <version>3.6.0-SNAPSHOT</version>
    <relativePath>../wtp-parent</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.javaee</groupId>
  <artifactId>org.eclipse.webtools.javaee</artifactId>
  <version>3.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/jeetools/webtools.javaee.git</tycho.scmUrl>
    <tycho.version>1.0.0</tycho.version>
    <tycho-extras.version>1.0.0</tycho-extras.version>
  </properties>

  <repositories>
    <repository>
      <id>webtools-common-site</id>
      <layout>p2</layout>
      <url>${webtools-common-site}</url>
    </repository>
    <!-- org.eclipse.jst.doc.user.feature requires org.eclipse.jst.server.ui.* -->
    <repository>
      <id>webtools-servertools-site</id>
      <layout>p2</layout>
      <url>${webtools-servertools-site}</url>
    </repository>
    <!-- org.eclipse.jst.doc.user.feature requires org.eclipse.jst.jsp.* -->
    <repository>
      <id>webtools-sourceediting-site</id>
      <layout>p2</layout>
      <url>${webtools-sourceediting-site}</url>
    </repository>
    <!-- org.eclipse.wst.web.ui requires org.eclipse.wst.jsdt.ui -->
    <repository>
      <id>webtools-jsdt-site</id>
      <layout>p2</layout>
      <url>${webtools-jsdt-site}</url>
    </repository>
    <!-- TODO: org.eclipse.jst.doc.user.feature requires org.eclipse.jst.ws.* so that feature should move into webservices (or releng) -->

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

  <modules>
    <module>docs</module>
    <module>features</module>
    <module>plugins</module>
    <module>tests</module>
    <module>site</module>
  </modules>
</project>
