<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright (C) 2011, Red Hat, Inc.

   All rights reserved. This program and the accompanying materials
   are made available under the terms of the Eclipse Public License v1.0
   which accompanies this distribution, and is available at
   http://www.eclipse.org/legal/epl-v10.html
-->

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.eclipse.linuxtools</groupId>
    <artifactId>linuxtools-parent</artifactId>
    <version>3.1.0</version>
  </parent>

  <groupId>org.eclipse.linuxtools.changelog</groupId>
  <artifactId>linuxtools-changelog-parent</artifactId>
  <packaging>pom</packaging>

  <name>Linux Tools ChangeLog Parent</name>

  <licenses>
    <license>
      <name>Eclipse Public License v1.0</name>
      <comments>
       All rights reserved.

       This program and the accompanying materials are made
       available under the terms of the Eclipse Public License v1.0
       which accompanies this distribution, and is available at
       http://www.eclipse.org/legal/epl-v10.htm
      </comments>
    </license>
  </licenses>

  <modules>
    <module>org.eclipse.linuxtools.changelog.core</module>
    <module>org.eclipse.linuxtools.changelog.cparser</module>
    <module>org.eclipse.linuxtools.changelog.doc</module>
    <module>org.eclipse.linuxtools.changelog.javaparser</module>
    <module>org.eclipse.linuxtools.changelog-feature</module>
    <module>org.eclipse.linuxtools.changelog.c-feature</module>
    <module>org.eclipse.linuxtools.changelog.java-feature</module>
    <module>org.eclipse.linuxtools.changelog.tests</module>
    <!--
    <module>org.eclipse.linuxtools.changelog.ui.tests</module>
    -->
  </modules>

</project>
