<!--

   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>3</version>
  </parent>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-parent</artifactId>
  <packaging>pom</packaging>
  <!-- TODO: dummy version. In Maven 2.1, this will be auto-versioned being a generic parent -->
  <version>2</version>
  <name>Jakarta Commons</name>
  <url>http://jakarta.apache.org/commons/</url>
  <inceptionYear>2001</inceptionYear>

  <!-- We don't use Continuum yet -->
  <!--
  <ciManagement>
    <system>continuum</system>
    <notifiers>
      <notifier>
        <configuration>
          <address>commons-dev@jakarta.apache.org</address>
        </configuration>
      </notifier>
    </notifiers>
  </ciManagement>
  -->

  <distributionManagement>

   <!--
     This POM's parent POM (the Apache root POM) provides repositories. Unfortunately,
     this allows for accidental deployments. So we disable them here by providing
     a dummy repository. Use "mvn -Prc deploy" (Apache snapshot repository) or
     "mvn -Prelease deploy" (Apache release repository), if you really want to deploy.
   -->
   <repository>
     <id>dummy</id>
     <name>Dummy to avoid accidental deploys</name>
     <url />
   </repository>
  </distributionManagement>

  <!--
    This section *must* be overwritten by subprojects. It is only to allow
    a release of the commons-parent POM.
  -->
  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-parent/tags/commons-parent-2</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/jakarta/commons/proper/commons-parent/tags/commons-parent-2</developerConnection>
    <url>http://svn.apache.org/viewvc/jakarta/commons/proper/commons-parent/tags/commons-parent-2</url>
  </scm>

  <mailingLists>
    <mailingList>
      <name>Commons Dev List</name>
      <subscribe>commons-dev-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>commons-dev-unsubscribe@jakarta.apache.org</unsubscribe>
      <post>commons-dev@jakarta.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/commons-dev@jakarta.apache.org/</otherArchive>
        <otherArchive>http://www.nabble.com/Commons---Dev-f317.html</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Commons User List</name>
      <subscribe>commons-user-subscribe@jakarta.apache.org</subscribe>
      <unsubscribe>commons-user-unsubscribe@jakarta.apache.org</unsubscribe>
      <post>commons-user@jakarta.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-commons-user</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/commons-user@jakarta.apache.org/</otherArchive>
        <otherArchive>http://www.nabble.com/Commons---User-f319.html</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>1.0-alpha-1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <!-- TODO: later use toolchain support to do compilation on an external JDK 1.3+ compiler -->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>${maven.compile.source}</source>
          <target>${maven.compile.target}</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Specification-Title>${project.name}</Specification-Title>
              <Specification-Version>${project.version}</Specification-Version>
              <Specification-Vendor>${project.organization.name}</Specification-Vendor>
              <Implementation-Title>${project.name}</Implementation-Title>
              <Implementation-Version>${project.version}</Implementation-Version>
              <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
              <Implementation-Vendor-Id>org.apache</Implementation-Vendor-Id>
              <X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
              <X-Compile-Target-JDK>${maven.compile.source}</X-Compile-Target-JDK>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-idea-plugin</artifactId>
        <configuration>
          <jdkLevel>${maven.compile.source}</jdkLevel>
        </configuration>
      </plugin>
      <plugin>
            <!-- This should possibly better be done by using a resource
                 definition. However, if we declare a resource with
                 ${basedir} as the base directory, then the
                 maven-source-plugin will add the whole directory to
                 its contents when generating a "sources" jar.

                 see http://jira.codehaus.org/browse/MSOURCES-6
            -->
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <configuration>
              <tasks>
                <copy todir="${project.build.outputDirectory}/META-INF">
                  <fileset dir="${basedir}">
                    <include name="LICENSE.txt" />
                    <include name="NOTICE.txt" />
                  </fileset>
                </copy>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration> 
          <aggregate>true</aggregate>
        </configuration> 
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <configuration> 
          <aggregate>true</aggregate>
        </configuration> 
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <configuration>
          <!-- Exclude the navigation file for Maven 1 sites
               and the changes file used by the changes-plugin,
               as they interfere with the site generation. -->
          <moduleExcludes>
            <xdoc>navigation.xml,changes.xml</xdoc>
          </moduleExcludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>2.0-beta-1</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>rat-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>

  <profiles>
    <profile>
      <id>release</id>
      <distributionManagement>
        <repository>
          <id>apache.releases</id>
          <name>Apache Release Distribution Repository</name>
          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</url>
        </repository>
      </distributionManagement>
      <build>
        <plugins>
          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>create-source-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>create-javadoc-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <source>${maven.compile.source}</source>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>rc</id>
      <distributionManagement>
        <repository>
          <id>apache.snapshots</id>
          <name>Apache Development Snapshot Repository</name>
          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
        </repository>
        <snapshotRepository>
          <id>apache.snapshots</id>
          <name>Apache Development Snapshot Repository</name>
          <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository</url>
        </snapshotRepository>
      </distributionManagement>
      <build>
        <plugins>
          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>create-source-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>create-javadoc-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <source>${maven.compile.source}</source>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <properties>

    <!-- Default configuration for compiler source and target JVM -->
    <maven.compile.source>1.3</maven.compile.source>
    <maven.compile.target>1.3</maven.compile.target>

    <!--
      Make the deployment protocol pluggable. This allows to switch to
      other protocols like scpexe, which some users prefer over scp.
    -->
    <commons.deployment.protocol>scp</commons.deployment.protocol>

  </properties>

</project>
