<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2014, 2015 Cisco Systems, Inc. and others.  All rights reserved.

 This program and the accompanying materials are made available under the
 terms of the Eclipse Public License v1.0 which accompanies this distribution,
 and is available at http://www.eclipse.org/legal/epl-v10.html
--><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.opendaylight.controller</groupId>
    <artifactId>commons.opendaylight</artifactId>
    <version>1.5.0-Lithium</version>
    <relativePath>../../../controller/opendaylight/commons/opendaylight</relativePath>
   </parent>
   <artifactId>features-akka</artifactId>
   <groupId>org.opendaylight.controller</groupId>
   <packaging>jar</packaging>
   <properties>
      <features.file>features.xml</features.file>
      <!-- Optional TODO: Move these properties to your parent pom and possibly
            DependencyManagement section of your parent pom -->
      <branding.version>1.1.0-Lithium</branding.version>
      <karaf.resources.version>1.5.0-Lithium</karaf.resources.version>
      <karaf.version>3.0.3</karaf.version>
      <feature.test.version>0.7.0-Lithium</feature.test.version>
      <karaf.empty.version>1.5.0-Lithium</karaf.empty.version>
      <surefire.version>2.16</surefire.version>
   </properties>
   <dependencies>
    <!--
      Necessary TODO: Put dependencies on any feature repos
      you use in your features.xml file.

      Note: they will need to be <type>xml</xml>
      and <classifier>features</classifier>.
      One other thing to watch for is to make sure they are
      <scope>compile</compile>, which they should be by default,
      but be cautious lest they be at a different scope in a parent pom.

      Examples:
        <dependency>
          <groupId>org.opendaylight.yangtools</groupId>
          <artifactId>features-yangtools</artifactId>
          <version>0.7.0-Lithium</version>
          <classifier>features</classifier>
          <type>xml</type>
        </dependency>
        <dependency>
          <groupId>org.opendaylight.controller</groupId>
          <artifactId>features-mdsal</artifactId>
          <version>1.2.0-Lithium</version>
          <classifier>features</classifier>
          <type>xml</type>
        </dependency>
        <dependency>
          <groupId>org.opendaylight.openflowplugin</groupId>
          <artifactId>features-openflowplugin</artifactId>
          <version>0.1.0-Lithium</version>
          <classifier>features</classifier>
          <type>xml</type>
        </dependency>
    -->

    <!--
      Necessary TODO: Put dependencies for bundles directly referenced
      in your features.xml file.  For every <bundle> reference in your
      features.xml file, you need a corresponding dependency here.

      Examples:
      <dependency>
        <groupId>org.opendaylight.controller</groupId>
        <artifactId>controller-provider</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.opendaylight.controller</groupId>
        <artifactId>controller-model</artifactId>
        <version>${project.version}</version>
      </dependency>
    -->

    <!--
      Necessary TODO: Put dependencies for configfiles directly referenced
      in your features.xml file.  For every <configfile> reference in your
      features.xml file, you need a corresponding dependency here.

      Example (presuming here version is coming from the parent pom):
      <dependency>
        <groupId>org.opendaylight.controller</groupId>
        <artifactId>controller-config</artifactId>
        <version>${project.version}</version>
        <type>xml</type>
        <classifier>config</classifier>
      </dependency>
    -->
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.version}.${scala.micro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-reflect</artifactId>
      <version>${scala.version}.${scala.micro.version}</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe</groupId>
      <artifactId>config</artifactId>
      <version>${typesafe.config.version}</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-actor_${scala.version}</artifactId>
      <version>${akka.version}</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-slf4j_${scala.version}</artifactId>
      <version>${akka.version}</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-osgi_${scala.version}</artifactId>
      <version>${akka.version}</version>
    </dependency>
    <dependency>
        <groupId>org.uncommons.maths</groupId>
        <artifactId>uncommons-maths</artifactId>
        <version>${uncommons.maths.version}</version>
        <exclusions>
            <exclusion>
                <groupId>jfree</groupId>
                <artifactId>jcommon</artifactId>
            </exclusion>
            <exclusion>
                <groupId>jfree</groupId>
                <artifactId>jfreechart</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>${protobuf.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty</artifactId>
      <version>3.8.0.Final</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-remote_${scala.version}</artifactId>
      <version>${akka.version}</version>
    </dependency>
    <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-cluster_${scala.version}</artifactId>
      <version>${akka.version}</version>
    </dependency>
    <dependency>
      <groupId>org.iq80.leveldb</groupId>
      <artifactId>leveldb</artifactId>
      <version>${leveldb.version}</version>
    </dependency>
    <dependency>
      <groupId>org.fusesource.leveldbjni</groupId>
      <artifactId>leveldbjni-all</artifactId>
      <version>${leveldbjni.version}</version>
    </dependency>
    <!--
      Optional TODO: Remove TODO comments.
    -->
    <!-- test to validate features.xml -->
    <dependency>
      <groupId>org.opendaylight.odlparent</groupId>
      <artifactId>features-test</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- dependency for opendaylight-karaf-empty for use by testing -->
    <dependency>
      <groupId>org.opendaylight.controller</groupId>
      <artifactId>opendaylight-karaf-empty</artifactId>
      <version>${karaf.empty.version}</version>
      <type>zip</type>
    </dependency>
    <!-- Uncomment this if you get an error : java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.2</version>
    </dependency>
    -->

   </dependencies>
   <build>
      <resources>
         <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
         </resource>
      </resources>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <executions>
               <execution>
                  <id>filter</id>
                  <phase>generate-resources</phase>
                  <goals>
                     <goal>resources</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
               <execution>
                  <id>attach-artifacts</id>
                  <phase>package</phase>
                  <goals>
                     <goal>attach-artifact</goal>
                  </goals>
                  <configuration>
                     <artifacts>
                        <artifact>
                           <file>${project.build.directory}/classes/${features.file}</file>
                           <type>xml</type>
                           <classifier>features</classifier>
                        </artifact>
                     </artifacts>
                  </configuration>
               </execution>
            </executions>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${surefire.version}</version>
            <configuration>
              <systemPropertyVariables>
                <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId>
                <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
                <karaf.distro.version>${karaf.empty.version}</karaf.distro.version>
              </systemPropertyVariables>
              <dependenciesToScan>
               <dependency>org.opendaylight.odlparent:features-test</dependency>
              </dependenciesToScan>
            </configuration>
          </plugin>
      </plugins>
   </build>
   <scm>
      <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
      <tag>HEAD</tag>
      <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>
   </scm>
</project>
