<?xml version="1.0"?>
<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>
  <prerequisites>
    <maven>3.0.4</maven>
  </prerequisites>
  <groupId>net.onrc.onos</groupId>
  <artifactId>ONOS</artifactId>
  <version>0.1.0</version>
  <packaging>jar</packaging>
  <name>ONOS</name>
  <url>http://onlab.us/</url>
  <repositories>
    <repository>
      <id>central</id>
      <name>Maven Central repository</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>
    <repository>
      <id>maven-restlet</id>
      <name>Public online Restlet repository</name>
      <url>http://maven.restlet.org</url>
    </repository>
    <repository>
      <id>tinkerpop-repository</id>
      <name>TinkerPop Maven2 Repository</name>
      <url>http://tinkerpop.com/maven2</url>
      <snapshots>
	<enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <powermock.version>1.5</powermock.version>
    <restlet.version>2.1-RC1</restlet.version>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.3.1</version>
        <executions>
        </executions>
      </plugin>
      <!-- guice maven plugin for dependency injection inside maven -->
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>guice-maven-plugin</artifactId>
        <version>2.11.0</version>
      </plugin>
      <!-- compile -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <encoding>UTF-8</encoding>
        </configuration>
        <executions>
        </executions>
      </plugin>
      <!-- test -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12</version>
        <configuration>
          <excludes>
            <!-- exclude all test cases for now -->
            <!-- <exclude>**/storage/tests/StorageTest.java</exclude> -->
            <!-- <exclude>**/test/*</exclude> -->
          <!--
            <exclude>**/test/*</exclude>
            <exclude>**/Test*.java</exclude>
            <exclude>**/*Test.java</exclude>
            <exclude>**/*TestCase.java</exclude>
          -->
          </excludes>
        </configuration>
      </plugin>
      <!-- exec:java -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
          <mainClass>net.onrc.onos.ofcontroller.core.Main</mainClass>
        </configuration>
        <executions>
        </executions>
      </plugin>
      <!--<plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>lib/gen-java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>-->
    </plugins>
  </build>
  <!-- for getting visualization reporting   -->
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>guice-maven-plugin</artifactId>
        <version>2.11.0</version>
      </plugin>
    </plugins>
  </reporting>
  <dependencies>
    <!-- ONOS's direct dependencies -->
    <dependency>
      <groupId>org.apache.cassandra</groupId>
      <artifactId>apache-cassandra</artifactId>
      <version>1.2.4</version>
      <type>pom</type>
    </dependency>
    <dependency>
      <groupId>com.thinkaurelius.titan</groupId>
      <artifactId>titan-all</artifactId>
      <version>0.2.1</version>
      <exclusions>
	<exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
	</exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.tinkerpop</groupId>
      <artifactId>frames</artifactId>
      <version>2.3.1</version>
    </dependency>
    <!--
    <dependency>
      <groupId>com.tinkerpop.blueprints</groupId>
      <artifactId>blueprints-core</artifactId>
      <version>2.3.0</version>
    </dependency>
    -->
    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4</version>
      <classifier>jdk15</classifier>
    </dependency>
    <dependency>
      <groupId>org.restlet.jse</groupId>
      <artifactId>org.restlet</artifactId>
      <version>${restlet.version}</version>
    </dependency>
    <dependency>
      <groupId>org.restlet.jse</groupId>
      <artifactId>org.restlet.ext.slf4j</artifactId>
      <version>${restlet.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>1.9.11</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.11</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.0.0</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Floodlight's dependencies -->
    <dependency>
      <groupId>net.sourceforge.cobertura</groupId>
      <artifactId>cobertura</artifactId>
      <version>1.9.4.1</version>
    </dependency>
    <!--
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>13.0.1</version>
    </dependency>
    -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.4</version>
    </dependency>
    <dependency>
      <groupId>org.restlet.jse</groupId>
      <artifactId>org.restlet.ext.jackson</artifactId>
      <version>${restlet.version}</version>
    </dependency>
    <dependency>
      <groupId>org.restlet.jse</groupId>
      <artifactId>org.restlet.ext.simple</artifactId>
      <version>${restlet.version}</version>
    </dependency>
    <dependency>
      <groupId>org.simpleframework</groupId>
      <artifactId>simple</artifactId>
      <version>4.1.21</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.netty</groupId>
      <artifactId>netty</artifactId>
      <version>3.2.6.Final</version>
    </dependency>
    <dependency>
      <groupId>args4j</groupId>
      <artifactId>args4j</artifactId>
      <version>2.0.16</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
      <artifactId>concurrentlinkedhashmap-lru</artifactId>
      <version>1.3</version>
    </dependency>
    <!--<dependency>
      <groupId>org.python</groupId>
      <artifactId>jython-standalone</artifactId>
      <version>2.5.2</version>
    </dependency>-->
    <!--<dependency>
      <groupId>org.apache.thrift</groupId>
      <artifactId>libthrift</artifactId>
      <version>0.7.0</version>
    </dependency>-->
    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
      <version>3.0</version>
    </dependency>
    <!-- Dependency for libraries used for testing -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <version>3.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-easymock</artifactId>
      <version>${powermock.version}</version>
      <scope>test</scope>
    </dependency>
    <!--
    <dependency>
      <groupId>org.objenesis</groupId>
      <artifactId>objenesis</artifactId>
      <version>1.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib-nodep</artifactId>
      <version>2.2.2</version>
    </dependency>
    -->
    <!-- dependency to locally modified version -->
    <dependency>
      <groupId>com.netflix.curator</groupId>
      <artifactId>curator-framework</artifactId>
      <version>1.3.5-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.netflix.curator</groupId>
      <artifactId>curator-client</artifactId>
      <version>1.3.5-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.netflix.curator</groupId>
      <artifactId>curator-recipes</artifactId>
      <version>1.3.5-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.netflix.curator</groupId>
      <artifactId>curator-x-discovery</artifactId>
      <version>1.3.5-SNAPSHOT</version>
    </dependency>
    <!--
    <dependency>
      <groupId>net.floodlightcontroller</groupId>
      <artifactId>packetstreamer-thrift</artifactId>
      <version>0.1.0</version>
    </dependency>
    -->
  </dependencies>
</project>
