<?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>19</version>
    <relativePath />
  </parent>

  <prerequisites>
    <maven>3.5.0</maven>
  </prerequisites>

  <organization>
    <name>Apache MINA Project</name>
    <url>http://mina.apache.org/</url>
  </organization>

  <groupId>org.apache.mina</groupId>
  <version>2.1.2</version>
  <artifactId>mina-parent</artifactId>
  <name>Apache MINA</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:git:https://gitbox.apache.org/repos/asf/mina.git</connection>
    <url>https://github.com/apache/mina/tree/${project.scm.tag}</url>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/mina.git</developerConnection>
    <tag>2.1.2</tag>
  </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>

  <!-- Define the version for each of the used jar and maven plugins -->
  <properties>
    <arguments />

    <!-- Make Java 8 javadoc lint to shut the f*** up... -->
    <!-- additionalparam>-Xdoclint:none</additionalparam -->

    <!-- Maven Plugins -->
    <version.apache.rat.plugin>0.13</version.apache.rat.plugin>
    <version.api.plugin>3.5.2</version.api.plugin>
    <version.assembly.plugin>3.1.1</version.assembly.plugin>
    <version.build.helper.plugin>3.0.0</version.build.helper.plugin>
    <version.bundle.plugin>4.1.0</version.bundle.plugin>
    <version.changes.plugin>2.12.1</version.changes.plugin>
    <version.checkstyle.plugin>3.0.0</version.checkstyle.plugin>
    <version.clean.plugin>3.1.0</version.clean.plugin>
    <version.clirr.plugin>2.8</version.clirr.plugin>
    <version.cobertura.plugin>2.7</version.cobertura.plugin>
    <version.compiler.plugin>3.8.0</version.compiler.plugin>
    <version.dashboard.plugin>1.0.0-beta-1</version.dashboard.plugin>
    <version.dependency.plugin>3.1.1</version.dependency.plugin>
    <version.deploy.plugin>3.0.0-M1</version.deploy.plugin>
    <version.docck.plugin>1.1</version.docck.plugin>
    <version.eclipse.plugin>2.10</version.eclipse.plugin>
    <version.enforcer.plugin>3.0.0-M2</version.enforcer.plugin>
    <version.findbugs.plugin>3.0.5</version.findbugs.plugin>
    <version.gpg.plugin>1.6</version.gpg.plugin>
    <version.install.plugin>3.0.0-M1</version.install.plugin>
    <version.jar.plugin>3.1.1</version.jar.plugin>
    <version.javancss.plugin>2.1</version.javancss.plugin>
    <version.javadoc.plugin>3.0.1</version.javadoc.plugin>
    <version.jdepend.plugin>2.0</version.jdepend.plugin>
    <version.jxr.plugin>3.0.0</version.jxr.plugin>
    <version.model.plugin>3.6.0</version.model.plugin>
    <version.plexus.utils>3.1.1</version.plexus.utils>
    <version.plugin.plugin>3.6.0</version.plugin.plugin>
    <version.pmd.plugin>3.11.0</version.pmd.plugin>
    <version.project.plugin>3.0-alpha-2</version.project.plugin>
    <version.project.info.report.plugin>3.0.0</version.project.info.report.plugin>
    <version.rat.maven.plugin>1.0-alpha-3</version.rat.maven.plugin>
    <version.release.plugin>2.5.3</version.release.plugin>
    <version.remote.resources.plugin>1.6.0</version.remote.resources.plugin>
    <version.resources.plugin>3.1.0</version.resources.plugin>
    <version.scm.plugin>1.9.5</version.scm.plugin>
    <version.site.plugin>3.7.1</version.site.plugin>
    <version.source.plugin>3.0.1</version.source.plugin>
    <version.shade.plugin>3.2.1</version.shade.plugin>
    <version.surefire.plugin>3.0.0-M3</version.surefire.plugin>
    <version.surfire.report.plugin>3.0.0-M3</version.surfire.report.plugin>
    <version.taglist.plugin>2.4</version.taglist.plugin>
    <version.tools.maven.plugin>1.4</version.tools.maven.plugin>
    <version.versions.plugin>2.7</version.versions.plugin>
    <version.xbean.plugin>4.12</version.xbean.plugin>

    <!-- Jars -->
    <version.easymock>2.5.2</version.easymock>
    <version.jboss.javassist>3.8.0.GA</version.jboss.javassist>
    <version.jdom>1.0</version.jdom>
    <version.jmock>1.2.0</version.jmock>
    <version.junit>4.12</version.junit>
    <version.jzlib>1.1.3</version.jzlib>
    <version.log4j>1.2.17</version.log4j>
    <version.ognl>3.2.10</version.ognl>
    <version.pmd>4.3</version.pmd>
    <version.rmock>2.0.2</version.rmock>
    <version.slf4j.api>1.7.26</version.slf4j.api>
    <version.slf4j.log4j12>1.7.26</version.slf4j.log4j12>
    <version.slf4j.jcl.over.slf4j>1.7.26</version.slf4j.jcl.over.slf4j>
    <version.springframework>2.5.6.SEC03</version.springframework>
    <version.tomcat.jni>9.0.16</version.tomcat.jni>
    <version.xbean.spring>4.12</version.xbean.spring>

    <!-- OSGi minimum versions -->
    <osgi-min-version.slf4j.api>1.7</osgi-min-version.slf4j.api>
  </properties>

  <modules>
    <module>mina-legal</module>
    <module>mina-core</module>
    <module>mina-transport-apr</module>
    <module>mina-filter-compression</module>
    <module>mina-statemachine</module>
    <module>mina-integration-beans</module>
    <module>mina-integration-xbean</module>
    <module>mina-integration-ognl</module>
    <module>mina-integration-jmx</module>
    <module>mina-example</module>
    <module>mina-http</module>
    <!--module>mina-benchmarks</module-->
  </modules>

  <!-- =========================================== -->
  <!-- The dependencies for all the projects       -->
  <!-- =========================================== -->
  <dependencyManagement>
    <dependencies>
      <!-- Submodules -->
      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-core</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-transport-apr</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-filter-compression</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-integration-beans</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-integration-ognl</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-integration-jmx</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>mina-statemachine</artifactId>
        <version>${project.version}</version>
        <type>bundle</type>
      </dependency>

      <!-- Transport -->
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jni</artifactId>
        <version>${version.tomcat.jni}</version>
      </dependency>

      <!-- Filter -->
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jzlib</artifactId>
        <version>${version.jzlib}</version>
      </dependency>

      <!-- Integration -->

      <dependency>
        <groupId>org.apache.xbean</groupId>
        <artifactId>xbean-spring</artifactId>
        <version>${version.xbean.spring}</version>
      </dependency>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>${version.springframework}</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>${version.ognl}</version>
      </dependency>

      <dependency>
        <groupId>jboss</groupId>
        <artifactId>javassist</artifactId>
        <version>${version.jboss.javassist}</version>
      </dependency>

      <dependency>
        <groupId>jdom</groupId>
        <artifactId>jdom</artifactId>
        <version>${version.jdom}</version>
        <optional>true</optional>
      </dependency>

      <dependency>
        <groupId>jmock</groupId>
        <artifactId>jmock</artifactId>
        <version>${version.jmock}</version>
        <optional>true</optional>
      </dependency>

      <dependency>
        <groupId>pmd</groupId>
        <artifactId>pmd</artifactId>
        <version>${version.pmd}</version>
      </dependency>

      <!-- Logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.slf4j.api}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${version.slf4j.jcl.over.slf4j}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${version.slf4j.log4j12}</version>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${version.log4j}</version>
      </dependency>

      <!-- Testing -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${version.junit}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>${version.easymock}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.agical.rmock</groupId>
        <artifactId>rmock</artifactId>
        <version>${version.rmock}</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <!-- ==================================== -->
  <!-- Common dependencies for all projects -->
  <!-- ==================================== -->
  <dependencies>
    <!-- common logging interface -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>

    <!-- logging implementation used for unit tests -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>serial</id>
      <activation>
        <property>
          <name>with-LGPL-dependencies</name>
        </property>
      </activation>
      <modules>
        <module>mina-transport-serial</module>
      </modules>
    </profile>

    <profile>
      <id>apache-release</id>

      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <phase>install</phase>

                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <aggregate>true</aggregate>
                  <!-- additionalparam>-Xdoclint:none</additionalparam -->
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      
      <modules>
        <module>distribution</module>
      </modules>
    </profile>

  </profiles>
  
  <build>
    <!-- =======================  WARNING ========================== -->
    <!-- Only put pluginManagement info in this pom for plugins      -->
    <!-- shared among shared, apacheds, and studio subprojects       -->
    <!-- dependencyManagement is likely to change too quickly to be  -->
    <!-- useful in this pom                                          -->
    <!-- =======================  WARNING ========================== -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${version.assembly.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-changes-plugin</artifactId>
          <version>${version.changes.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${version.checkstyle.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${version.clean.plugin}</version>
        </plugin>


        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${version.compiler.plugin}</version>
          <configuration>
            <source>1.7</source>
            <target>1.7</target>
            <optimize>true</optimize>
            <showDeprecations>true</showDeprecations>
            <encoding>ISO-8859-1</encoding>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${version.dependency.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${version.deploy.plugin}</version>
          <inherited>true</inherited>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-docck-plugin</artifactId>
          <version>${version.docck.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>${version.eclipse.plugin}</version>
          <inherited>true</inherited>
          <configuration>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>true</downloadJavadocs>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${version.enforcer.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>${version.gpg.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>${version.install.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${version.jar.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${version.javadoc.plugin}</version>
          <configuration>
            <tags>
              <tag>
                <name>org.apache.xbean.XBean</name>
                <placement>t</placement>
                <head />
              </tag>
              <tag>
                <name>org.apache.xbean.Property</name>
                <placement>m</placement>
                <head />
              </tag>
              <tag>
                <name>org.apache.xbean.FactoryMethod</name>
                <placement>m</placement>
                <head />
              </tag>
              <tag>
                <name>org.apache.xbean.DestroyMethod</name>
                <placement>m</placement>
                <head />
              </tag>
            </tags>
            <!-- additionalparam>-Xdoclint:none</additionalparam -->
         </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jxr-plugin</artifactId>
          <version>${version.jxr.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${version.plugin.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>${version.pmd.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>${version.project.info.report.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>${version.release.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>${version.remote.resources.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${version.resources.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-plugin</artifactId>
          <version>${version.scm.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>${version.site.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>${version.source.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>${version.surfire.report.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${version.surefire.plugin}</version>
          <configuration>
            <argLine>-Xmx1024m</argLine>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${version.bundle.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.geronimo.genesis.plugins</groupId>
          <artifactId>tools-maven-plugin</artifactId>
          <version>${version.tools.maven.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>${version.apache.rat.plugin}</version>
          <inherited>true</inherited>
          <configuration>
            <excludeSubProjects>false</excludeSubProjects>
            <excludes>
              <!-- project excludes -->
              <exclude>**/resources/svn_ignore.txt</exclude>
              <exclude>**/resources/Reveal in Finder.launch</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/.classpath</exclude>
              <exclude>**/.project</exclude>
              <exclude>**/.settings/**</exclude>
              <exclude>**/LICENSE.*</exclude>
              <exclude>**/NOTICE-bin.txt</exclude>
              <exclude>**/resources/**</exclude>
            </excludes>
          </configuration>
          <executions>
            <execution>
              <phase>verify</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <groupId>org.apache.xbean</groupId>
          <artifactId>maven-xbean-plugin</artifactId>
          <version>${version.xbean.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>${version.build.helper.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>clirr-maven-plugin</artifactId>
          <version>${version.clirr.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${version.cobertura.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>dashboard-maven-plugin</artifactId>
          <version>${version.dashboard.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${version.findbugs.plugin}</version>
          <configuration>
            <xmlOutput>false</xmlOutput>
            <!--
              <xmlOutput>true|false</xmlOutput>
              <xmlOutputDirectory>directory location of xml findbugs report</xmlOutputDirectory>
              <threshold>High|Normal|Low|Exp|Ignore</threshold>
              <effort>Min|Default|Max</effort>
              <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
              <includeFilterFile>findbugs-include.xml</includeFilterFile>
              <visitors>FindDeadLocalStores,UnreadFields</visitors>
              <omitVisitors>FindDeadLocalStores,UnreadFields</omitVisitors>
              <onlyAnalyze>org.codehaus.mojo.findbugs.*</onlyAnalyze>
              <pluginList>/libs/fb-contrib/fb-contrib-2.8.0.jar</pluginList>
              <debug>true|false</debug>
              <relaxed>true|false</relaxed>
            -->
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>javancss-maven-plugin</artifactId>
          <version>${version.javancss.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jdepend-maven-plugin</artifactId>
          <version>${version.jdepend.plugin}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>taglist-maven-plugin</artifactId>
          <version>${version.taglist.plugin}</version>
          <configuration>
            <tags>
              <tag>TODO</tag>
              <tag>@todo</tag>
              <tag>@deprecated</tag>
              <tag>FIXME</tag>
            </tags>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>versions-maven-plugin</artifactId>
          <version>${version.versions.plugin}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${version.compiler.plugin}</version>
        <configuration>
          <encoding>UTF-8</encoding>
          <source>1.7</source>
          <target>1.7</target>
          <debug>true</debug>
          <optimize>true</optimize>
          <showDeprecations>true</showDeprecations>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${version.surefire.plugin}</version>
      </plugin>

      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>${version.source.plugin}</version>
        <executions>
          <execution>
            <id>attach-source</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <preparationGoals>clean install</preparationGoals>
          <goals>clean deploy</goals>
          <mavenExecutorId>forked-path</mavenExecutorId>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tagNameFormat>@{project.version}</tagNameFormat>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${version.bundle.plugin}</version>
        <inherited>true</inherited>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${symbolicName}</Bundle-SymbolicName>
            <Export-Package>${exportedPackage}.*;version=${project.version}</Export-Package>
          </instructions>
        </configuration>
      </plugin>
    
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <dependencies>
          <!-- Add support for 'scp'/'sftp' -->
          <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>3.3.2</version>
          </dependency>

          <!-- Add support for 'scpexe' -->
          <dependency>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
            <version>3.3.2</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${version.javadoc.plugin}</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>${version.jxr.plugin}</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>${version.rat.maven.plugin}</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>

