<?xml version="1.0" encoding="UTF-8"?>
<!--
  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
-->

<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.6.0-SNAPSHOT</version>
    <relativePath>../wtp-parent</relativePath>
  </parent>

  <groupId>org.eclipse.webtools.common</groupId>
<<<<<<< HEAD
  <artifactId>org.eclipse.webtools.common</artifactId>
=======
  <artifactId>org.eclipse.webtools.common.fproj</artifactId>
>>>>>>> 5f48a07d3516fa5c4baca8276da4de29170c0ab3
  <version>3.6.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
<<<<<<< HEAD
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/webtools-common/webtools.common.git</tycho.scmUrl>
  </properties>

  <modules>
    <module>docs/org.eclipse.wst.common.api.doc</module>
    <module>docs/org.eclipse.wst.validation.doc.isv</module>
    <module>docs/org.eclipse.wst.validation.infopop</module>

    <module>features/org.eclipse.wst.common_core.feature</module>
    <module>features/org.eclipse.wst.common_sdk.feature</module>
    <module>features/org.eclipse.wst.common_ui.feature</module>

    <module>plugins/org.eclipse.jem.util</module>
    <module>plugins/org.eclipse.jst.common.ui</module>
    <module>plugins/org.eclipse.wst.common.core</module>
    <module>plugins/org.eclipse.wst.common.emf</module>
    <module>plugins/org.eclipse.wst.common.emfworkbench.integration</module>
    <module>plugins/org.eclipse.wst.common.environment</module>
    <module>plugins/org.eclipse.wst.common.frameworks</module>
    <module>plugins/org.eclipse.wst.common.frameworks.ui</module>
    <module>plugins/org.eclipse.wst.common.infopop</module>
    <module>plugins/org.eclipse.wst.common.modulecore</module>
    <module>plugins/org.eclipse.wst.common.modulecore.ui</module>
    <module>plugins/org.eclipse.wst.common.ui</module>
    <module>plugins/org.eclipse.wst.common.uriresolver</module>
    <module>plugins/org.eclipse.wst.internet.cache</module>
    <module>plugins/org.eclipse.wst.validation</module>
    <module>plugins/org.eclipse.wst.validation.ui</module>
=======
    <tycho.scmUrl>scm:git:git://git.eclipse.org/gitroot/webtools-common/webtools.common.fproj.git</tycho.scmUrl>
  </properties>

  <modules>
    <module>features/org.eclipse.jst.common.fproj.enablement.jdt.feature</module>
    <module>features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature</module>
    <module>features/org.eclipse.wst.common.fproj.feature</module>
    <module>features/org.eclipse.wst.common.fproj.sdk.feature</module>

    <module>plugins/org.eclipse.jst.common.fproj.enablement.jdt.sdk</module>
    <module>plugins/org.eclipse.jst.common.project.facet.core</module>
    <module>plugins/org.eclipse.jst.common.project.facet.ui</module>
    <module>plugins/org.eclipse.wst.common.fproj.sdk</module>
    <module>plugins/org.eclipse.wst.common.project.facet.core</module>
    <module>plugins/org.eclipse.wst.common.project.facet.doc.api</module>
    <module>plugins/org.eclipse.wst.common.project.facet.ui</module>

    <module>tests/org.eclipse.wst.common.project.facet.core.tests</module>
    <module>tests/org.eclipse.wst.common.project.facet.ui.tests</module>
>>>>>>> 5f48a07d3516fa5c4baca8276da4de29170c0ab3
  </modules>
</project>
