<?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.search</groupId>
  <artifactId>e4-search-aggregator</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

   <modules>
      <module>bundles/org.eclipse.platform.discovery.integration</module>
      <module>bundles/org.eclipse.platform.discovery.compatibility</module>
      <module>bundles/org.eclipse.platform.discovery.core</module>
      <module>bundles/org.eclipse.platform.discovery.runtime</module>
      <module>bundles/org.eclipse.platform.discovery.util</module>
      <module>bundles/org.eclipse.platform.discovery.ui</module>
      <module>bundles/org.eclipse.platform.discovery.destprefs</module>
      <module>examples/org.eclipse.demo.cheatsheets.search</module>
      <module>tests/org.eclipse.platform.discovery.test.testutils</module>
      <module>tests/org.eclipse.platform.discovery.integration.test.unit</module>
      <module>tests/org.eclipse.platform.discovery.util.test.unit</module>
      <module>tests/org.eclipse.platform.discovery.ui.test.comp</module>
      <module>tests/org.eclipse.platform.discovery.compatibility.tests</module>
      <module>tests/org.eclipse.platform.discovery.runtime.test.unit</module>
      <module>tests/org.eclipse.platform.discovery.ui.test.unit</module>
      <module>tests/org.eclipse.platform.discovery.core.test.unit</module>
      <module>tests/org.eclipse.platform.discovery.destprefs.test.unit</module>
      <module>features/org.eclipse.platform.discovery.feature</module>
      <module>features/org.eclipse.platform.discovery.compatibility.feature</module>
      <module>features/org.eclipse.platform.discovery_tests.feature</module>
      <module>features/org.eclipse.demo.search.example.feature</module>
      <module>build/org.eclipse.e4.search.update</module>
  </modules>
</project>

