<?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-RAMCloud</name>
  <url>http://onlab.us/</url>
  <repositories>
    <!-- In Project repository -->
    <repository>
      <id>in-project</id>
      <name>In Project Repo</name>
      <url>file://${project.basedir}/repo</url>
    </repository>
    <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>
  </repositories>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <powermock.version>1.5.1</powermock.version>
    <restlet.version>2.1.4</restlet.version>
    <!-- <github.global.server>github</github.global.server> -->
  </properties>
  <build>
    <plugins>
      <plugin>
	<!-- Note: the checkstyle configuration is also in the reporting section -->
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-checkstyle-plugin</artifactId>
	<version>2.11</version>
	<configuration>
	  <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
	</configuration>
      </plugin>
      <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.7</source>
          <target>1.7</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>
          <argLine>-XX:MaxPermSize=256m</argLine>
        </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>-->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9</version>
        <configuration>
          <charset>UTF-8</charset>
          <locale>en</locale>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.6.3.201306030806</version>
        <configuration>
          <destfile>${basedir}/target/jacoco/jacoco.exec</destfile>
          <datafile>${basedir}/target/jacoco/jacoco.exec</datafile>
        </configuration>
        <executions>
          <execution>
            <id>jacoco-initialize</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>jacoco-site</id>
            <phase>package</phase>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!--
      <plugin>
        <groupId>com.github.github</groupId>
        <artifactId>site-maven-plugin</artifactId>
        <version>0.8</version>
        <configuration>
          <message>Creating site for ${project.version}</message>
          <dryRun>true</dryRun>
          <repositoryName>ONOS</repositoryName>
          <repositoryOwner>OPENNETWORKINGLAB</repositoryOwner>
        </configuration>
        <executions>
          <execution>
            <goals>
             <goal>site</goal>
            </goals>
            <phase>site</phase>
          </execution>
        </executions>
      </plugin>
      -->
      <plugin>
	<artifactId>maven-assembly-plugin</artifactId>
	<configuration>
	  <descriptorRefs>
	    <descriptorRef>jar-with-dependencies</descriptorRef>
	  </descriptorRefs>
	</configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.8</version>
        <executions>
          <execution>
            <id>build-classpath</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>build-classpath</goal>
            </goals>
            <configuration>
              <outputFile>${project.basedir}/.javacp</outputFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <!-- for getting visualization reporting   -->
  <reporting>
    <excludeDefaults>true</excludeDefaults>
    <outputDirectory>${project.build.directory}/site</outputDirectory>
    <plugins>
      <!--
      <plugin>
        <groupId>org.apache.camel</groupId>
        <artifactId>guice-maven-plugin</artifactId>
        <version>2.11.0</version>
      </plugin>
      -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>dependencies</report>
              <!--report>maven-emma-plugin</report-->
              <report>scm</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.9</version>
        <configuration>
          <charset>UTF-8</charset>
          <locale>en</locale>
        </configuration>
      </plugin>
      <plugin>
	<!-- Note: the checkstyle configuration is also in the build section -->
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-checkstyle-plugin</artifactId>
	<version>2.11</version>
	<configuration>
	  <configLocation>conf/checkstyle/sun_checks.xml</configLocation>
	</configuration>
	<reportSets>
	  <reportSet>
	    <reports>
	      <report>checkstyle</report>
	    </reports>
	  </reportSet>
	</reportSets>
      </plugin>
      <plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jxr-plugin</artifactId>
	<version>2.3</version>
    </plugin>
    </plugins>
  </reporting>
  <dependencies>
    <dependency>
      <groupId>com.esotericsoftware.kryo</groupId>
      <artifactId>kryo</artifactId>
      <version>2.22</version>
    </dependency>
    <!-- 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.4.2</version>
      <exclusions>
	<exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
	</exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.tinkerpop</groupId>
      <artifactId>frames</artifactId>
      <version>2.4.0</version>
    </dependency>
    <dependency>
      <groupId>com.tinkerpop.blueprints</groupId>
      <artifactId>blueprints-core</artifactId>
      <version>2.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.tinkerpop.rexster</groupId>
        <artifactId>rexster-core</artifactId>
        <version>2.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.tinkerpop.blueprints</groupId>
        <artifactId>blueprints-test</artifactId>
        <version>2.4.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>2.5.0</version>
    </dependency>
    <dependency>
      <groupId>com.hazelcast</groupId>
      <artifactId>hazelcast</artifactId>
      <version>3.0.2</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.13</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.0.13</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>14.0.1</version>
    </dependency>
    -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.5</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>io.netty</groupId>
      <artifactId>netty-all</artifactId>
      <version>4.0.8.Final</version>
    </dependency>
    <dependency>
      <groupId>args4j</groupId>
      <artifactId>args4j</artifactId>
      <version>2.0.25</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.concurrentlinkedhashmap</groupId>
      <artifactId>concurrentlinkedhashmap-lru</artifactId>
      <version>1.4</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>
