WIP Resource event handling
[aquarium] / pom.xml
diff --git a/pom.xml b/pom.xml
index bf7324f..d02b3d7 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2011 GRNET S.A. All rights reserved.
+  ~
+  ~ Redistribution and use in source and binary forms, with or
+  ~ without modification, are permitted provided that the following
+  ~ conditions are met:
+  ~
+  ~   1. Redistributions of source code must retain the above
+  ~      copyright notice, this list of conditions and the following
+  ~      disclaimer.
+  ~
+  ~   2. Redistributions in binary form must reproduce the above
+  ~      copyright notice, this list of conditions and the following
+  ~      disclaimer in the documentation and/or other materials
+  ~      provided with the distribution.
+  ~
+  ~ THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
+  ~ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+  ~ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+  ~ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
+  ~ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  ~ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  ~ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+  ~ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+  ~ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  ~ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+  ~ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  ~ POSSIBILITY OF SUCH DAMAGE.
+  ~
+  ~ The views and conclusions contained in the software and
+  ~ documentation are those of the authors and should not be
+  ~ interpreted as representing official policies, either expressed
+  ~ or implied, of GRNET S.A.
+  -->
+
 <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>
   <groupId>gr.grnet</groupId>
   <artifactId>aquarium</artifactId>
-  <version>0.0.1-SNAPSHOT</version>
+  <version>0.2-SNAPSHOT</version>
+
+  <!-- Project details-->
   <name>Aquarium</name>
-  <packaging>pom</packaging>
-  <inceptionYear>2010</inceptionYear>
+  <description>
+    Accounting services for the Okeanos cloud
+  </description>
+  <url>http://code.grnet.gr/projects/aquarium</url>
+  <inceptionYear>2011</inceptionYear>
+  <organization>
+    <name>GRNet</name>
+    <url>http://www.grnet.gr/</url>
+  </organization>
+
+  <developers>
+    <developer>
+      <id>gousiosg</id>
+      <name>Georgios Gousios</name>
+      <email>gousiosg@grnet.gr</email>
+    </developer>
+    <developer>
+      <id>loverdos</id>
+      <name>Christos KK Loverdos</name>
+      <email>loverdos@grnet.gr</email>
+    </developer>
+  </developers>
+
+  <scm>
+    <url>http://code.grnet.gr/projects/aquarium/repository</url>
+    <connection>scm:git:https://code.grnet.gr/git/aquarium</connection>
+    <developerConnection>scm:git:https://code.grnet.gr/git/aquarium</developerConnection>
+  </scm>
+
+  <issueManagement>
+    <system>redmine</system>
+    <url>http://code.grnet.gr/projects/aquarium/issues</url>
+  </issueManagement>
+
+  <distributionManagement>
+    <repository>
+      <id>aq-release</id>
+      <name>Aquarium releases repo</name>
+      <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/releases</url>
+    </repository>
+    <snapshotRepository>
+      <id>aq-snapshot</id>
+      <name>Aquarium snapshots repo</name>
+      <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/snapshots</url>
+    </snapshotRepository>
+  </distributionManagement>
+
+  <!--Common project settings-->
   <properties>
     <scala.version>2.9.1</scala.version>
-    <!-- Common plugin settings -->
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
-    <!-- vscaladoc settings -->
-    <maven.scaladoc.vscaladocVersion>1.2-m1</maven.scaladoc.vscaladocVersion>
-    <vscaladoc.links.liftweb.pathsufix>scaladocs/</vscaladoc.links.liftweb.pathsufix>
-    <vscaladoc.links.liftweb.baseurl>http://scala-tools.org/mvnsites/liftweb</vscaladoc.links.liftweb.baseurl>
+    <project.reporting.outputEncoding>${project.build.sourceEncoding}
+    </project.reporting.outputEncoding>
   </properties>
 
-  <!-- Set up repo for ScalaJPA -->
+  <!-- Lib and plugin repositories -->
   <repositories>
-    <repository>
-      <id>scala-tools.releases</id>
-      <name>Scala-Tools Dependencies Repository for Releases</name>
-      <url>http://scala-tools.org/repo-releases</url>
-    </repository>
+
     <repository>
       <id>java.net.maven2</id>
       <name>java.net Maven2 Repository</name>
       <url>http://download.java.net/maven/2/</url>
     </repository>
