<?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
     Lars Vogel - Adjustments for e4 tools 
-->

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

  <groupId>org.eclipse.e4.languages</groupId>
  <artifactId>e4-languages-aggregator</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

   <modules>
      <module>bundles/org.eclipse.e4.languages.javascript</module>
      <module>bundles/org.eclipse.e4.languages.javascript.registry</module>
      <module>bundles/org.eclipse.e4.languages.javascript.framework</module>
      <module>bundles/org.eclipse.e4.languages.javascript.js</module>
      <!--module>bundles/org.eclipse.e4.languages.javascript.debug.model</module>
      <module>bundles/org.eclipse.e4.languages.javascript.debug.ui</module>
      <module>bundles/org.eclipse.e4.languages.javascript.debug.rhino</module>
      <module>bundles/org.eclipse.e4.languages.javascript.debug.connect</module>
      <module>bundles/org.eclipse.e4.languages.javascript.debug.jsdi</module>
      <module>bundles/org.eclipse.e4.languages.javascript.debug.jsdi.rhino</module-->
      <module>bundles/org.eclipse.e4.languages.javascript.junit</module>
      <module>bundles/org.eclipse.e4.javascript</module>
      <module>bundles/org.eclipse.e4.javascript.registry</module>
      <!--module>examples/sample.js.debugdisplay</module>
      <module>examples/sample.js.servlet</module>
      <module>examples/sample.js.fib</module>
      <module>examples/sample.js.debug</module-->
      <module>tests/org.eclipse.e4.javascript.test</module>
      <module>tests/org.eclipse.e4.languages.javascript.test</module>
      <module>tests/org.eclipse.e4.languages.javascript.framework.test</module>
      <module>tests/org.eclipse.e4.languages.javascript.junit.test</module>
      <!--module>tests/org.eclipse.e4.languages.javascript.registry.test</module-->
      <!--module>tests/org.eclipse.e4.languages.javascript.debug.test</module-->
      <module>features/org.eclipse.e4.languages.feature</module>
      <module>features/org.eclipse.e4.languages.tests.feature</module>
      <module>build/org.eclipse.e4.languages.update</module>
  </modules>
</project>

