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

<!--
  ~ 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-parent</artifactId>
    <version>21</version>
  </parent>

  <groupId>org.apache.maven.scm</groupId>
  <artifactId>maven-scm</artifactId>
  <version>1.7-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Maven SCM</name>
  <description>Maven SCM provides a common API for doing SCM operations.</description>
  <url>${siteUrl}</url>
  <inceptionYear>2003</inceptionYear>

  <properties>
    <siteDeployUrl>scp://people.apache.org/www/maven.apache.org/scm/</siteDeployUrl>
    <siteUrl>http://maven.apache.org/scm/</siteUrl>
  </properties>

  <mailingLists>
    <mailingList>
      <name>Maven Developer List</name>
      <subscribe>dev-subscribe@maven.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
      <post>dev@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
        <otherArchive>http://old.nabble.com/Maven-Developers-f179.html</otherArchive>
        <otherArchive>http://maven.dev.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Maven User List</name>
      <subscribe>users-subscribe@maven.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
      <post>users@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
        <otherArchive>http://old.nabble.com/Maven---Users-f178.html</otherArchive>
        <otherArchive>http://maven.users.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>LEGACY SCM Developer List</name>
      <subscribe>scm-dev-subscribe@maven.apache.org</subscribe>
      <unsubscribe>scm-dev-unsubscribe@maven.apache.org</unsubscribe>
      <post>scm-dev@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-scm-dev</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/scm-dev@maven.apache.org</otherArchive>
        <otherArchive>http://maven.scm.dev.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>LEGACY SCM User List</name>
      <subscribe>scm-users-subscribe@maven.apache.org</subscribe>
      <unsubscribe>scm-users-unsubscribe@maven.apache.org</unsubscribe>
      <post>scm-users@maven.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-scm-users</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/scm-users@maven.apache.org</otherArchive>
        <otherArchive>http://maven.scm.users.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>SCM Commits List</name>
      <subscribe>scm-commits-subscribe@maven.apache.org</subscribe>
      <unsubscribe>scm-commits-unsubscribe@maven.apache.org</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/maven-scm-commits</archive>
      <otherArchives>
        <otherArchive>http://www.mail-archive.com/scm-commits@maven.apache.org</otherArchive>
        <otherArchive>http://maven.scm.commits.markmail.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <prerequisites>
    <maven>2.0.6</maven>
  </prerequisites>

  <modules>
    <module>maven-scm-api</module>
    <module>maven-scm-managers</module>
    <module>maven-scm-test</module>
    <module>maven-scm-providers</module>
    <module>maven-scm-client</module>
    <module>maven-scm-plugin</module>
  </modules>

  <scm>
    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/scm/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/scm/trunk</developerConnection>
    <url>http://svn.apache.org/viewvc/maven/scm/</url>
  </scm>

  <issueManagement>
    <system>jira</system>
    <url>http://jira.codehaus.org/browse/SCM</url>
  </issueManagement>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/hudson/job/maven-scm/</url>
  </ciManagement>


  <distributionManagement>
    <site>
      <id>apache.website</id>
      <url>${siteDeployUrl}</url>
    </site>
  </distributionManagement>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-api</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-manager-plexus</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- providers declaration -->
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-accurev</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-bazaar</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-clearcase</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvs-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvsexe</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvsjava</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-git-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-gitexe</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-hg</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-integrity</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-local</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-perforce</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-starteam</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-svn-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-svnexe</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-synergy</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-vss</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-tfs</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-jazz</artifactId>
        <version>${project.version}</version>
      </dependency>
      <!-- end providers declaration -->

      <!-- Plexus -->
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-container-default</artifactId>
        <version>1.0-alpha-9</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>2.0.5</version>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
      </dependency>

      <!-- Test -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-svntest</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-test</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-cvstest</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.scm</groupId>
        <artifactId>maven-scm-provider-gittest</artifactId>
        <version>${project.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
    </dependency>
  </dependencies>

  <build>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-maven-plugin</artifactId>
          <version>1.3.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <configuration>
            <tagBase>https://svn.apache.org/repos/asf/maven/scm/tags</tagBase>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.modello</groupId>
          <artifactId>modello-maven-plugin</artifactId>
          <version>1.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.8.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.2</version>
          <configuration>
            <source>1.5</source>
            <target>1.5</target>
          </configuration>
        </plugin>        
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>2.4.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>2.12</version>
        </plugin>             
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>animal-sniffer-maven-plugin</artifactId>
        <version>1.7</version>
        <configuration>
          <signature>
            <groupId>org.codehaus.mojo.signature</groupId>
            <artifactId>java15</artifactId>
            <version>1.0</version>
          </signature>
        </configuration>
        <executions>
          <execution>
            <id>check-java-1.5-compat</id>
            <phase>process-classes</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

  </build>

  <profiles>

    <profile>
      <id>reporting-aggregate</id>
      <modules />
      <!-- To generate aggregate reports -->
      <!-- To deploy both aggregate reports for top-level project and standalone reports for modules, call
           mvn site -Preporting
           mvn site:deploy
           mvn site -Preporting-aggregate
           mvn -N site:deploy
      -->
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.8</version>
            <inherited>false</inherited>
            <reportSets>
              <reportSet>
                <reports>
                  <report>checkstyle-aggregate</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.1</version>
            <configuration>
              <aggregate>true</aggregate>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.8</version>
            <configuration>
              <links>
                <link>http://java.sun.com/j2se/1.4.2/docs/api</link>
                <link>http://java.sun.com/j2ee/1.4/docs/api</link>
                <link>http://java.sun.com/j2se/1.5.0/docs/api</link>
                <link>http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/</link>
                <link>http://commons.apache.org/dbcp/apidocs/</link>
                <link>http://commons.apache.org/fileupload/apidocs/</link>
                <link>http://commons.apache.org/httpclient/apidocs/</link>
                <link>http://commons.apache.org/logging/apidocs/</link>
                <link>http://commons.apache.org/pool/apidocs/</link>
                <link>http://junit.sourceforge.net/javadoc/</link>
                <link>http://logging.apache.org/log4j/1.2/apidocs/</link>
                <link>http://jakarta.apache.org/regexp/apidocs/</link>
                <link>http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/</link>
              </links>
              <aggregate>true</aggregate>
            </configuration>
          </plugin>
        </plugins>
      </reporting>
    </profile>

    <profile>
      <id>rat</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.rat</groupId>
            <artifactId>apache-rat-plugin</artifactId>
            <configuration>
              <excludes>
                <exclude>.gitignore</exclude>
                <exclude>DEPENDENCIES</exclude>
                <exclude>README.txt</exclude>
                <exclude>*.sh</exclude>
                <exclude>.git/**</exclude>
                <exclude>.idea/**</exclude>
                <exclude>**/generated-sources/**</exclude>
                <exclude>**/.gitattributes</exclude>
                <exclude>src/main/resources/repository/**</exclude>
                <exclude>**/src/main/resources/tck-repository/**</exclude>
                <exclude>src/test/resources/**</exclude>
                <exclude>src/test/repository/**</exclude>
                <exclude>src/test/tck-repository/**</exclude>
                <exclude>src/main/resources/tck/**</exclude>
                <exclude>.repository/**</exclude><!-- for CI -->
              </excludes>
            </configuration>
            <executions>
              <execution>
                <id>rat-check</id>
                <goals>
                  <goal>check</goal>
                </goals>
                <phase>verify</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

  </profiles>
  
  <repositories>
    <repository>
      <id>apache.snapshots</id>
      <url>https://repository.apache.org/content/groups/snapshots-group/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>  
  
</project>
