<?xml version="1.0" encoding="UTF-8"?>
<!--
  Copyright (c) 2017 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:
    Nick Boldt (Red Hat) - initial implementation
    Rob Stryker (Red Hat) - 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.webtools.sourceediting</groupId>
    <artifactId>sourceediting.json</artifactId>
    <version>3.10.0-SNAPSHOT</version>
  </parent>

  <groupId>org.eclipse.webtools.sourceediting</groupId>
  <artifactId>sourceediting.json.bundles</artifactId>
  <version>3.10.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
    <module>org.eclipse.json</module>
    <module>org.eclipse.wst.json.bower.core</module>
    <module>org.eclipse.wst.json.bower.ui</module>
    <module>org.eclipse.wst.json.core</module>
    <module>org.eclipse.wst.json.eslint.core</module>
    <module>org.eclipse.wst.json.eslint.ui</module>
    <module>org.eclipse.wst.json.jshint.core</module>
    <module>org.eclipse.wst.json.jshint.ui</module>
    <module>org.eclipse.wst.json.npm.core</module>
    <module>org.eclipse.wst.json.npm.ui</module>
    <module>org.eclipse.wst.json.schemaprocessor</module>
    <module>org.eclipse.wst.json.ui</module>
  </modules>
</project>
