Make shared resource handling a top-level feature
[aquarium] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
6
7   <modelVersion>4.0.0</modelVersion>
8   <groupId>gr.grnet</groupId>
9   <artifactId>aquarium</artifactId>
10   <version>0.0.1-SNAPSHOT</version>
11   <packaging>pom</packaging>
12
13   <!-- Project details-->
14   <name>Aquarium</name>
15   <description>
16     Account handling, sharing and charging services for the Okeanos cloud
17   </description>
18   <url>http://code.grnet.gr/projects/aquarium</url>
19   <inceptionYear>2011</inceptionYear>
20   <organization>
21     <name>GRNet</name>
22     <url>http://www.grnet.gr/</url>
23   </organization>
24
25   <developers>
26     <developer>
27       <id>gousiosg</id>
28       <name>Georgios Gousios</name>
29       <email>gousiosg@grnet.gr</email>
30     </developer>
31   </developers>
32
33   <scm>
34     <url>http://code.grnet.gr/projects/aquarium/repository</url>
35     <connection>scm:git:https://code.grnet.gr/git/aquarium</connection>
36   </scm>
37
38   <issueManagement>
39     <system>redmine</system>
40     <url>http://code.grnet.gr/projects/aquarium/issuses</url>
41   </issueManagement>
42
43   <!--Common project settings-->
44   <properties>
45     <scala.version>2.9.1</scala.version>
46     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
47     <project.reporting.outputEncoding>${project.build.sourceEncoding}
48     </project.reporting.outputEncoding>
49   </properties>
50
51   <!-- Lib and plugin repositories -->
52   <repositories>
53     <repository>
54       <id>scala-tools.releases</id>
55       <name>Scala-Tools Dependencies Repository for Releases</name>
56       <url>http://scala-tools.org/repo-releases</url>
57     </repository>
58     <repository>
59       <id>java.net.maven2</id>
60       <name>java.net Maven2 Repository</name>
61       <url>http://download.java.net/maven/2/</url>
62     </repository>
63     <repository>
64       <id>EclipseLink Repo</id>
65       <url>http://www.eclipse.org/downloads/download.php?r=1&amp;nf=1&amp;file=/rt/eclipselink/maven.repo</url>
66     </repository>
67   </repositories>
68
69   <pluginRepositories>
70     <pluginRepository>
71       <id>scala-tools.releases</id>
72       <name>Scala-Tools Plugins Repository for Releases</name>
73       <url>http://scala-tools.org/repo-releases</url>
74     </pluginRepository>
75   </pluginRepositories>
76
77   <!-- Master properties (inherited by modules) -->
78   <dependencies>
79     <dependency>
80       <groupId>org.scala-lang</groupId>
81       <artifactId>scala-library</artifactId>
82       <version>${scala.version}</version>
83     </dependency>
84     <dependency>
85       <groupId>org.slf4j</groupId>
86       <artifactId>slf4j-api</artifactId>
87       <version>1.6.1</version>
88     </dependency>
89     <dependency>
90       <groupId>org.scala-lang</groupId>
91       <artifactId>scala-compiler</artifactId>
92       <version>${scala.version}</version>
93       <scope>test</scope>
94     </dependency>
95     <dependency>
96       <groupId>junit</groupId>
97       <artifactId>junit</artifactId>
98       <version>4.7</version>
99       <scope>test</scope>
100     </dependency>
101     <dependency>
102       <groupId>org.eclipse.persistence</groupId>
103       <artifactId>eclipselink</artifactId>
104       <version>2.2.0</version>
105     </dependency>
106     <dependency>
107       <groupId>com.h2database</groupId>
108       <artifactId>h2</artifactId>
109       <version>1.3.160</version>
110     </dependency>
111     <dependency>
112       <groupId>mysql</groupId>
113       <artifactId>mysql-connector-java</artifactId>
114       <version>5.1.17</version>
115     </dependency>
116     <dependency>
117       <groupId>org.scala-libs</groupId>
118       <artifactId>scalajpa_2.9.1</artifactId>
119       <version>1.4</version>
120     </dependency>
121   </dependencies>
122
123   <!--Configuration shared with subprojects-->
124   <build>
125     <sourceDirectory>src/main/scala</sourceDirectory>
126     <testSourceDirectory>src/test/scala</testSourceDirectory>
127     <resources>
128       <resource>
129         <directory>${basedir}/src/main/resources</directory>
130       </resource>
131       <resource>
132         <directory>${project.build.directory}/generated-resources</directory>
133         <filtering>true</filtering>
134       </resource>
135     </resources>
136     <testResources>
137       <testResource>
138         <directory>${basedir}/src/test/resources</directory>
139       </testResource>
140       <testResource>
141         <directory>${project.build.directory}/generated-resources</directory>
142         <filtering>true</filtering>
143       </testResource>
144     </testResources>
145     <plugins>
146       <plugin>
147         <groupId>org.scala-tools</groupId>
148         <artifactId>maven-scala-plugin</artifactId>
149         <version>2.15.2</version>
150         <configuration>
151           <charset>${project.build.sourceEncoding}</charset>
152           <jvmArgs>
153             <jvmArg>-Xmx1024m</jvmArg>
154             <jvmArg>
155               -DpackageLinkDefs=file://${project.build.directory}/packageLinkDefs.properties
156             </jvmArg>
157           </jvmArgs>
158           <args>
159             <arg>-deprecation</arg>
160           </args>
161         </configuration>
162         <executions>
163           <execution>
164             <goals>
165               <goal>compile</goal>
166               <goal>testCompile</goal>
167             </goals>
168           </execution>
169         </executions>
170       </plugin>
171       <plugin>
172         <groupId>org.apache.maven.plugins</groupId>
173         <artifactId>maven-resources-plugin</artifactId>
174         <version>2.5</version>
175         <executions>
176           <execution>
177             <id>default-copy-resources</id>
178             <phase>process-resources</phase>
179             <goals>
180               <goal>copy-resources</goal>
181             </goals>
182             <configuration>
183               <overwrite>true</overwrite>
184               <outputDirectory>${project.build.directory}</outputDirectory>
185               <resources>
186                 <resource>
187                   <directory>${project.basedir}/src</directory>
188                   <includes>
189                     <include>packageLinkDefs.properties</include>
190                   </includes>
191                   <filtering>true</filtering>
192                 </resource>
193               </resources>
194             </configuration>
195           </execution>
196         </executions>
197       </plugin>
198       <plugin>
199         <groupId>org.apache.maven.plugins</groupId>
200         <artifactId>maven-release-plugin</artifactId>
201         <version>2.2.1</version>
202         <configuration>
203           <scmCommentPrefix/>
204         </configuration>
205       </plugin>
206       <!-- Redmine maven plugin -->
207       <plugin>
208         <groupId>org.nuiton.jredmine</groupId>
209         <artifactId>maven-jredmine-plugin</artifactId>
210         <version>1.2.2</version>
211       </plugin>
212       <!-- Produces configuration files for Intellij Idea -->
213       <plugin>
214         <groupId>org.apache.maven.plugins</groupId>
215         <artifactId>maven-idea-plugin</artifactId>
216         <version>2.2</version>
217         <configuration>
218           <downloadSources>true</downloadSources>
219           <downloadJavadocs>true</downloadJavadocs>
220         </configuration>
221       </plugin>
222       <!-- Make sure tests display results in console and not in files-->
223       <plugin>
224         <groupId>org.apache.maven.plugins</groupId>
225         <artifactId>maven-surefire-plugin</artifactId>
226         <version>2.9</version>
227         <configuration>
228           <useFile>false</useFile>
229           <reportFormat>plain</reportFormat>
230         </configuration>
231       </plugin>
232       <!-- Shared resources -->
233       <plugin>
234         <groupId>org.apache.maven.plugins</groupId>
235         <artifactId>maven-dependency-plugin</artifactId>
236         <executions>
237           <execution>
238             <id>unpack-shared-resources</id>
239             <goals>
240               <goal>unpack-dependencies</goal>
241             </goals>
242             <phase>generate-resources</phase>
243             <configuration>
244               <outputDirectory>${project.build.directory}/generated-resources
245               </outputDirectory>
246               <includeArtifactIds>shared</includeArtifactIds>
247               <includeGroupIds>gr.grnet.aquarium</includeGroupIds>
248               <excludeTransitive>true</excludeTransitive>
249             </configuration>
250           </execution>
251         </executions>
252       </plugin>
253     </plugins>
254   </build>
255   <!--Sub projects-->
256   <modules>
257     <module>model</module>
258     <module>logic</module>
259     <module>shared</module>
260   </modules>
261 </project>