<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Copyright 2006 The Apache Software Foundation.
  ~
  ~ Licensed 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</groupId>
      <artifactId>apache</artifactId>
      <version>1</version>
   </parent>
   <groupId>org.apache.struts</groupId>
   <artifactId>struts-parent</artifactId>
   <version>3-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Struts</name>
   <scm>
     <connection>scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom</connection>
     <developerConnection>scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom</developerConnection>
     <url>http://svn.apache.org/repos/asf/struts/maven/trunk/pom</url>
   </scm>
   <description>
    The goal of the Apache Struts project is to encourage application 
    architectures based on the "Model 2" approach, a variation of the classic 
    Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or 
    equivalent) manages business logic execution, and presentation logic 
    resides mainly in server pages.
   </description>
   <url>http://struts.apache.org/</url>
   <inceptionYear>2000</inceptionYear>

   <mailingLists>
      <mailingList>
         <name>Struts User List</name>
         <subscribe>user-subscribe@struts.apache.org</subscribe>
         <unsubscribe>user-unsubscribe@struts.apache.org</unsubscribe>
         <post>user@struts.apache.org</post>
         <archive>http://mail-archives.apache.org/mod_mbox/struts-user/</archive>
         <otherArchives>
            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
         </otherArchives>
      </mailingList>
      <mailingList>
         <name>Struts Developer List</name>
         <subscribe>dev-subscribe@struts.apache.org</subscribe>
         <unsubscribe>dev-unsubscribe@struts.apache.org</unsubscribe>
         <post>dev@struts.apache.org</post>
         <archive>http://mail-archives.apache.org/mod_mbox/struts-dev/</archive>
         <otherArchives>
            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
         </otherArchives>
      </mailingList>
      <mailingList>
         <name>Struts Commits List</name>
         <subscribe>commits-subscribe@struts.apache.org</subscribe>
         <unsubscribe>commits-unsubscribe@struts.apache.org</unsubscribe>
         <archive>http://mail-archives.apache.org/mod_mbox/struts-commits/</archive>
         <otherArchives>
            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
         </otherArchives>
      </mailingList>
      <mailingList>
         <name>Struts Issues List</name>
         <subscribe>issues-subscribe@struts.apache.org</subscribe>
         <unsubscribe>issues-unsubscribe@struts.apache.org</unsubscribe>
         <archive>http://mail-archives.apache.org/mod_mbox/struts-issues/</archive>
         <otherArchives>
            <otherArchive>http://struts.apache.org/mail.html#Archives</otherArchive>
         </otherArchives>
      </mailingList>
   </mailingLists>

   <developers>
      <developer>
         <name>Craig R. McClanahan</name>
         <id>craigmcc</id>
         <email>craigmcc at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Ted Husted</name>
         <id>husted</id>
         <email>husted at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Cedric Dumoulin</name>
         <id>cedric</id>
         <email>cedric.dumoulin at lifl.fr</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Martin Cooper</name>
         <id>martinc</id>
         <email>martinc at apache.org</email>
         <roles>
            <role>PMC Chair</role>
         </roles>
      </developer>
      <developer>
         <name>James Holmes</name>
         <id>jholmes</id>
         <email>jholmes at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>David M. Karr</name>
         <id>dmkarr</id>
         <email>dmkarr at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Eddie Bush</name>
         <id>ekbush</id>
         <email>ekbush at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>David Graham</name>
         <id>dgraham</id>
         <email>dgraham at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>James Mitchell</name>
         <id>jmitchell</id>
         <email>jmitchell at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Don Brown</name>
         <id>mrdon</id>
         <email>mrdon at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Joe Germuska</name>
         <id>germuska</id>
         <email>germuska at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Niall Pemberton</name>
         <id>niallp</id>
         <email>niallp at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Hubert Rabago</name>
         <id>hrabago</id>
         <email>hrabago at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>David Geary</name>
         <id>dgeary</id>
         <email>dgeary at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Wendy Smoak</name>
         <id>wsmoak</id>
         <email>wsmoak at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Gary VanMatre</name>
         <id>gvanmatre</id>
         <email>gvanmatre at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Sean Schofield</name>
         <id>schof</id>
         <email>schof at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Greg Reddin</name>
         <id>greddin</id>
         <email>greddin at apache.org</email>
         <roles>
            <role>PMC Member</role>
         </roles>
      </developer>
      <developer>
         <name>Laurie Harper</name>
         <id>laurieh</id>
         <email>laurieh at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Richard Feit</name>
         <id>rich</id>
         <email>rich at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Jason Carreira</name>
         <id>jcarreira</id>
         <email>jcarreira at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Patrick Lightbody</name>
         <id>plightbo</id>
         <email>plightbo at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Alexandru Popescu</name>
         <id>apopescu</id>
         <email>apopescu at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Rene Gielen</name>
         <id>rgielen</id>
         <email>rgielen at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Rainer Hermanns</name>
         <id>hermanns</id>
         <email>hermanns at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Toby Jee</name>
         <id>tmjee</id>
         <email>tmjee at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Ian Roughley</name>
         <id>roughley</id>
         <email>roughley at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
      <developer>
         <name>Michael Jouravlev</name>
         <id>mikus</id>
         <email>mikus at apache.org</email>
         <roles>
            <role>Committer</role>
         </roles>
      </developer>
   </developers>
   <distributionManagement>
      <repository>
         <id>apache-maven-releases</id>
         <name>Apache Maven Repository (Releases)</name>
         <url>scp://people.apache.org/www/www.apache.org/dist/maven-repository</url>
      </repository>
      <snapshotRepository>
         <uniqueVersion>false</uniqueVersion>
         <id>apache-maven-snapshots</id>
         <name>Apache Maven Repository (Snapshots)</name>
         <url>scp://people.apache.org/www/cvs.apache.org/maven-snapshot-repository</url>
      </snapshotRepository>
      <site>
         <id>apache-site</id>
         <name>Apache Struts Website</name>
         <url>scp://people.apache.org/www/struts.apache.org</url>
      </site>
   </distributionManagement>
</project>


