Towards the new billing and state computation algorithms
[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
135     <repository>
136       <name>Typesafe</name>
137       <id>typesafe</id>
138       <url>http://repo.typesafe.com/typesafe/releases/</url>
139     </repository>
140   </repositories>
141
142   <pluginRepositories>
143     <pluginRepository>
144       <id>scala-tools.releases</id>
145       <name>Scala-Tools Plugins Repository for Releases</name>
146       <url>http://scala-tools.org/repo-releases</url>
147     </pluginRepository>
148   </pluginRepositories>
149
150   <!-- Master properties (inherited by modules) -->
151   <dependencies>
152     <dependency>
153       <groupId>org.scala-lang</groupId>
154       <artifactId>scala-library</artifactId>
155       <version>${scala.version}</version>
156     </dependency>
157     <dependency>
158       <groupId>org.slf4j</groupId>
159       <artifactId>slf4j-api</artifactId>
160       <version>1.6.1</version>
161     </dependency>
162     <dependency>
163       <groupId>org.scala-lang</groupId>
164       <artifactId>scala-compiler</artifactId>
165       <version>${scala.version}</version>
166       <scope>test</scope>
167     </dependency>
168     <dependency>
169       <groupId>junit</groupId>
170       <artifactId>junit</artifactId>
171       <version>4.10</version>
172       <scope>test</scope>
173     </dependency>
174     <dependency>
175       <groupId>org.slf4j</groupId>
176       <artifactId>slf4j-log4j12</artifactId>
177       <version>1.6.3</version>
178     </dependency>
179     <dependency>
180       <groupId>net.liftweb</groupId>
181       <artifactId>lift-json_2.9.1</artifactId>
182       <version>2.4-M5</version>
183     </dependency>
184
185     <dependency>
186       <groupId>net.liftweb</groupId>
187       <artifactId>lift-json-ext_2.9.1</artifactId>
188       <version>2.4-M5</version>
189     </dependency>
190
191     <dependency>
192       <groupId>org.yaml</groupId>
193       <artifactId>snakeyaml</artifactId>
194       <version>1.9</version>
195     </dependency>
196
197     <dependency>
198       <groupId>com.kenai.crontab-parser</groupId>
199       <artifactId>crontab-parser</artifactId>
200       <version>1.0.1</version>
201     </dependency>
202
203     <dependency>
204       <groupId>com.rabbitmq</groupId>
205       <artifactId>amqp-client</artifactId>
206       <version>2.5.0</version>
207     </dependency>
208
209     <dependency>
210       <groupId>com.ckkloverdos</groupId>
211       <artifactId>streamresource_2.9.1</artifactId>
212       <version>0.2.0</version>
213     </dependency>
214
215     <dependency>
216       <groupId>com.thoughtworks.xstream</groupId>
217       <artifactId>xstream</artifactId>
218       <version>1.4.1</version>
219     </dependency>
220
221     <dependency>
222       <groupId>org.mongodb</groupId>
223       <artifactId>mongo-java-driver</artifactId>
224       <version>2.7.2</version>
225     </dependency>
226
227     <dependency>
228       <groupId>se.scalablesolutions.akka</groupId>
229       <artifactId>akka-actor</artifactId>
230       <version>1.3-RC5</version>
231     </dependency>
232
233     <dependency>
234       <groupId>se.scalablesolutions.akka</groupId>
235       <artifactId>akka-remote</artifactId>
236       <version>1.3-RC5</version>
237     </dependency>
238
239     <dependency>
240       <groupId>se.scalablesolutions.akka</groupId>
241       <artifactId>akka-amqp</artifactId>
242       <version>1.3-RC5</version>
243     </dependency>
244
245     <dependency>
246       <groupId>se.scalablesolutions.akka</groupId>
247       <artifactId>akka-slf4j</artifactId>
248       <version>1.3-RC5</version>
249     </dependency>
250 <!--
251     <dependency>
252       <groupId>se.scalablesolutions.akka</groupId>
253       <artifactId>akka-testkit</artifactId>
254       <version>1.3-RC5</version>
255       <scope>test</scope>
256     </dependency>-->
257
258     <dependency>
259       <groupId>javax.ws.rs</groupId>
260       <artifactId>jsr311-api</artifactId>
261       <version>1.1.1</version>
262     </dependency>
263
264     <dependency>
265       <groupId>cc.spray.can</groupId>
266       <artifactId>spray-can</artifactId>
267       <version>0.9.2-SNAPSHOT</version>
268     </dependency>
269
270     <!--    <dependency>
271       <groupId>com.yammer.metrics</groupId>
272       <artifactId>metrics-core</artifactId>
273       <version>2.0.0-BETA18-SNAPSHOT</version>
274     </dependency>-->
275 <!--
276     <dependency>
277       <groupId>org.apache.lucene</groupId>
278       <artifactId>lucene-core</artifactId>
279       <version>3.5.0</version>
280     </dependency>-->
281
282     <dependency>
283       <groupId>org.apache.solr</groupId>
284       <artifactId>solr-core</artifactId>
285       <version>3.5.0</version>
286       <exclusions>
287
288         <exclusion>
289           <groupId>org.apache.lucene</groupId>
290           <artifactId>lucene-analyzers</artifactId>
291         </exclusion>
292
293         <exclusion>
294           <groupId>org.apache.lucene</groupId>
295           <artifactId>lucene-highlighter</artifactId>
296         </exclusion>
297
298         <exclusion>
299           <groupId>org.apache.lucene</groupId>
300           <artifactId>lucene-memory</artifactId>
301         </exclusion>
302
303         <exclusion>
304           <groupId>org.apache.lucene</groupId>
305           <artifactId>lucene-misc</artifactId>
306         </exclusion>
307
308         <exclusion>
309           <groupId>org.apache.lucene</groupId>
310           <artifactId>lucene-queries</artifactId>
311         </exclusion>
312
313         <exclusion>
314           <groupId>org.apache.lucene</groupId>
315           <artifactId>lucene-spatial</artifactId>
316         </exclusion>
317
318         <exclusion>
319           <groupId>org.apache.lucene</groupId>
320           <artifactId>lucene-spellchecker</artifactId>
321         </exclusion>
322
323         <exclusion>
324           <groupId>org.apache.lucene</groupId>
325           <artifactId>lucene-grouping</artifactId>
326         </exclusion>
327
328         <exclusion>
329           <groupId>org.apache.solr</groupId>
330           <artifactId>solr-commons-csv</artifactId>
331         </exclusion>
332
333         <exclusion>
334           <groupId>org.apache.solr</groupId>
335           <artifactId>solr-noggit</artifactId>
336         </exclusion>
337
338         <exclusion>
339           <groupId>org.apache.solr</groupId>
340           <artifactId>solr-solrj</artifactId>
341         </exclusion>
342
343         <exclusion>
344           <groupId>commons-fileupload</groupId>
345           <artifactId>commons-fileupload</artifactId>
346         </exclusion>
347
348         <exclusion>
349           <groupId>commons-httpclient</groupId>
350           <artifactId>commons-httpclient</artifactId>
351         </exclusion>
352
353         <exclusion>
354           <groupId>org.slf4j</groupId>
355           <artifactId>jcl-over-slf4j</artifactId>
356         </exclusion>
357
358         <exclusion>
359           <groupId>javax.servlet</groupId>
360           <artifactId>servlet-api</artifactId>
361         </exclusion>
362       </exclusions>
363     </dependency>
364
365     <dependency>
366       <groupId>com.github.scopt</groupId>
367       <artifactId>scopt_${scala.version}</artifactId>
368       <version>1.1.2</version>
369     </dependency>
370   </dependencies>
371
372   <!--Build configuration-->
373   <build>
374     <sourceDirectory>src/main/scala</sourceDirectory>
375     <testSourceDirectory>src/test/scala</testSourceDirectory>
376     <resources>
377       <resource>
378         <directory>${basedir}/src/main/resources</directory>
379       </resource>
380       <resource>
381         <directory>${project.build.directory}/generated-resources</directory>
382         <filtering>true</filtering>
383       </resource>
384     </resources>
385     <testResources>
386       <testResource>
387         <directory>${basedir}/src/test/resources</directory>
388       </testResource>
389       <testResource>
390         <directory>${project.build.directory}/generated-resources</directory>
391         <filtering>true</filtering>
392       </testResource>
393     </testResources>
394     <plugins>
395       <plugin>
396         <groupId>org.scala-tools</groupId>
397         <artifactId>maven-scala-plugin</artifactId>
398         <version>2.15.2</version>
399         <configuration>
400           <charset>${project.build.sourceEncoding}</charset>
401           <jvmArgs>
402             <jvmArg>-Xmx1024m</jvmArg>
403             <jvmArg>
404               -DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties
405             </jvmArg>
406           </jvmArgs>
407           <args>
408             <arg>-deprecation</arg>
409           </args>
410         </configuration>
411         <executions>
412           <execution>
413             <goals>
414               <goal>compile</goal>
415               <goal>testCompile</goal>
416             </goals>
417           </execution>
418         </executions>
419       </plugin>
420       <!-- Redmine maven plugin -->
421       <plugin>
422         <groupId>org.nuiton.jredmine</groupId>
423         <artifactId>maven-jredmine-plugin</artifactId>
424         <version>1.2.2</version>
425       </plugin>
426       <!-- Produces configuration files for Intellij Idea -->
427       <plugin>
428         <groupId>org.apache.maven.plugins</groupId>
429         <artifactId>maven-idea-plugin</artifactId>
430         <version>2.2</version>
431         <configuration>
432           <downloadSources>true</downloadSources>
433           <downloadJavadocs>true</downloadJavadocs>
434         </configuration>
435       </plugin>
436       <!-- Make sure tests display failures at the console-->
437       <plugin>
438         <groupId>org.apache.maven.plugins</groupId>
439         <artifactId>maven-surefire-plugin</artifactId>
440         <version>2.9</version>
441         <configuration>
442           <useFile>false</useFile>
443           <reportFormat>plain</reportFormat>
444         </configuration>
445       </plugin>
446       <!-- Bundle up source code on release/snapshot -->
447       <plugin>
448         <groupId>org.apache.maven.plugins</groupId>
449         <artifactId>maven-source-plugin</artifactId>
450         <version>2.1.2</version>
451         <executions>
452           <execution>
453             <id>attach-sources</id>
454             <goals>
455               <goal>jar-no-fork</goal>
456             </goals>
457           </execution>
458         </executions>
459       </plugin>
460       <!-- Release plug-in configuration -->
461       <plugin>
462         <groupId>org.apache.maven.plugins</groupId>
463         <artifactId>maven-release-plugin</artifactId>
464         <version>2.2.1</version>
465         <configuration>
466           <preparationGoals>clean verify</preparationGoals>
467         </configuration>
468       </plugin>
469       <!--Build an executable jar with all dependencies-->
470       <plugin>
471         <artifactId>maven-assembly-plugin</artifactId>
472         <version>2.2.2</version>
473         <configuration>
474           <archive>
475             <manifest>
476               <mainClass>gr.grnet.aquarium.Main</mainClass>
477             </manifest>
478           </archive>
479           <descriptorRefs>
480             <descriptorRef>jar-with-dependencies</descriptorRef>
481           </descriptorRefs>
482         </configuration>
483         <executions>
484           <execution>
485             <id>make-assembly</id>
486             <phase>package</phase>
487             <goals>
488               <goal>single</goal>
489             </goals>
490           </execution>
491         </executions>
492       </plugin>
493
494     </plugins>
495   </build>
496 </project>