<?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>
  <parent>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-parent</artifactId>
    <version>5</version>
    <relativePath>../pom/maven/pom.xml</relativePath>
  </parent>
  <groupId>org.apache.maven.continuum</groupId>
  <artifactId>continuum-parent</artifactId>
  <packaging>pom</packaging>
  <name>Continuum Project</name>
  <version>1.1-beta-1</version>
  <url>http://maven.apache.org/continuum</url>
  <issueManagement>
    <system>jira</system>
    <url>http://jira.codehaus.org/browse/CONTINUUM</url>
  </issueManagement>
  <inceptionYear>2003</inceptionYear>
  <mailingLists>
    <mailingList>
      <name>Continuum Dev List</name>
      <subscribe>continuum-dev-subscribe@maven.apache.org</subscribe>
      <unsubscribe>continuum-dev-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-continuum-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Continuum User List</name>
      <subscribe>continuum-users-subscribe@maven.apache.org</subscribe>
      <unsubscribe>continuum-users-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-continuum-users/</archive>
    </mailingList>
    <mailingList>
      <name>Continuum Commit List</name>
      <subscribe>continuum-commits-subscribe@maven.apache.org</subscribe>
      <unsubscribe>continuum-commits-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-continuum-commits/</archive>
    </mailingList>
  </mailingLists>
  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.1-beta-1</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.1-beta-1</developerConnection>
    <url>https://svn.apache.org/repos/asf/maven/continuum/tags/continuum-1.1-beta-1</url>
  </scm>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <tagBase>https://svn.apache.org/repos/asf/maven/continuum/tags</tagBase>
            <preparationGoals>clean install</preparationGoals>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-maven-plugin</artifactId>
          <version>1.3.3</version>
          <extensions>true</extensions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.modello</groupId>
          <artifactId>modello-maven-plugin</artifactId>
          <version>1.0-alpha-15</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>1.0-alpha-5</version>
          <executions>
            <execution>
              <goals>
                <goal>process</goal>
              </goals>
              <configuration>
                <resourceBundles>
                  <resourceBundle>org.apache:apache-jar-resource-bundle:1.2</resourceBundle>
                </resourceBundles>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  <modules>
    <module>continuum-api</module>
    <module>continuum-security</module>
    <!-- module>continuum-core-it</module -->    <!-- TODO RE-ADD it when continuum-plexus-application will be back -->
    <module>continuum-core</module>
    <module>continuum-model</module>
    <module>continuum-notifiers</module>
    <module>continuum-plexus-application</module>
    <module>continuum-plexus-runtime</module>
    <module>continuum-store</module>
    <module>continuum-test</module>
    <module>continuum-webapp</module>
    <module>continuum-xmlrpc</module>
    <module>continuum-release</module>
    <!-- Disabled until we can pre-req 2.0.7 - that fixes the bug where it doesn't work in the reactor
    <module>continuum-data-management</module>
-->
    <module>continuum-configuration</module>
    <module>maven-continuum-plugin</module>
  </modules>
  <repositories>
    <repository>
      <id>codehaus.org</id>
      <name>Codehaus Snapshot Development Repository</name>
      <url>http://snapshots.repository.codehaus.org/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>codehaus.org</id>
      <name>Codehaus Snapshot Development Repository</name>
      <url>http://snapshots.repository.codehaus.org/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
    <pluginRepository>
      <id>people.apache.org</id>
      <name>Apache Snapshot Development Repository</name>
      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock</artifactId>
      <version>1.0.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-component-api</artifactId>
      <version>1.0-alpha-20</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-container-default</artifactId>
      <version>1.0-alpha-20</version>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${maven.version}</version>
        <exclusions>
          <exclusion>
            <groupId>classworlds</groupId>
            <artifactId>classworlds</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact-manager</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-project</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-settings</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-api</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-manager-plexus</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-bazaar</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-clearcase</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvsjava</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvsexe</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-hg</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-local</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-perforce</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-starteam</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-svnexe</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-synergy</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-vss</artifactId>
        <version>${maven-scm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-provider-api</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-file</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-http-lightweight</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh-external</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
        <version>${wagon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-model</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-api</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-configuration</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-store</artifactId>
        <classifier>tests</classifier>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-store</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-core</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-test</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-web</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-xmlrpc-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-xmlrpc-client</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-xmlrpc-server</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-plexus-application</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-notifier-api</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-notifier-irc</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-notifier-jabber</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-notifier-msn</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-notifier-wagon</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-release</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-security</artifactId>
        <version>${pom.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.continuum</groupId>
        <artifactId>continuum-webapp</artifactId>
        <version>${pom.version}</version>
        <type>war</type>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-app-configuration-model</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-app-configuration-web</artifactId>
        <version>1.0</version>
      </dependency>
      <dependency>
        <groupId>jpox</groupId>
        <artifactId>jpox</artifactId>
        <version>1.1.7</version>
        <exclusions>
          <exclusion>
            <groupId>javax.sql</groupId>
            <artifactId>jdbc-stdext</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>jpox</groupId>
        <artifactId>jpox-enhancer</artifactId>
        <version>1.1.7</version>
        <exclusions>
          <exclusion>
            <groupId>javax.sql</groupId>
            <artifactId>jdbc-stdext</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>jpox</groupId>
        <artifactId>jpox-dbcp</artifactId>
        <version>1.1.7</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>1.4.3</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-jdo2</artifactId>
        <version>1.0-alpha-8</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-formica</artifactId>
        <version>1.0-beta-13</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-velocity</artifactId>
        <version>1.1.4</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-mail-sender-api</artifactId>
        <version>${mail-sender.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-mail-sender-simple</artifactId>
        <version>${mail-sender.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-mail-sender-test</artifactId>
        <version>${mail-sender.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-mail-sender-javamail</artifactId>
        <version>${mail-sender.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-log4j-logging</artifactId>
        <version>1.1-alpha-2</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-notification</artifactId>
        <version>1.0-alpha-5</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-taskqueue</artifactId>
        <version>1.0-alpha-6</version>
      </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.1.3.1</version>
      </dependency>
      <dependency>
        <groupId>hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>1.7.3.3</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-quartz</artifactId>
        <version>1.0-alpha-3</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-xwork-integration</artifactId>
        <version>1.0-alpha-6</version>
      </dependency>
      <!--
        Plexus Redback Dependencies
        -->
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-rbac-role-manager</artifactId>
        <version>${redback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-rbac-model</artifactId>
        <version>${redback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-rbac-memory</artifactId>
        <version>${redback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-system</artifactId>
        <version>${redback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-xwork-content</artifactId>
        <version>${redback.version}</version>
        <type>war</type>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-xwork-integration</artifactId>
        <version>${redback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus.redback</groupId>
        <artifactId>redback-taglib</artifactId>
        <version>${redback.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <!-- TODO:  Remove after maven-parent v6 is released -->
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.0-alpha-3</version>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>integration</id>
      <modules>
        <module>continuum-webapp-test</module>
      </modules>
    </profile>
  </profiles>

  <properties>
    <continuumWebappVersion>${pom.version}</continuumWebappVersion>
    <maven.version>2.0.5</maven.version>
    <wagon.version>1.0-beta-2</wagon.version>
    <maven-scm.version>1.0</maven-scm.version>
    <redback.version>1.0-alpha-1</redback.version>
    <mail-sender.version>1.0-alpha-6</mail-sender.version>
  </properties>
</project>
