<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
  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</groupId>
    <artifactId>apache</artifactId>
    <version>4</version>
  </parent>
  <organization>
    <name>Apache MINA Project</name>
    <url>http://mina.apache.org/</url>
  </organization>
  <groupId>org.apache.mina</groupId>
  <version>2.0.0-M4</version>
  <artifactId>build</artifactId>
  <name>Apache MINA Parent POM</name>
  <packaging>pom</packaging>

  <url>http://mina.apache.org/</url>
  <inceptionYear>2004</inceptionYear>

  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/browse/DIRMINA</url>
  </issueManagement>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/mina/tags/2.0.0-M4</connection>
    <url>http://svn.apache.org/viewvc/directory/mina/tags/2.0.0-M4</url>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/mina/tags/2.0.0-M4</developerConnection>
  </scm>

  <distributionManagement>
    <site>
      <id>apache.websites</id>
      <url>scp://people.apache.org/www/mina.apache.org/report/trunk/</url>
    </site>
  </distributionManagement>

  <ciManagement>
    <notifiers>
      <notifier>
        <type>mail</type>
        <address>dev@mina.apache.org</address>
      </notifier>
    </notifiers>
  </ciManagement>

  <description>Apache MINA is a network application framework which helps users develop high performance and highly scalable network applications easily.  It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.</description>

  <licenses>
    <license>
      <name>Apache 2.0 License</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <properties>
    <symbolicName>${exportedPackage}</symbolicName>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Submodules -->
      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-core</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <!--
      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-transport-serial</artifactId>
        <version>${pom.version}</version>
      </dependency>
      -->

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-transport-apr</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-filter-compression</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-filter-codec-netty</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-integration-beans</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-integration-ognl</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-integration-jmx</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <dependency>
        <groupId>${groupId}</groupId>
        <artifactId>mina-statemachine</artifactId>
        <version>${pom.version}</version>
      </dependency>

      <!-- Transport -->
      <dependency>
        <groupId>tomcat</groupId>
        <artifactId>tomcat-apr</artifactId>
        <version>5.5.23</version>
      </dependency>

      <!-- Filter -->
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jzlib</artifactId>
        <version>1.0.7</version>
      </dependency>

      <!-- Integration -->
      <dependency>
        <groupId>net.gleamynode</groupId>
        <artifactId>netty2</artifactId>
        <version>1.9.2</version>
      </dependency>

      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-spring</artifactId>
        <version>3.4.3</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.5.5</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>ognl</groupId>
        <artifactId>ognl</artifactId>
        <version>2.7.2</version>
      </dependency> 

      <dependency>
        <groupId>jboss</groupId>
        <artifactId>javassist</artifactId>
        <version>3.7.ga</version>
      </dependency> 

      <!-- State Machine -->
      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.4</version>
      </dependency>

      <!-- Logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.2</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.5.2</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.2</version>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
      </dependency>

      <!-- Testing -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>2.3</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymockclassextension</artifactId>
        <version>2.3</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.agical.rmock</groupId>
        <artifactId>rmock</artifactId>
        <version>2.0.0</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <!-- Logging -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- Testing -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymockclassextension</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>com.agical.rmock</groupId>
      <artifactId>rmock</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <modules>
    <module>core</module>
    <module>transport-apr</module>
    <module>filter-compression</module>
    <module>filter-codec-netty</module>
    <module>statemachine</module>
    <module>integration-beans</module>
    <module>integration-xbean</module>
    <module>integration-ognl</module>
    <module>integration-jmx</module>
    <module>example</module>
  </modules>

  <profiles>
    <profile>
      <id>default</id>
    </profile>
    <profile>
      <id>serial</id>
      <activation>
        <property>
          <name>with-LGPL-dependencies</name>
        </property>
      </activation>
      <modules>
        <module>transport-serial</module>
      </modules>
    </profile>
  </profiles>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <source>1.5</source>
          <target>1.5</target>
          <debug>true</debug>
          <optimize>true</optimize>
          <showDeprecations>true</showDeprecations>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.4.3</version>
        <configuration>
          <excludes>
            <exclude>**/Abstract*</exclude>
            <exclude>**/*RegressionTest*</exclude>
          </excludes>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.0.4</version>
        <executions>
          <execution>
            <id>attach-source</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-2</version>
        <configuration>
          <descriptors>
            <descriptor>release.xml</descriptor>
          </descriptors>
          <finalName>mina-${pom.version}</finalName>
          <appendAssemblyId>false</appendAssemblyId>
          <tarLongFileMode>gnu</tarLongFileMode>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.0-beta-7</version>
        <configuration>
          <tagBase>
            https://svn.apache.org/repos/asf/mina/tags
          </tagBase>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>1.4.1</version>
        <inherited>true</inherited>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${symbolicName}</Bundle-SymbolicName>
            <Export-Package>${exportedPackage}.*</Export-Package>
          </instructions>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.1</version>
        <executions>
          <execution>
            <id>add-license</id>
            <phase>package</phase>
            <configuration>
              <tasks>
                <taskdef resource="net/sf/antcontrib/antlib.xml" />
                <if>
                  <or>
                    <equals arg1="${project.packaging}" arg2="jar" />
                    <equals arg1="${project.packaging}" arg2="bundle" />
                  </or>
                  <then>
                    <move file="${project.build.directory}/${project.build.finalName}.jar" tofile="${project.build.directory}/${project.build.finalName}.orig.jar" />
                    <zip destfile="${project.build.directory}/${project.build.finalName}.jar">
                      <zipfileset dir="${basedir}/.." prefix="META-INF/">
                        <include name="LICENSE.*" />
                        <include name="NOTICE.*" />
                      </zipfileset>
                      <zipfileset src="${project.build.directory}/${project.build.finalName}.orig.jar" filemode="644" dirmode="755" />
                    </zip>
                    <jar destfile="${project.build.directory}/${project.build.finalName}-sources.jar" update="true">
                      <zipfileset dir="${basedir}/.." prefix="META-INF/">
                        <include name="LICENSE.*" />
                        <include name="NOTICE.*" />
                      </zipfileset>
                    </jar>
                    <delete file="${project.build.directory}/${project.build.finalName}.orig.jar" />
                  </then>
                </if>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
        <dependencies>
          <dependency>
            <groupId>ant-contrib</groupId>
            <artifactId>ant-contrib</artifactId>
            <version>1.0b2</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.4</version>
        <inherited>false</inherited>
        <configuration>
          <aggregate>true</aggregate>
          <breakiterator>true</breakiterator>
          <charset>UTF-8</charset>
          <docencoding>UTF-8</docencoding>
          <windowtitle>Apache MINA ${project.version} API Documentation</windowtitle>
          <doctitle>Apache MINA ${project.version} API Documentation</doctitle>
          <encoding>UTF-8</encoding>
          <excludePackageNames>*.example.*</excludePackageNames>
          <links>
            <link>http://java.sun.com/j2se/1.5.0/docs/api/</link>
            <link>http://www.slf4j.org/api/</link>
            <link>http://static.springframework.org/spring/docs/2.0.x/api/</link>
            <link>http://dcl.mathcs.emory.edu/util/backport-util-concurrent/doc/api/</link>
          </links>
          <locale>en_US</locale>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.1</version>
        <inherited>false</inherited>
        <configuration>
          <aggregate>true</aggregate>
          <inputEncoding>UTF-8</inputEncoding>
          <outputEncoding>UTF-8</outputEncoding>
          <windowTitle>Apache MINA ${project.version} Cross Reference</windowTitle>
          <docTitle>Apache MINA ${project.version} Cross Reference</docTitle>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rat-maven-plugin</artifactId>
        <version>1.0-alpha-3</version>
        <configuration>
          <excludes>
            <exclude>**/target/**/*</exclude>
            <exclude>**/.*</exclude>
            <exclude>**/NOTICE.txt</exclude>
            <exclude>**/LICENSE*.txt</exclude>
          </excludes>
          <excludeSubProjects>false</excludeSubProjects>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>