-  </repositories>
+    
+    <repository>
+      <name>JBoss</name>
+      <id>jboss</id>
+      <url>http://repository.jboss.org/nexus/content/groups/public/</url>
+    </repository>
 
-  <pluginRepositories>
-    <pluginRepository>
-      <id>scala-tools.releases</id>
-      <name>Scala-Tools Plugins Repository for Releases</name>
-      <url>http://scala-tools.org/repo-releases</url>
-    </pluginRepository>
-  </pluginRepositories>
+    <repository>
+      <name>JBoss Scala-Tools</name>
+      <id>jboss-scala-tools</id>
+      <url>https://repository.jboss.org/nexus/content/repositories/scala-tools-releases</url>
+    </repository>
+
+    <repository>
+      <name>jcrontab</name>
+      <id>jcrontab</id>
+      <url>http://kenai.com/projects/crontab-parser/sources/maven-repo/content/</url>
+    </repository>
+
+    <repository>
+      <name>Typesafe</name>
+      <id>typesafe</id>
+      <url>http://repo.typesafe.com/typesafe/releases/</url>
+    </repository>
+
+    <repository>
+      <name>Spray</name>
+      <id>spray</id>
+      <url>http://repo.spray.cc/</url>
+    </repository>
+  </repositories>
 
   <!-- Master properties (inherited by modules) -->
   <dependencies>
       <version>1.6.1</version>
     </dependency>
     <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <version>0.9.29</version>
+    </dependency>
+    <dependency>
       <groupId>org.scala-lang</groupId>
       <artifactId>scala-compiler</artifactId>
       <version>${scala.version}</version>
-      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.7</version>
+      <version>4.10</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>net.liftweb</groupId>
+      <artifactId>lift-json_2.9.1</artifactId>
+      <version>2.4</version>
+    </dependency>
+
+    <dependency>
+      <groupId>net.liftweb</groupId>
+      <artifactId>lift-json-ext_2.9.1</artifactId>
+      <version>2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>joda-time</artifactId>
+          <groupId>joda-time</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+      <version>1.9</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.kenai.crontab-parser</groupId>
+      <artifactId>crontab-parser</artifactId>
+      <version>1.0.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.rabbitmq</groupId>
+      <artifactId>amqp-client</artifactId>
+      <version>2.7.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>jbootstrap</artifactId>
+      <version>3.0.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>streamresource</artifactId>
+      <version>0.5.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>maybe</artifactId>
+      <version>0.5.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>converter</artifactId>
+      <version>0.5.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>scala-library</artifactId>
+          <groupId>org.scala-lang</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>logback-classic</artifactId>
+          <groupId>ch.qos.logback</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>sysprop</artifactId>
+      <version>0.5.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>scala-library</artifactId>
+          <groupId>org.scala-lang</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>com.ckkloverdos</groupId>
+      <artifactId>typedkey</artifactId>
+      <version>0.5.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>scala-library</artifactId>
+          <groupId>org.scala-lang</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+      <version>1.4.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.mongodb</groupId>
+      <artifactId>mongo-java-driver</artifactId>
+      <version>2.7.2</version>
+    </dependency>
+
+    <dependency>
+      <groupId>se.scalablesolutions.akka</groupId>
+      <artifactId>akka-actor</artifactId>
+      <version>1.3.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>scala-library</artifactId>
+          <groupId>org.scala-lang</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>se.scalablesolutions.akka</groupId>
+      <artifactId>akka-remote</artifactId>
+      <version>1.3.1</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>sjson_2.9.0</artifactId>
+          <groupId>net.debasishg</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>akka-stm</artifactId>
+          <groupId>se.scalablesolutions.akka</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>h2-lzf</artifactId>
+          <groupId>voldemort.store.compress</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>akka-typed-actor</artifactId>
+          <groupId>se.scalablesolutions.akka</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>se.scalablesolutions.akka</groupId>
+      <artifactId>akka-slf4j</artifactId>
+      <version>1.3.1</version>
+    </dependency>
+<!--
+    <dependency>
+      <groupId>se.scalablesolutions.akka</groupId>
+      <artifactId>akka-testkit</artifactId>
+      <version>1.3</version>
+      <scope>test</scope>
+    </dependency>-->
+
+    <dependency>
+      <groupId>cc.spray</groupId>
+      <artifactId>spray-can</artifactId>
+      <version>0.9.3</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <version>12.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.github.scopt</groupId>
+      <artifactId>scopt_${scala.version}</artifactId>
+      <version>2.0.1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>joda-time</groupId>
+      <artifactId>joda-time</artifactId>
+      <version>2.0</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.joda</groupId>
+      <artifactId>joda-convert</artifactId>
+      <version>1.1</version>
+    </dependency>
   </dependencies>
 
