<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>
  <groupId>org.opendaylight.netvirtplatform</groupId>
  <artifactId>netvirtplatform-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Net Virt Platform Parent</name>
  <description></description>

  <packaging>pom</packaging>
  <url>http://www.opendaylight.org</url>
  <scm>
    <connection>scm:git:https://git.opendaylight.org/gerrit/p/net-virt-platform.git</connection>
  </scm>
  <properties>
    <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <modules>
    <module>../../distribution/netvirtplatform</module>
    <module>../../sdnplatform</module>
    <module>../../staging/adaptors/adaptor.controllerservice</module>
  </modules>

  <repositories>
    <!-- EBR release -->
    <!-- http://repository.springsource.com/maven/bundles/release -->
    <repository>
      <id>ebr-bundles-release</id>
      <name>ebr-bundles-release</name>
      <url>${nexusproxy}/repositories/ebr-bundles-release/</url>
    </repository>
    <!-- EBR external -->
    <!-- http://repository.springsource.com/maven/bundles/external -->
    <repository>
      <id>ebr-bundles-external</id>
      <name>ebr-bundles-external</name>
      <url>${nexusproxy}/repositories/ebr-bundles-external/</url>
    </repository>
    <!-- Maven repo2 mirror -->
    <!-- http://repo2.maven.org/maven2 -->
    <repository>
      <id>central2</id>
      <name>central2</name>
      <url>${nexusproxy}/repositories/central2/</url>
    </repository>
    <!-- Maven repo1 mirror -->
    <!-- http://repo1.maven.org/maven2 -->
    <repository>
      <id>central</id>
      <name>central</name>
      <url>${nexusproxy}/repositories/central/</url>
    </repository>
    <!-- Pax mirror -->
    <!-- https://oss.sonatype.org/content/repositories/ops4j-releases -->
    <repository>
      <id>ops4j-releases</id>
      <name>ops4j-releases</name>
      <url>${nexusproxy}/repositories/ops4j-releases/</url>
    </repository>
    <!-- Third Packages hosted in local maven because not available in other
      places -->
    <repository>
      <id>thirdparty</id>
      <name>thirdparty</name>
      <url>${nexusproxy}/repositories/thirdparty/</url>
    </repository>
    <!-- Jboss mirror -->
    <!-- https://repository.jboss.org/nexus/content/repositories/releases -->
    <repository>
      <id>jboss.releases</id>
      <name>jboss.releases</name>
      <url>${nexusproxy}/repositories/jboss.releases/</url>
    </repository>
    <!-- OpenDayLight Released artifact -->
    <repository>
      <id>opendaylight-release</id>
      <name>opendaylight-release</name>
      <url>${nexusproxy}/repositories/opendaylight.release/</url>
    </repository>
    <!-- OpenDayLight Snapshot artifact -->
    <repository>
      <id>opendaylight-snapshot</id>
      <name>opendaylight-snapshot</name>
      <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
    </repository>
    <!-- Needed for the org.restlet.* dependencies. -->
    <repository>
      <id>maven-restlet</id>
      <name>Public online Restlet repository</name>
      <url>http://maven.restlet.org</url>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <distributionManagement>
    <!-- OpenDayLight Released artifact -->
    <repository>
      <id>opendaylight-release</id>
      <url>${nexusproxy}/repositories/opendaylight.release/</url>
    </repository>
    <!-- OpenDayLight Snapshot artifact -->
    <snapshotRepository>
      <id>opendaylight-snapshot</id>
      <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
    </snapshotRepository>
    <!-- Site deployment -->
  </distributionManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>2.3.6</version>
          <extensions>true</extensions>
          <configuration>
            <manifestLocation>${project.basedir}/META-INF</manifestLocation>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.14.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
