<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<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>

  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-plugins-sandbox</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Maven Plugins Sandbox</name>

  <modules>
    <module>maven-assembly-report-plugin</module>
    <module>maven-committers-plugin</module>
    <module>maven-component-it-plugin</module>
    <module>maven-ejb3-plugin</module>
    <module>maven-it-plugin</module>
    <module>maven-jdee-plugin</module>
    <module>maven-jdeveloper-plugin</module>
    <!-- requires Maven 2.1-SNAPSHOT -->
    <!--<module>maven-lifecycle-plugin</module>-->
    <module>maven-maven1-plugin</module>
    <module>maven-par-plugin</module>
    <module>maven-plugin-management-plugin</module>
    <module>maven-pom-plugin</module>
    <module>maven-swizzle-plugin</module>
    <module>maven-xcode-plugin</module>
    <module>maven-downloader-plugin</module>
    <module>maven-zip-plugin</module>
    <module>maven-patch-tracker-plugin</module>
    <module>maven-digest-plugin</module>
    <module>maven-gpgsignfiles-plugin</module>
  </modules>
</project>