<?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.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.1.0 http://maven.apache.org/maven-v4.1.0.xsd">
  <modelVersion>4.1.0</modelVersion>

 <!--

   Requires the Maven 2.0.9-terse branch build to build!

 -->

  <parent groupId="org.apache.maven.archiva" artifactId="archiva-parent" version="2"
          relativePath="../archiva-parent/pom.xml"/>
  <name>Archiva</name>
  <artifactId>archiva</artifactId>
  <packaging>pom</packaging>
  <version>1.1-SNAPSHOT</version>
  <scm connection="scm:svn:http://svn.apache.org/repos/asf/archiva/trunk"
       developerConnection="scm:svn:https://svn.apache.org/repos/asf/archiva/trunk"
       url="http://svn.apache.org/viewcvs.cgi/archiva/trunk"/>

  <url>http://maven.apache.org/archiva/</url>
  <build>
    <plugins>
      <plugin groupId="org.codehaus.plexus" artifactId="plexus-maven-plugin" version="1.3.5">
        <executions>
          <execution id="generate">
            <goals>
              <goal>descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- Doesn't work on Mac with Java 6 yet
            <plugin>
              <artifactId>maven-enforcer-plugin</artifactId>
              <executions>
                <execution>
                  <id>enforce-java</id>
                  <goals>
                    <goal>enforce-once</goal>
                  </goals>
                  <configuration>
                    <rules>
                      <requireJavaVersion>
                        <version>1.5.0</version>
                      </requireJavaVersion>
                    </rules>
                  </configuration>
                </execution>
              </executions>
            </plugin>
      -->
      <plugin artifactId="maven-compiler-plugin">
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
      <plugin artifactId="maven-idea-plugin">
        <configuration>
          <jdkLevel>1.5</jdkLevel>
        </configuration>
      </plugin>
      <plugin artifactId="maven-surefire-plugin" version="2.2"/>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-remote-resources-plugin" version="1.0-alpha-6">
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <resourceBundles>
                <resourceBundle>org.apache:apache-jar-resource-bundle:1.3</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin artifactId="maven-idea-plugin">
          <configuration>
            <jdkLevel>1.4</jdkLevel>
          </configuration>
        </plugin>
        <plugin artifactId="maven-release-plugin">
          <configuration>
            <tagBase>https://svn.apache.org/repos/asf/archiva/tags</tagBase>
            <preparationGoals>clean install</preparationGoals>
          </configuration>
        </plugin>
        <plugin groupId="org.codehaus.modello" artifactId="modello-maven-plugin" version="1.0-alpha-15"/>
      </plugins>
    </pluginManagement>
  </build>
  <modules>
    <module>archiva-base</module>
    <module>archiva-database</module>
    <module>archiva-reporting</module>
    <module>archiva-scheduled</module>
    <module>archiva-web</module>
    <module>archiva-cli</module>
    <module>archiva-docs</module>
  </modules>
  <dependencies>
    <dependency groupId="junit" artifactId="junit" version="3.8.1" scope="test"/>
    <dependency groupId="easymock" artifactId="easymock" version="1.2_Java1.3" scope="test"/>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency groupId="javax.activation" artifactId="activation" version="1.1"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-applet" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-artifact-converter" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-artifact-reports" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-common" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-configuration" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-consumer-api" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-converter" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-dependency-graph" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-core" version="${pom.version}"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-core-consumers" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-database" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-database-consumers" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-indexer" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-lucene-consumers" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-model" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-plexus-application" version="1.1-SNAPSHOT"
                  type="plexus-application"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-policies" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-proxy" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-report-manager" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-repository-layer" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-scheduled" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-security" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-signature-consumers" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-transaction" version="1.1-SNAPSHOT"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-docs" version="1.1-SNAPSHOT" type="zip"
                  classifier="docs"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-webapp" version="1.1-SNAPSHOT" type="war"/>
      <dependency groupId="org.apache.maven.archiva" artifactId="archiva-xml-tools" version="1.1-SNAPSHOT"/>
      <dependency groupId="commons-collections" artifactId="commons-collections" version="3.2"/>
      <dependency groupId="commons-io" artifactId="commons-io" version="1.2"/>
      <dependency groupId="commons-lang" artifactId="commons-lang" version="2.2"/>
      <dependency groupId="commons-logging" artifactId="commons-logging-api" version="1.0.4"/>
      <dependency groupId="org.apache.derby" artifactId="derby" version="10.1.3.1"/>
      <dependency groupId="org.apache.derby" artifactId="derbytools" version="10.1.3.1"/>
      <dependency groupId="dom4j" artifactId="dom4j" version="1.6.1"/>
      <dependency groupId="hsqldb" artifactId="hsqldb" version="1.8.0.7"/>
      <dependency groupId="jaxen" artifactId="jaxen" version="1.1">
        <exclusions>
          <exclusion groupId="xerces" artifactId="xercesImpl"/>
        </exclusions>
      </dependency>
      <dependency groupId="javax.jdo" artifactId="jdo2-api" version="2.0"/>
      <dependency groupId="jdom" artifactId="jdom" version="1.0"/>
      <dependency groupId="jpox" artifactId="jpox" version="1.1.9">
        <exclusions>
          <exclusion groupId="javax.transaction" artifactId="jta"/>
        </exclusions>
      </dependency>
      <dependency groupId="javax.servlet" artifactId="jsp-api" version="2.0" scope="provided"/>
      <dependency groupId="javax.servlet" artifactId="jstl" version="1.1.2"/>
      <dependency groupId="log4j" artifactId="log4j" version="1.2.8"/>
      <dependency groupId="org.apache.lucene" artifactId="lucene-core" version="2.0.0"/>
      <dependency groupId="javax.mail" artifactId="mail" version="1.4"/>
      <dependency groupId="org.apache.maven" artifactId="maven-artifact" version="${maven.version}"/>
      <dependency groupId="org.apache.maven" artifactId="maven-artifact-manager" version="${maven.version}"/>
      <dependency groupId="org.apache.maven" artifactId="maven-model" version="${maven.version}"/>
      <dependency groupId="org.apache.maven" artifactId="maven-project" version="${maven.version}"/>
      <dependency groupId="org.apache.maven" artifactId="maven-repository-metadata" version="${maven.version}"/>
      <dependency groupId="org.apache.maven.shared" artifactId="maven-app-configuration-model" version="1.0"/>
      <dependency groupId="org.apache.maven.shared" artifactId="maven-app-configuration-web" version="1.0">
        <exclusions>
          <exclusion groupId="org.apache.maven.wagon" artifactId="wagon-http-lightweight"/>
        </exclusions>
      </dependency>
      <dependency groupId="org.apache.maven.shared" artifactId="maven-model-converter" version="2.1"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-appserver-host" version="2.0-alpha-8"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-appserver-service-jetty" version="2.0-alpha-8"
                  type="plexus-service"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-cli" version="1.1"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-command-line" version="1.0-alpha-2"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-component-api" version="1.0-alpha-22"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-container-default" version="1.0-alpha-22"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-digest" version="1.1"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-expression-evaluator" version="1.0-rc1"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-i18n" version="1.0-beta-6"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-jdo2" version="1.0-alpha-8"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-naming" version="1.0-alpha-3"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-quartz" version="1.0-alpha-3"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-slf4j-logging" version="1.1-alpha-1">
        <exclusions>
          <exclusion groupId="org.slf4j" artifactId="slf4j-simple"/>
        </exclusions>
      </dependency>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-taskqueue" version="1.0-alpha-6"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-utils" version="1.4"/>
      <dependency groupId="org.codehaus.plexus" artifactId="plexus-xwork-integration" version="1.0-alpha-7">
        <exclusions>
          <exclusion groupId="velocity" artifactId="velocity-dep"/>
        </exclusions>
      </dependency>
      <dependency groupId="org.codehaus.plexus.cache" artifactId="plexus-cache-api" version="1.0-alpha-2"/>
      <dependency groupId="org.codehaus.plexus.cache" artifactId="plexus-cache-ehcache" version="1.0-alpha-2"/>
      <dependency groupId="net.sf.ehcache" artifactId="ehcache" version="1.3.0"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-rbac-memory" version="${redback.version}"
                  scope="test"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-users-memory" version="${redback.version}"
                  scope="test"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-keys-memory" version="${redback.version}"
                  scope="test"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-rbac-model" version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-authorization-rbac"
                  version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-rbac-role-manager"
                  version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-system" version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-taglib" version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-xwork-content" version="${redback.version}"
                  type="war">
        <exclusions>
          <exclusion groupId="classworlds" artifactId="classworlds"/>
        </exclusions>
      </dependency>
      <dependency groupId="org.codehaus.plexus.redback" artifactId="redback-xwork-integration"
                  version="${redback.version}"/>
      <dependency groupId="org.codehaus.plexus.registry" artifactId="plexus-registry-api" version="1.0-alpha-2"/>
      <dependency groupId="org.codehaus.plexus.registry" artifactId="plexus-registry-commons" version="1.0-alpha-2">
        <exclusions>
          <exclusion groupId="ant" artifactId="ant-optional"/>
          <exclusion groupId="jdom" artifactId="jdom"/>
          <exclusion groupId="commons-logging" artifactId="commons-logging-api"/>
        </exclusions>
      </dependency>
      <dependency groupId="org.codehaus.plexus.webdav" artifactId="plexus-webdav-simple" version="1.0-beta-2"/>
      <dependency groupId="org.codehaus.plexus.webdav" artifactId="plexus-webdav-api" version="1.0-beta-2"/>
      <dependency groupId="javax.servlet" artifactId="servlet-api" version="2.4"/>
      <dependency groupId="opensymphony" artifactId="sitemesh" version="2.2.1"/>
      <dependency groupId="org.slf4j" artifactId="slf4j-log4j12" version="1.2"/>
      <dependency groupId="taglibs" artifactId="standard" version="1.1.2"/>
      <dependency groupId="org.apache.maven.wagon" artifactId="wagon-file" version="${wagon.version}"/>
      <dependency groupId="org.apache.maven.wagon" artifactId="wagon-http" version="${wagon.version}"/>
      <dependency groupId="org.apache.maven.wagon" artifactId="wagon-provider-api" version="${wagon.version}"/>
      <dependency groupId="org.apache.maven.wagon" artifactId="wagon-ssh" version="${wagon.version}"/>
      <dependency groupId="com.opensymphony" artifactId="webwork" version="2.2.6"/>
      <dependency groupId="xmlunit" artifactId="xmlunit" version="1.0"/>
    </dependencies>
  </dependencyManagement>
  <reporting>
    <plugins>
      <plugin groupId="org.codehaus.mojo" artifactId="cobertura-maven-plugin" version="2.2"/>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-checkstyle-plugin" version="2.1">
        <configuration>
          <configLocation>config/maven_checks.xml</configLocation>
        </configuration>
      </plugin>
      <!-- TODO: OOME
            <plugin groupId="org.codehaus.mojo" artifactId="findbugs-maven-plugin" version="1.1.1">
            </plugin>
      -->
      <plugin groupId="org.codehaus.mojo" artifactId="changelog-maven-plugin"/>
      <plugin groupId="org.codehaus.mojo" artifactId="taglist-maven-plugin"/>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-jxr-plugin">
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-surefire-report-plugin"/>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-javadoc-plugin">
        <configuration>
          <source>1.5</source>
          <aggregate>true</aggregate>
          <doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
          <docletArtifact>
            <groupId>gr.spinellis</groupId>
            <artifactId>UmlGraph</artifactId>
            <version>4.6</version>
          </docletArtifact>
          <additionalparam>
            -inferrel -inferdep -quiet -hide java.*
            -collpackages java.util.* -qualify
            -postfixpackage -nodefontsize 9
            -nodefontpackagesize 7
          </additionalparam>
        </configuration>
      </plugin>
      <plugin groupId="org.apache.maven.plugins" artifactId="maven-pmd-plugin">
        <!-- TODO: choose appropriate rulesets -->
        <configuration>
          <targetJdk>1.5</targetJdk>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile id="ci">
      <activation>
        <property name="enableCiProfile" value="true"/>
      </activation>
      <build>
        <plugins>
          <plugin groupId="org.apache.maven.plugins" artifactId="maven-pmd-plugin">
            <executions>
              <execution phase="process-sources">
                <goals>
                  <!-- TODO: after rules are set
                              <goal>check</goal>
                           -->
                  <goal>cpd-check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin groupId="org.apache.maven.plugins" artifactId="maven-checkstyle-plugin">
            <executions>
              <execution phase="process-sources">
                <goals>
                  <!-- TODO: reformat first, and correct the checks (some are not consistent with the Maven style)
                              <goal>check</goal>
                           -->
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin groupId="org.codehaus.mojo" artifactId="cobertura-maven-plugin" version="2.2">
            <configuration>
              <check>
                <!-- TODO: raise to 85/100 -->
                <totalLineRate>77</totalLineRate>
                <totalBranchRate>95</totalBranchRate>
              </check>
              <instrumentation>
                <excludes>
                  <exclude>**/*$*</exclude>
                </excludes>
              </instrumentation>
            </configuration>
            <executions>
              <execution id="clean">
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
              <execution id="check">
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile id="release">
      <build>
        <plugins>
          <!-- TODO:  Remove after maven-parent v6 is released -->
          <plugin groupId="org.apache.maven.plugins" artifactId="maven-gpg-plugin" version="1.0-alpha-3"/>
          <plugin groupId="org.apache.maven.plugins" artifactId="maven-assembly-plugin" version="2.1" inherited="false">
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/src.xml</descriptor>
              </descriptors>
              <tarLongFileMode>gnu</tarLongFileMode>
              <appendAssemblyId>false</appendAssemblyId>
              <finalName>apache-archiva-${project.version}-src</finalName>
            </configuration>
            <executions>
              <execution id="make-assembly" phase="package">
                <goals>
                  <goal>single</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <properties>
    <maven.version>2.0.5</maven.version>
    <wagon.version>1.0-rc1-SNAPSHOT</wagon.version>
    <redback.version>1.0-alpha-4</redback.version>
  </properties>
  <distributionManagement>
    <site id="apache.website" url="${siteBaseDeployment}/ref/${project.version}"/>
  </distributionManagement>
</project>
