<?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.archiva</groupId>
    <artifactId>plugins</artifactId>
    <version>2.2.5</version>
  </parent>
  <artifactId>maven2-repository</artifactId>
  <packaging>bundle</packaging>
  <name>Archiva Core Plugins :: Maven 2.x Repository Support</name>
  <dependencies>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>metadata-model</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>metadata-model-maven2</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>metadata-repository-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-maven2-metadata</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-proxy-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-proxy-common</artifactId>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.eclipse.sisu</groupId>
      <artifactId>org.eclipse.sisu.plexus</artifactId>
    </dependency>
    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
      <classifier>no_aop</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-plexus-bridge</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model-builder</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact-manager</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-repository-metadata</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-aether-provider</artifactId>
      <version>${maven3x.version}</version>
    </dependency>

    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-impl</artifactId>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-util</artifactId>
    </dependency>
    <dependency>
      <groupId>org.sonatype.aether</groupId>
      <artifactId>aether-connector-file</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-configuration</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-maven2-model</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-provider-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.modelmapper</groupId>
      <artifactId>modelmapper</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-http</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-http-lightweight</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- TODO: aim to remove this dependency -->
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-xml-tools</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>test-repository</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-mock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.archiva</groupId>
      <artifactId>archiva-test-utils</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
    </dependency>

    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xercesImpl</artifactId>
      <scope>test</scope>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>org.apache.archiva.maven2</Bundle-SymbolicName>
            <Bundle-Version>${project.version}</Bundle-Version>
            <Export-Package>
              org.apache.archiva.dependency.tree.maven2;version=${project.version};-split-package:=merge-first,
              org.apache.archiva.metadata.repository.storage.maven2;version=${project.version};-split-package:=merge-first,
            </Export-Package>
            <Import-Package>
              !org.apache.archiva.metadata.repository.filter,
              javax.annotation,
              javax.xml.bind.annotation,
              javax.inject,
              org.apache.archiva.maven2.metadata*;version=${project.version},
              org.apache.archiva.model*;version=${project.version},
              org.apache.archiva.common*;version=${project.version},
              org.apache.archiva.checksum;version=${project.version},
              org.apache.archiva.configuration;version=${project.version},
              org.apache.archiva.metadata.model;version=${project.version},
              org.apache.archiva.metadata.repository;version=${project.version},
              org.apache.archiva.metadata.repository.filter;version=${project.version},
              org.apache.archiva.metadata.repository.storage;version=${project.version},
              org.apache.archiva.proxy.common;version=${project.version},
              org.apache.archiva.reports;version=${project.version},
              org.apache.archiva.xml;version=${project.version},
              org.apache.archiva.admin.model;version=${project.version},
              org.apache.archiva.admin.model.beans;version=${project.version},
              org.apache.archiva.admin.model.managed;version=${project.version},
              org.apache.archiva.admin.model.networkproxy;version=${project.version},
              org.apache.archiva.admin.model.proxyconnector;version=${project.version},
              org.apache.archiva.admin.model.remote;version=${project.version},
              org.apache.commons.collections;version="[3.2,4)",
              org.apache.commons.io*;version="[1.4,2)",
              org.apache.commons.configuration;version="[1.4,2)",
              org.apache.commons.lang*;version="[2.4,3)",
              org.apache.maven.artifact*,
              org.apache.maven.model*,
              org.apache.maven.wagon*,
              org.codehaus.plexus*,
              com.google.common.io,
              org.springframework*;version="[3,4)",
              org.slf4j;resolution:=optional,
              org.apache.maven.repository.internal,
              org.sonatype.aether.connector.file,
              org.sonatype.aether.impl,
              org.sonatype.aether.spi.connector,
              org.sonatype.aether.transfer,
              org.sonatype.aether,
              org.sonatype.aether.artifact,
              org.sonatype.aether.collection,
              org.sonatype.aether.graph,
              org.sonatype.aether.impl.internal,
              org.sonatype.aether.repository,
              org.sonatype.aether.util,
              org.sonatype.aether.util.artifact,
              org.modelmapper,
              org.modelmapper.config,
              org.modelmapper.convention,
              org.modelmapper.spi,
              org.apache.archiva.maven2.model,
              org.sonatype.aether.util.graph.selector,
              org.apache.archiva.metadata.model.maven2,
              org.apache.archiva.policies,
              org.apache.archiva.proxy,
              org.apache.archiva.repository,
              org.apache.archiva.repository.content,
              org.apache.archiva.repository.layout,
              org.apache.archiva.proxy.model
            </Import-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>test-repository</id>
            <phase>generate-test-resources</phase>
            <goals>
              <goal>unpack-dependencies</goal>
            </goals>
            <configuration>
              <includeArtifactIds>test-repository</includeArtifactIds>
              <outputDirectory>target/test-repository</outputDirectory>
              <excludes>META-INF/**</excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludes>
              <!-- TODO: move repo into a subdirectory -->
              <exclude>src/test/resources/com/**</exclude>
              <exclude>src/test/resources/commons-io/**</exclude>
              <exclude>src/test/resources/test-repo/**</exclude>
              <exclude>src/test/resources/m1-repo-filelist.txt</exclude>
              <exclude>src/test/repositories/**</exclude>
              <exclude>src/test/expected-poms/**</exclude>
              <exclude>src/test/resources/resolver-status.properties</exclude>
              <exclude>src/test/resources/test01.properties</exclude>
            </excludes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
