Delegate json-related functionality to JsonHelpers (UserState)
[aquarium] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ Copyright 2011 GRNET S.A. All rights reserved.
4   ~
5   ~ Redistribution and use in source and binary forms, with or
6   ~ without modification, are permitted provided that the following
7   ~ conditions are met:
8   ~
9   ~   1. Redistributions of source code must retain the above
10   ~      copyright notice, this list of conditions and the following
11   ~      disclaimer.
12   ~
13   ~   2. Redistributions in binary form must reproduce the above
14   ~      copyright notice, this list of conditions and the following
15   ~      disclaimer in the documentation and/or other materials
16   ~      provided with the distribution.
17   ~
18   ~ THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
19   ~ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20   ~ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21   ~ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
22   ~ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23   ~ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24   ~ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
25   ~ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
26   ~ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27   ~ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28   ~ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29   ~ POSSIBILITY OF SUCH DAMAGE.
30   ~
31   ~ The views and conclusions contained in the software and
32   ~ documentation are those of the authors and should not be
33   ~ interpreted as representing official policies, either expressed
34   ~ or implied, of GRNET S.A.
35   -->
36
37 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
38          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
39
40
41   <modelVersion>4.0.0</modelVersion>
42   <groupId>gr.grnet</groupId>
43   <artifactId>aquarium</artifactId>
44   <version>0.0.2-SNAPSHOT</version>
45
46   <!-- Project details-->
47   <name>Aquarium</name>
48   <description>
49     Accounting services for the Okeanos cloud
50   </description>
51   <url>http://code.grnet.gr/projects/aquarium</url>
52   <inceptionYear>2011</inceptionYear>
53   <organization>
54     <name>GRNet</name>
55     <url>http://www.grnet.gr/</url>
56   </organization>
57
58   <developers>
59     <developer>
60       <id>gousiosg</id>
61       <name>Georgios Gousios</name>
62       <email>gousiosg@grnet.gr</email>
63     </developer>
64     <developer>
65       <id>loverdos</id>
66       <name>Christos KK Loverdos</name>
67       <email>loverdos@grnet.gr</email>
68     </developer>
69   </developers>
70
71   <scm>
72     <url>http://code.grnet.gr/projects/aquarium/repository</url>
73     <connection>scm:git:https://code.grnet.gr/git/aquarium</connection>
74     <developerConnection>scm:git:https://code.grnet.gr/git/aquarium</developerConnection>
75   </scm>
76
77   <issueManagement>
78     <system>redmine</system>
79     <url>http://code.grnet.gr/projects/aquarium/issues</url>
80   </issueManagement>
81
82   <distributionManagement>
83     <repository>
84       <id>aq-release</id>
85       <name>Aquarium releases repo</name>
86       <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/releases</url>
87     </repository>
88     <snapshotRepository>
89       <id>aq-snapshot</id>
90       <name>Aquarium snapshots repo</name>
91       <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/snapshots</url>
92     </snapshotRepository>
93   </distributionManagement>
94
95   <!--Common project settings-->
96   <properties>
97     <scala.version>2.9.1</scala.version>
98     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
99     <project.reporting.outputEncoding>${project.build.sourceEncoding}
100     </project.reporting.outputEncoding>
101   </properties>
102
103   <!-- Lib and plugin repositories -->
104   <repositories>
105     <repository>
106       <id>scala-tools.releases</id>
107       <name>Scala-Tools Dependencies Repository for Releases</name>
108       <url>http://scala-tools.org/repo-releases</url>
109     </repository>
110     
111     <repository>
112       <id>scala-tools.snapshots</id>
113       <name>Scala-Tools Dependencies Repository for Snapshots</name>
114       <url>http://scala-tools.org/repo-snapshots</url>
115     </repository>
116
117     <repository>
118       <id>java.net.maven2</id>
119       <name>java.net Maven2 Repository</name>
120       <url>http://download.java.net/maven/2/</url>
121     </repository>
122     
123     <repository>
124       <name>JBoss</name>
125       <id>jboss</id>
126       <url>http://repository.jboss.org/nexus/content/groups/public/</url>
127     </repository>
128
129     <repository>
130       <name>jcrontab</name>
131       <id>jcrontab</id>
132       <url>http://kenai.com/projects/crontab-parser/sources/maven-repo/content/</url>
133     </repository>
134   </repositories>
135
136   <pluginRepositories>
137     <pluginRepository>
138       <id>scala-tools.releases</id>
139       <name>Scala-Tools Plugins Repository for Releases</name>
140       <url>http://scala-tools.org/repo-releases</url>
141     </pluginRepository>
142   </pluginRepositories>
143
144   <!-- Master properties (inherited by modules) -->
145   <dependencies>
146     <dependency>
147       <groupId>org.scala-lang</groupId>
148       <artifactId>scala-library</artifactId>
149       <version>${scala.version}</version>
150     </dependency>
151     <dependency>
152       <groupId>org.slf4j</groupId>
153       <artifactId>slf4j-api</artifactId>
154       <version>1.6.1</version>
155     </dependency>
156     <dependency>
157       <groupId>org.scala-lang</groupId>
158       <artifactId>scala-compiler</artifactId>
159       <version>${scala.version}</version>
160       <scope>test</scope>
161     </dependency>
162     <dependency>
163       <groupId>junit</groupId>
164       <artifactId>junit</artifactId>
165       <version>4.10</version>
166       <scope>test</scope>
167     </dependency>
168     <dependency>
169       <groupId>org.slf4j</groupId>
170       <artifactId>slf4j-log4j12</artifactId>
171       <version>1.6.3</version>
172     </dependency>
173     <dependency>
174       <groupId>net.liftweb</groupId>
175       <artifactId>lift-json_2.9.1</artifactId>
176       <version>2.4-M5</version>
177     </dependency>
178
179     <dependency>
180       <groupId>net.liftweb</groupId>
181       <artifactId>lift-json-ext_2.9.1</artifactId>
182       <version>2.4-M5</version>
183     </dependency>
184
185     <dependency>
186       <groupId>org.yaml</groupId>
187       <artifactId>snakeyaml</artifactId>
188       <version>1.9</version>
189     </dependency>
190
191     <dependency>
192       <groupId>com.kenai.crontab-parser</groupId>
193       <artifactId>crontab-parser</artifactId>
194       <version>1.0.1</version>
195     </dependency>
196
197     <dependency>
198       <groupId>com.rabbitmq</groupId>
199       <artifactId>amqp-client</artifactId>
200       <version>2.5.0</version>
201     </dependency>
202
203     <dependency>
204       <groupId>com.ckkloverdos</groupId>
205       <artifactId>streamresource_2.9.1</artifactId>
206       <version>0.2.0</version>
207     </dependency>
208
209     <dependency>
210       <groupId>com.thoughtworks.xstream</groupId>
211       <artifactId>xstream</artifactId>
212       <version>1.4.1</version>
213     </dependency>
214
215     <dependency>
216       <groupId>org.mongodb</groupId>
217       <artifactId>mongo-java-driver</artifactId>
218       <version>2.7.2</version>
219     </dependency>
220
221     <dependency>
222       <groupId>se.scalablesolutions.akka</groupId>
223       <artifactId>akka-actor</artifactId>
224       <version>1.3-RC4</version>
225     </dependency>
226
227     <dependency>
228       <groupId>se.scalablesolutions.akka</groupId>
229       <artifactId>akka-remote</artifactId>
230       <version>1.3-RC4</version>
231     </dependency>
232
233     <dependency>
234       <groupId>se.scalablesolutions.akka</groupId>
235       <artifactId>akka-amqp</artifactId>
236       <version>1.3-RC4</version>
237     </dependency>
238
239     <dependency>
240       <groupId>se.scalablesolutions.akka</groupId>
241       <artifactId>akka-slf4j</artifactId>
242       <version>1.3-RC4</version>
243     </dependency>
244
245     <dependency>
246       <groupId>se.scalablesolutions.akka</groupId>
247       <artifactId>akka-testkit</artifactId>
248       <version>1.3-RC4</version>
249       <scope>test</scope>
250     </dependency>
251
252     <dependency>
253       <groupId>javax.ws.rs</groupId>
254       <artifactId>jsr311-api</artifactId>
255       <version>1.1.1</version>
256     </dependency>
257
258     <dependency>
259       <groupId>cc.spray.can</groupId>
260       <artifactId>spray-can</artifactId>
261       <version>0.9.2-SNAPSHOT</version>
262     </dependency>
263
264     <!--    <dependency>
265       <groupId>com.yammer.metrics</groupId>
266       <artifactId>metrics-core</artifactId>
267       <version>2.0.0-BETA18-SNAPSHOT</version>
268     </dependency>-->
269
270     <dependency>
271       <groupId>org.apache.lucene</groupId>
272       <artifactId>lucene-core</artifactId>
273       <version>3.5.0</version>
274     </dependency>
275
276     <dependency>
277       <groupId>org.apache.solr</groupId>
278       <artifactId>solr-core</artifactId>
279       <version>3.5.0</version>
280       <exclusions>
281
282         <exclusion>
283           <groupId>org.apache.lucene</groupId>
284           <artifactId>lucene-analyzers</artifactId>
285         </exclusion>
286
287         <exclusion>
288           <groupId>org.apache.lucene</groupId>
289           <artifactId>lucene-highlighter</artifactId>
290         </exclusion>
291
292         <exclusion>
293           <groupId>org.apache.lucene</groupId>
294           <artifactId>lucene-memory</artifactId>
295         </exclusion>
296
297         <exclusion>
298           <groupId>org.apache.lucene</groupId>
299           <artifactId>lucene-misc</artifactId>
300         </exclusion>
301
302         <exclusion>
303           <groupId>org.apache.lucene</groupId>
304           <artifactId>lucene-queries</artifactId>
305         </exclusion>
306
307         <exclusion>
308           <groupId>org.apache.lucene</groupId>
309           <artifactId>lucene-spatial</artifactId>
310         </exclusion>
311
312         <exclusion>
313           <groupId>org.apache.lucene</groupId>
314           <artifactId>lucene-spellchecker</artifactId>
315         </exclusion>
316
317         <exclusion>
318           <groupId>org.apache.lucene</groupId>
319           <artifactId>lucene-grouping</artifactId>
320         </exclusion>
321
322         <exclusion>
323           <groupId>org.apache.solr</groupId>
324           <artifactId>solr-commons-csv</artifactId>
325         </exclusion>
326
327         <exclusion>
328           <groupId>org.apache.solr</groupId>
329           <artifactId>solr-noggit</artifactId>
330         </exclusion>
331
332         <exclusion>
333           <groupId>org.apache.solr</groupId>
334           <artifactId>solr-solrj</artifactId>
335         </exclusion>
336
337         <exclusion>
338           <groupId>commons-fileupload</groupId>
339           <artifactId>commons-fileupload</artifactId>
340         </exclusion>
341
342         <exclusion>
343           <groupId>commons-httpclient</groupId>
344           <artifactId>commons-httpclient</artifactId>
345         </exclusion>
346
347         <exclusion>
348           <groupId>org.slf4j</groupId>
349           <artifactId>jcl-over-slf4j</artifactId>
350         </exclusion>
351
352         <exclusion>
353           <groupId>javax.servlet</groupId>
354           <artifactId>servlet-api</artifactId>
355         </exclusion>
356       </exclusions>
357     </dependency>
358
359     <dependency>
360       <groupId>com.github.scopt</groupId>
361       <artifactId>scopt_${scala.version}</artifactId>
362       <version>1.1.2</version>
363     </dependency>
364   </dependencies>
365
366   <!--Build configuration-->
367   <build>
368     <sourceDirectory>src/main/scala</sourceDirectory>
369     <testSourceDirectory>src/test/scala</testSourceDirectory>
370     <resources>
371       <resource>
372         <directory>${basedir}/src/main/resources</directory>
373       </resource>
374       <resource>
375         <directory>${project.build.directory}/generated-resources</directory>
376         <filtering>true</filtering>
377       </resource>
378     </resources>
379     <testResources>
380       <testResource>
381         <directory>${basedir}/src/test/resources</directory>
382       </testResource>
383       <testResource>
384         <directory>${project.build.directory}/generated-resources</directory>
385         <filtering>true</filtering>
386       </testResource>
387     </testResources>
388     <plugins>
389       <plugin>
390         <groupId>org.scala-tools</groupId>
391         <artifactId>maven-scala-plugin</artifactId>
392         <version>2.15.2</version>
393         <configuration>
394           <charset>${project.build.sourceEncoding}</charset>
395           <jvmArgs>
396             <jvmArg>-Xmx1024m</jvmArg>
397             <jvmArg>
398               -DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties
399             </jvmArg>
400           </jvmArgs>
401           <args>
402             <arg>-deprecation</arg>
403           </args>
404         </configuration>
405         <executions>
406           <execution>
407             <goals>
408               <goal>compile</goal>
409               <goal>testCompile</goal>
410             </goals>
411           </execution>
412         </executions>
413       </plugin>
414       <!-- Redmine maven plugin -->
415       <plugin>
416         <groupId>org.nuiton.jredmine</groupId>
417         <artifactId>maven-jredmine-plugin</artifactId>
418         <version>1.2.2</version>
419       </plugin>
420       <!-- Produces configuration files for Intellij Idea -->
421       <plugin>
422         <groupId>org.apache.maven.plugins</groupId>
423         <artifactId>maven-idea-plugin</artifactId>
424         <version>2.2</version>
425         <configuration>
426           <downloadSources>true</downloadSources>
427           <downloadJavadocs>true</downloadJavadocs>
428         </configuration>
429       </plugin>
430       <!-- Make sure tests display failures at the console-->
431       <plugin>
432         <groupId>org.apache.maven.plugins</groupId>
433         <artifactId>maven-surefire-plugin</artifactId>
434         <version>2.9</version>
435         <configuration>
436           <useFile>false</useFile>
437           <reportFormat>plain</reportFormat>
438         </configuration>
439       </plugin>
440       <!-- Bundle up source code on release/snapshot -->
441       <plugin>
442         <groupId>org.apache.maven.plugins</groupId>
443         <artifactId>maven-source-plugin</artifactId>
444         <version>2.1.2</version>
445         <executions>
446           <execution>
447             <id>attach-sources</id>
448             <goals>
449               <goal>jar-no-fork</goal>
450             </goals>
451           </execution>
452         </executions>
453       </plugin>
454       <!-- Release plug-in configuration -->
455       <plugin>
456         <groupId>org.apache.maven.plugins</groupId>
457         <artifactId>maven-release-plugin</artifactId>
458         <version>2.2.1</version>
459         <configuration>
460           <preparationGoals>clean verify</preparationGoals>
461         </configuration>
462       </plugin>
463       <!--Build an executable jar with all dependencies-->
464       <plugin>
465         <artifactId>maven-assembly-plugin</artifactId>
466         <version>2.2.2</version>
467         <configuration>
468           <archive>
469             <manifest>
470               <mainClass>gr.grnet.aquarium.Main</mainClass>
471             </manifest>
472           </archive>
473           <descriptorRefs>
474             <descriptorRef>jar-with-dependencies</descriptorRef>
475           </descriptorRefs>
476         </configuration>
477         <executions>
478           <execution>
479             <id>make-assembly</id>
480             <phase>package</phase>
481             <goals>
482               <goal>single</goal>
483             </goals>
484           </execution>
485         </executions>
486       </plugin>
487
488     </plugins>
489   </build>
490 </project>