Do some pom.xml micromanagement
[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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
38
39
40   <modelVersion>4.0.0</modelVersion>
41   <groupId>gr.grnet</groupId>
42   <artifactId>aquarium</artifactId>
43   <version>0.2-SNAPSHOT</version>
44
45   <!-- Project details-->
46   <name>Aquarium</name>
47   <description>
48     Accounting services for the Okeanos cloud
49   </description>
50   <url>http://code.grnet.gr/projects/aquarium</url>
51   <inceptionYear>2011</inceptionYear>
52   <organization>
53     <name>GRNet</name>
54     <url>http://www.grnet.gr/</url>
55   </organization>
56
57   <developers>
58     <developer>
59       <id>gousiosg</id>
60       <name>Georgios Gousios</name>
61       <email>gousiosg@grnet.gr</email>
62     </developer>
63     <developer>
64       <id>loverdos</id>
65       <name>Christos KK Loverdos</name>
66       <email>loverdos@grnet.gr</email>
67     </developer>
68   </developers>
69
70   <scm>
71     <url>http://code.grnet.gr/projects/aquarium/repository</url>
72     <connection>scm:git:https://code.grnet.gr/git/aquarium</connection>
73     <developerConnection>scm:git:https://code.grnet.gr/git/aquarium</developerConnection>
74   </scm>
75
76   <issueManagement>
77     <system>redmine</system>
78     <url>http://code.grnet.gr/projects/aquarium/issues</url>
79   </issueManagement>
80
81   <distributionManagement>
82     <repository>
83       <id>aq-release</id>
84       <name>Aquarium releases repo</name>
85       <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/releases</url>
86     </repository>
87     <snapshotRepository>
88       <id>aq-snapshot</id>
89       <name>Aquarium snapshots repo</name>
90       <url>http://aquarium.dev.grnet.gr:8081/nexus/content/repositories/snapshots</url>
91     </snapshotRepository>
92   </distributionManagement>
93
94   <!--Common project settings-->
95   <properties>
96     <scala.version>2.9.1</scala.version>
97     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
98     <project.reporting.outputEncoding>${project.build.sourceEncoding}
99     </project.reporting.outputEncoding>
100   </properties>
101
102   <!-- Lib and plugin repositories -->
103   <repositories>
104     <repository>
105       <id>scala-tools.releases</id>
106       <name>Scala-Tools Dependencies Repository for Releases</name>
107       <url>http://scala-tools.org/repo-releases</url>
108     </repository>
109     
110     <repository>
111       <id>scala-tools.snapshots</id>
112       <name>Scala-Tools Dependencies Repository for Snapshots</name>
113       <url>http://scala-tools.org/repo-snapshots</url>
114     </repository>
115
116     <repository>
117       <id>java.net.maven2</id>
118       <name>java.net Maven2 Repository</name>
119       <url>http://download.java.net/maven/2/</url>
120     </repository>
121     
122     <repository>
123       <name>JBoss</name>
124       <id>jboss</id>
125       <url>http://repository.jboss.org/nexus/content/groups/public/</url>
126     </repository>
127
128     <repository>
129       <name>jcrontab</name>
130       <id>jcrontab</id>
131       <url>http://kenai.com/projects/crontab-parser/sources/maven-repo/content/</url>
132     </repository>
133
134     <repository>
135       <name>Typesafe</name>
136       <id>typesafe</id>
137       <url>http://repo.typesafe.com/typesafe/releases/</url>
138     </repository>
139   </repositories>
140
141   <pluginRepositories>
142     <pluginRepository>
143       <id>scala-tools.releases</id>
144       <name>Scala-Tools Plugins Repository for Releases</name>
145       <url>http://scala-tools.org/repo-releases</url>
146     </pluginRepository>
147   </pluginRepositories>
148
149   <!-- Master properties (inherited by modules) -->
150   <dependencies>
151     <dependency>
152       <groupId>org.scala-lang</groupId>
153       <artifactId>scala-library</artifactId>
154       <version>${scala.version}</version>
155     </dependency>
156     <dependency>
157       <groupId>org.slf4j</groupId>
158       <artifactId>slf4j-api</artifactId>
159       <version>1.6.1</version>
160     </dependency>
161     <dependency>
162       <groupId>org.scala-lang</groupId>
163       <artifactId>scala-compiler</artifactId>
164       <version>${scala.version}</version>
165       <scope>test</scope>
166     </dependency>
167     <dependency>
168       <groupId>junit</groupId>
169       <artifactId>junit</artifactId>
170       <version>4.10</version>
171       <scope>test</scope>
172     </dependency>
173     <dependency>
174       <groupId>org.slf4j</groupId>
175       <artifactId>slf4j-log4j12</artifactId>
176       <version>1.6.3</version>
177     </dependency>
178     <dependency>
179       <groupId>net.liftweb</groupId>
180       <artifactId>lift-json_2.9.1</artifactId>
181       <version>2.4-M5</version>
182     </dependency>
183
184     <dependency>
185       <groupId>net.liftweb</groupId>
186       <artifactId>lift-json-ext_2.9.1</artifactId>
187       <version>2.4-M5</version>
188       <exclusions>
189         <exclusion>
190           <artifactId>joda-time</artifactId>
191           <groupId>joda-time</groupId>
192         </exclusion>
193       </exclusions>
194     </dependency>
195
196     <dependency>
197       <groupId>org.yaml</groupId>
198       <artifactId>snakeyaml</artifactId>
199       <version>1.9</version>
200     </dependency>
201
202     <dependency>
203       <groupId>com.kenai.crontab-parser</groupId>
204       <artifactId>crontab-parser</artifactId>
205       <version>1.0.1</version>
206     </dependency>
207
208     <dependency>
209       <groupId>com.rabbitmq</groupId>
210       <artifactId>amqp-client</artifactId>
211       <version>2.5.0</version>
212     </dependency>
213
214     <dependency>
215       <groupId>com.ckkloverdos</groupId>
216       <artifactId>streamresource_2.9.1</artifactId>
217       <version>0.2.0</version>
218     </dependency>
219
220     <dependency>
221       <groupId>com.ckkloverdos</groupId>
222       <artifactId>maybe_2.9.1</artifactId>
223       <version>0.3.0</version>
224     </dependency>
225
226     <dependency>
227       <groupId>com.ckkloverdos</groupId>
228       <artifactId>converter_2.9.1</artifactId>
229       <version>0.3.0</version>
230     </dependency>
231
232     <dependency>
233       <groupId>com.ckkloverdos</groupId>
234       <artifactId>sysprop_2.9.1</artifactId>
235       <version>0.1.0</version>
236     </dependency>
237
238     <dependency>
239       <groupId>com.thoughtworks.xstream</groupId>
240       <artifactId>xstream</artifactId>
241       <version>1.4.1</version>
242     </dependency>
243
244     <dependency>
245       <groupId>org.mongodb</groupId>
246       <artifactId>mongo-java-driver</artifactId>
247       <version>2.7.2</version>
248     </dependency>
249
250     <dependency>
251       <groupId>se.scalablesolutions.akka</groupId>
252       <artifactId>akka-actor</artifactId>
253       <version>1.3-RC5</version>
254     </dependency>
255
256     <dependency>
257       <groupId>se.scalablesolutions.akka</groupId>
258       <artifactId>akka-remote</artifactId>
259       <version>1.3-RC5</version>
260       <exclusions>
261         <exclusion>
262           <artifactId>sjson_2.9.0</artifactId>
263           <groupId>net.debasishg</groupId>
264         </exclusion>
265         <exclusion>
266           <artifactId>akka-stm</artifactId>
267           <groupId>se.scalablesolutions.akka</groupId>
268         </exclusion>
269       </exclusions>
270     </dependency>
271
272     <dependency>
273       <groupId>se.scalablesolutions.akka</groupId>
274       <artifactId>akka-amqp</artifactId>
275       <version>1.3-RC5</version>
276     </dependency>
277
278     <dependency>
279       <groupId>se.scalablesolutions.akka</groupId>
280       <artifactId>akka-slf4j</artifactId>
281       <version>1.3-RC5</version>
282     </dependency>
283 <!--
284     <dependency>
285       <groupId>se.scalablesolutions.akka</groupId>
286       <artifactId>akka-testkit</artifactId>
287       <version>1.3-RC5</version>
288       <scope>test</scope>
289     </dependency>-->
290
291     <!--<dependency>-->
292       <!--<groupId>javax.ws.rs</groupId>-->
293       <!--<artifactId>jsr311-api</artifactId>-->
294       <!--<version>1.1.1</version>-->
295     <!--</dependency>-->
296
297     <dependency>
298       <groupId>gr.grnet.spray</groupId>
299       <artifactId>spray-can</artifactId>
300       <version>0.9.2</version>
301     </dependency>
302
303     <!--    <dependency>
304       <groupId>com.yammer.metrics</groupId>
305       <artifactId>metrics-core</artifactId>
306       <version>2.0.0-BETA18-SNAPSHOT</version>
307     </dependency>-->
308 <!--
309     <dependency>
310       <groupId>org.apache.lucene</groupId>
311       <artifactId>lucene-core</artifactId>
312       <version>3.5.0</version>
313     </dependency>-->
314
315     <dependency>
316       <groupId>org.apache.solr</groupId>
317       <artifactId>solr-core</artifactId>
318       <version>3.5.0</version>
319       <exclusions>
320
321         <exclusion>
322           <groupId>org.apache.lucene</groupId>
323           <artifactId>lucene-analyzers</artifactId>
324         </exclusion>
325
326         <exclusion>
327           <groupId>org.apache.lucene</groupId>
328           <artifactId>lucene-highlighter</artifactId>
329         </exclusion>
330
331         <exclusion>
332           <groupId>org.apache.lucene</groupId>
333           <artifactId>lucene-memory</artifactId>
334         </exclusion>
335
336         <exclusion>
337           <groupId>org.apache.lucene</groupId>
338           <artifactId>lucene-misc</artifactId>
339         </exclusion>
340
341         <exclusion>
342           <groupId>org.apache.lucene</groupId>
343           <artifactId>lucene-queries</artifactId>
344         </exclusion>
345
346         <exclusion>
347           <groupId>org.apache.lucene</groupId>
348           <artifactId>lucene-spatial</artifactId>
349         </exclusion>
350
351         <exclusion>
352           <groupId>org.apache.lucene</groupId>
353           <artifactId>lucene-spellchecker</artifactId>
354         </exclusion>
355
356         <exclusion>
357           <groupId>org.apache.lucene</groupId>
358           <artifactId>lucene-grouping</artifactId>
359         </exclusion>
360
361         <exclusion>
362           <groupId>org.apache.solr</groupId>
363           <artifactId>solr-commons-csv</artifactId>
364         </exclusion>
365
366         <exclusion>
367           <groupId>org.apache.solr</groupId>
368           <artifactId>solr-noggit</artifactId>
369         </exclusion>
370
371         <exclusion>
372           <groupId>org.apache.solr</groupId>
373           <artifactId>solr-solrj</artifactId>
374         </exclusion>
375
376         <exclusion>
377           <groupId>commons-fileupload</groupId>
378           <artifactId>commons-fileupload</artifactId>
379         </exclusion>
380
381         <exclusion>
382           <groupId>commons-httpclient</groupId>
383           <artifactId>commons-httpclient</artifactId>
384         </exclusion>
385
386         <exclusion>
387           <groupId>org.slf4j</groupId>
388           <artifactId>jcl-over-slf4j</artifactId>
389         </exclusion>
390
391         <exclusion>
392           <groupId>javax.servlet</groupId>
393           <artifactId>servlet-api</artifactId>
394         </exclusion>
395       </exclusions>
396     </dependency>
397
398     <dependency>
399       <groupId>com.github.scopt</groupId>
400       <artifactId>scopt_${scala.version}</artifactId>
401       <version>1.1.2</version>
402     </dependency>
403
404     <dependency>
405       <groupId>joda-time</groupId>
406       <artifactId>joda-time</artifactId>
407       <version>2.0</version>
408     </dependency>
409
410     <dependency>
411       <groupId>org.joda</groupId>
412       <artifactId>joda-convert</artifactId>
413       <version>1.1</version>
414     </dependency>
415   </dependencies>
416
417   <!--Build configuration-->
418   <build>
419     <sourceDirectory>src/main/scala</sourceDirectory>
420     <testSourceDirectory>src/test/scala</testSourceDirectory>
421     <resources>
422       <resource>
423         <directory>${basedir}/src/main/resources</directory>
424       </resource>
425       <resource>
426         <directory>${project.build.directory}/generated-resources</directory>
427         <filtering>true</filtering>
428       </resource>
429     </resources>
430     <testResources>
431       <testResource>
432         <directory>${basedir}/src/test/resources</directory>
433       </testResource>
434       <testResource>
435         <directory>${project.build.directory}/generated-resources</directory>
436         <filtering>true</filtering>
437       </testResource>
438     </testResources>
439     <plugins>
440       <plugin>
441         <groupId>org.scala-tools</groupId>
442         <artifactId>maven-scala-plugin</artifactId>
443         <version>2.15.2</version>
444         <configuration>
445           <charset>${project.build.sourceEncoding}</charset>
446           <jvmArgs>
447             <jvmArg>-Xmx1024m</jvmArg>
448             <jvmArg>
449               -DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties
450             </jvmArg>
451           </jvmArgs>
452           <args>
453             <arg>-deprecation</arg>
454           </args>
455         </configuration>
456         <executions>
457           <execution>
458             <goals>
459               <goal>compile</goal>
460               <goal>testCompile</goal>
461             </goals>
462           </execution>
463         </executions>
464       </plugin>
465       <!-- Redmine maven plugin -->
466       <plugin>
467         <groupId>org.nuiton.jredmine</groupId>
468         <artifactId>maven-jredmine-plugin</artifactId>
469         <version>1.2.2</version>
470       </plugin>
471       <!-- Produces configuration files for Intellij Idea -->
472       <plugin>
473         <groupId>org.apache.maven.plugins</groupId>
474         <artifactId>maven-idea-plugin</artifactId>
475         <version>2.2</version>
476         <configuration>
477           <downloadSources>true</downloadSources>
478           <downloadJavadocs>true</downloadJavadocs>
479         </configuration>
480       </plugin>
481       <!-- Make sure tests display failures at the console-->
482       <plugin>
483         <groupId>org.apache.maven.plugins</groupId>
484         <artifactId>maven-surefire-plugin</artifactId>
485         <version>2.9</version>
486         <configuration>
487           <useFile>false</useFile>
488           <reportFormat>plain</reportFormat>
489         </configuration>
490       </plugin>
491       <!-- Bundle up source code on release/snapshot -->
492       <plugin>
493         <groupId>org.apache.maven.plugins</groupId>
494         <artifactId>maven-source-plugin</artifactId>
495         <version>2.1.2</version>
496         <executions>
497           <execution>
498             <id>attach-sources</id>
499             <goals>
500               <goal>jar-no-fork</goal>
501             </goals>
502           </execution>
503         </executions>
504       </plugin>
505       <!-- Release plug-in configuration -->
506       <plugin>
507         <groupId>org.apache.maven.plugins</groupId>
508         <artifactId>maven-release-plugin</artifactId>
509         <version>2.2.1</version>
510         <configuration>
511           <preparationGoals>clean verify</preparationGoals>
512         </configuration>
513       </plugin>
514       <!--Build an executable jar with all dependencies-->
515       <plugin>
516         <artifactId>maven-assembly-plugin</artifactId>
517         <version>2.2.2</version>
518         <configuration>
519           <archive>
520             <manifest>
521               <mainClass>gr.grnet.aquarium.Main</mainClass>
522             </manifest>
523           </archive>
524           <descriptorRefs>
525             <descriptorRef>jar-with-dependencies</descriptorRef>
526           </descriptorRefs>
527         </configuration>
528         <executions>
529           <execution>
530             <id>make-assembly</id>
531             <phase>package</phase>
532             <goals>
533               <goal>single</goal>
534             </goals>
535           </execution>
536         </executions>
537       </plugin>
538
539     </plugins>
540   </build>
541 </project>