<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.directory</groupId>
    <artifactId>build</artifactId>
    <version>1.0.3</version>
  </parent>
  <groupId>org.apache.directory.mina</groupId>
  <version>0.9.3</version>
  <artifactId>build</artifactId>
  <name>Apache MINA</name>
  <packaging>pom</packaging>

  <url>http://directory.apache.org/subprojects/mina/</url>

  <distributionManagement>
    <site>
      <id>apache.websites</id>
      <url>scp://minotaur.apache.org/www/directory.apache.org/subprojects/mina/</url>
    </site>
  </distributionManagement>

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

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/directory/trunks/mina</connection>
    <url>http://svn.apache.org/viewcvs.cgi/directory/trunks/mina/?root=Apache-SVN</url>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/directory/trunks/mina</developerConnection>
  </scm>

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

  <description>
    MINA (Multipurpose Infrastructure for Network Applications) is a
    network application framework which helps users develop high
    performance and highly scalable network applications easily.
  </description>

  <mailingLists>
    <mailingList>
      <name>Apache MINA Developement</name>
      <subscribe>mina-dev-subscribe@directory.apache.org</subscribe>
      <unsubscribe>mina-dev-unsubscribe@directory.apache.org</unsubscribe>
      <post>mina-dev@directory.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/directory-mina-dev/</archive>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <id>trustin</id>
      <name>Trustin Lee</name>
      <email>trustin@gmail.com</email>
      <url>http://gleamynode.net/</url>
      <organization>Chutnoon, Inc.</organization>
      <organizationUrl>http://www.1nooncorp.com/</organizationUrl>
      <roles>
        <role>Project Lead</role>
        <role>Developer</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>niklas</id>
      <name>Niklas Therning</name>
      <email>niklas@trillian.se</email>
      <url>http://therning.org/niklas/</url>
      <organization>Trillian AB</organization>
      <organizationUrl>http://www.trillian.se/</organizationUrl>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>+1</timezone>
    </developer>
    <developer>
      <id>akarasulu</id>
      <name>Alex Karasulu</name>
      <email>akarasulu@apache.org</email>
      <roles>
        <role>Developer</role>
      </roles>
      <timezone>-5</timezone>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Jan Andersson</name>
      <email>janne@minq.se</email>
    </contributor>
    <contributor>
      <name>Julien Vermillard</name>
      <email>jvermillard@archean.fr</email>
    </contributor>
    <contributor>
      <name>Vinod Panicker</name>
      <email>vinod.p@gmail.com</email>
    </contributor>
  </contributors>

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

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

  <repositories>
    <!-- For releases -->
    <!--
    <repository>
      <id>playboy.mirror</id>
      <name>Apache Repository @ Playboy</name>
      <url>http://mirrors.playboy.com/apache/maven-repository/</url>
    </repository>
    -->

    <!-- For snapshots (no release jars or non-apache jars) -->
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>http://cvs.apache.org/maven-snapshot-repository</url>
    </repository>
  </repositories>

  <profiles>
    <profile>
      <id>jdk1.5</id>
      <activation>
        <jdk>1.5</jdk>
      </activation>
      <modules>
        <module>core</module>
        <module>filter-ssl</module>
        <module>filter-codec-asn1</module>
        <module>filter-codec-netty</module>
        <module>filter-compression</module>
        <module>integration-spring</module>
        <module>examples</module>
      </modules>
    </profile>

    <profile>
      <id>jdk1.4</id>
      <activation>
        <jdk>1.4</jdk>
      </activation>
      <modules>
        <module>core</module>
        <module>filter-codec-asn1</module>
        <module>filter-codec-netty</module>
        <module>filter-compression</module>
      </modules>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <phase>validate</phase>
                <configuration>
                  <tasks>
                    <echo>
====================================================================
                       W A R N I N G
                       -------------

Build with 1.4 jvm will not include modules:
 
 o mina-filter-ssl
 o mina-integration-spring
 o mina-examples

Use JDK 1.5 to make sure these modules build.
====================================================================
                    </echo>
                  </tasks>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
      <plugin>
        <inherited>false</inherited>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>site</phase>
            <configuration>
              <tasks>
                <javadoc destdir="target/site/apidocs" author="true" use="true" windowtitle="Apache MINA API Documentation" encoding="UTF-8" docencoding="UTF-8" locale="en_US">
                  <package name="org.apache.mina.*"/>
                  <excludepackage name="**.support"/>

                  <sourcepath>
                    <dirset dir=".">
                      <include name="*/src/main/java" />
                      <exclude name="examples/**" />
                    </dirset>
                  </sourcepath>

                  <classpath refid="maven.dependency.classpath" />

                  <link href="http://java.sun.com/j2se/1.5.0/docs/api/" />
                  <link href="http://static.springframework.org/spring/docs/1.2.x/api/" />
                  <link href="http://www.slf4j.org/api/" />
                  <link href="http://gleamynode.net/dev/tl-netty2/docs/apidocs/" />
                </javadoc>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.0.1</version>
        <configuration>
          <descriptor>release.xml</descriptor>
          <finalName>mina-${pom.version}</finalName>
          <includeSite>true</includeSite>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <version>2.1</version>
      </plugin>
    </plugins>
  </build>

  <!-- <reporting>
    <plugins> -->
      <!-- This has been disabled to due license expiration issue. -->
      <!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clover-plugin</artifactId>
      </plugin> -->
      <!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
      </plugin> -->
      <!-- This is no longer needed while it cannot do 
           fully connected multi module apidocs. -->
      <!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin> -->
      <!-- <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>taglist-maven-plugin</artifactId>
      </plugin> -->
      <!-- This has been disabled due to incorrect functioning. -->
      <!-- <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jxr-maven-plugin</artifactId>
      </plugin> -->
      <!-- <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>surefire-report-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting> -->

</project>