+  <!--Build configuration-->
   <build>
     <sourceDirectory>src/main/scala</sourceDirectory>
     <testSourceDirectory>src/test/scala</testSourceDirectory>
+    <resources>
+      <resource>
+        <directory>${basedir}/src/main/resources</directory>
+        <excludes>
+          <exclude>aquarium.properties</exclude>
+        </excludes>
+      </resource>
+      <resource>
+        <directory>${project.build.directory}/generated-resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>${basedir}/src/test/resources</directory>
+      </testResource>
+      <testResource>
+        <directory>${project.build.directory}/generated-resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
     <plugins>
       <plugin>
-        <groupId>org.scala-tools</groupId>
-        <artifactId>maven-scala-plugin</artifactId>
-        <version>2.15.2</version>
+        <groupId>net.alchim31.maven</groupId>
+        <artifactId>scala-maven-plugin</artifactId>
+        <version>3.0.1</version>
         <configuration>
           <charset>${project.build.sourceEncoding}</charset>
           <jvmArgs>
             <jvmArg>-Xmx1024m</jvmArg>
-            <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
+            <jvmArg>
+              -DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties
+            </jvmArg>
           </jvmArgs>
           <args>
             <arg>-deprecation</arg>
+            <arg>-unchecked</arg>
+            <arg>-explaintypes</arg>
           </args>
         </configuration>
         <executions>
           </execution>
         </executions>
       </plugin>
+      <!-- Redmine maven plugin -->
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>2.5</version>
-        <executions>
-          <execution>
-            <id>default-copy-resources</id>
-            <phase>process-resources</phase>
-            <goals>
-              <goal>copy-resources</goal>
-            </goals>
-            <configuration>
-              <overwrite>true</overwrite>
-              <outputDirectory>${project.build.directory}</outputDirectory>
-              <resources>
-                <resource>
-                  <directory>${project.basedir}/src</directory>
-                  <includes>
-                    <include>packageLinkDefs.properties</include>
-                  </includes>
-                  <filtering>true</filtering>
-                </resource>
-              </resources>
-            </configuration>
-          </execution>
-        </executions>
+        <groupId>org.nuiton.jredmine</groupId>
+        <artifactId>maven-jredmine-plugin</artifactId>
+        <version>1.2.2</version>
       </plugin>
+      <!-- Produces configuration files for Intellij Idea -->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-idea-plugin</artifactId>
         <version>2.2</version>
         <configuration>
           <downloadSources>true</downloadSources>
+          <downloadJavadocs>true</downloadJavadocs>
         </configuration>
       </plugin>
+      <!-- Make sure tests display failures at the console-->
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.9</version>
         <configuration>
           <useFile>false</useFile>
           <reportFormat>plain</reportFormat>
         </configuration>
       </plugin>
-    </plugins>
-  </build>
-  <reporting>
-    <plugins>
+      <!-- Bundle up source code on release/snapshot -->
       <plugin>
-        <groupId>org.scala-tools</groupId>
-        <artifactId>maven-scala-plugin</artifactId>
-        <version>2.15.2</version>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+        <version>2.1.2</version>
+        <executions>
+          <execution>
+            <id>attach-sources</id>
+            <goals>
+              <goal>jar-no-fork</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <!-- Release plug-in configuration -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-release-plugin</artifactId>
+        <version>2.2.1</version>
         <configuration>
-          <charset>${project.build.sourceEncoding}</charset>
-          <jvmArgs>
-            <jvmArg>-Xmx1024m</jvmArg>
-            <jvmArg>-DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties</jvmArg>
-          </jvmArgs>
+          <preparationGoals>clean verify</preparationGoals>
         </configuration>
       </plugin>
     </plugins>
-  </reporting>
-  <modules>
-    <module>model</module>
-  </modules>
+  </build>
 </project>