BUG-994: improve object cache
[yangtools.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12
13     <modelVersion>4.0.0</modelVersion>
14     <artifactId>yangtools</artifactId>
15     <groupId>org.opendaylight.yangtools</groupId>
16     <version>0.6.2-SNAPSHOT</version>
17     <packaging>pom</packaging>
18     <prerequisites>
19         <maven>3.0.4</maven>
20     </prerequisites>
21
22     <properties>
23         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
25
26         <!-- Java Versions -->
27         <maven.compiler.source>1.7</maven.compiler.source>
28         <maven.compiler.target>1.7</maven.compiler.target>
29
30         <!-- Build Plugin Versions -->
31         <maven.bundle.version>2.4.0</maven.bundle.version>
32         <maven.jar.version>2.3.2</maven.jar.version>
33         <maven.javadoc.version>2.9.1</maven.javadoc.version>
34         <maven.release.version>2.4.2</maven.release.version>
35         <maven.source.version>2.2.1</maven.source.version>
36         <maven.surefire.version>2.16</maven.surefire.version>
37
38         <!-- Supporting Libraries -->
39         <commons.lang.version>3.1</commons.lang.version>
40         <junit.version>4.10</junit.version>
41         <slf4j.version>1.7.2</slf4j.version>
42         <guava.version>14.0.1</guava.version>
43         <xtend.version>2.4.3</xtend.version>
44         <groovy.version>2.1.6</groovy.version>
45         <mockito.version>1.9.5</mockito.version>
46         <javassist.version>3.17.1-GA</javassist.version>
47     </properties>
48
49     <scm>
50         <connection>scm:git:ssh://git.opendaylight.org:29418/yangtools.git</connection>
51         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/yangtools.git</developerConnection>
52         <url>https://wiki.opendaylight.org/view/YANG_Tools:Main</url>
53         <tag>HEAD</tag>
54     </scm>
55
56     <modules>
57         <module>code-generator</module>
58         <module>common</module>
59         <module>integration-test</module>
60         <module>model</module>
61         <module>restconf</module>
62         <module>websocket</module>
63         <module>yang</module>
64         <!-- module>third-party</module -->
65     </modules>
66
67     <pluginRepositories>
68         <!-- OpenDayLight Repo Mirror -->
69         <pluginRepository>
70             <id>opendaylight-mirror</id>
71             <name>opendaylight-mirror</name>
72             <url>${nexusproxy}/groups/public/</url>
73             <snapshots>
74                 <enabled>false</enabled>
75             </snapshots>
76             <releases>
77                 <enabled>true</enabled>
78                 <updatePolicy>never</updatePolicy>
79             </releases>
80         </pluginRepository>
81
82         <!-- OpenDayLight Snapshot artifact -->
83         <pluginRepository>
84             <id>opendaylight-snapshot</id>
85             <name>opendaylight-snapshot</name>
86             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
87             <snapshots>
88                 <enabled>true</enabled>
89             </snapshots>
90             <releases>
91                 <enabled>false</enabled>
92             </releases>
93         </pluginRepository>
94     </pluginRepositories>
95
96     <repositories>
97         <!-- OpenDayLight Repo Mirror -->
98         <repository>
99             <id>opendaylight-mirror</id>
100             <name>opendaylight-mirror</name>
101             <url>${nexusproxy}/groups/public/</url>
102             <snapshots>
103                 <enabled>false</enabled>
104             </snapshots>
105             <releases>
106                 <enabled>true</enabled>
107                 <updatePolicy>never</updatePolicy>
108             </releases>
109         </repository>
110
111         <!-- OpenDayLight Snapshot artifact -->
112         <repository>
113             <id>opendaylight-snapshot</id>
114             <name>opendaylight-snapshot</name>
115             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
116             <snapshots>
117                 <enabled>true</enabled>
118             </snapshots>
119             <releases>
120                 <enabled>false</enabled>
121             </releases>
122         </repository>
123     </repositories>
124
125     <dependencyManagement>
126         <dependencies>
127             <!-- Testing Dependencies -->
128             <dependency>
129                 <groupId>junit</groupId>
130                 <artifactId>junit</artifactId>
131                 <version>${junit.version}</version>
132                 <scope>test</scope>
133             </dependency>
134             <dependency>
135                 <groupId>org.mockito</groupId>
136                 <artifactId>mockito-all</artifactId>
137                 <version>${mockito.version}</version>
138                 <scope>test</scope>
139             </dependency>
140             <dependency>
141                 <groupId>org.mockito</groupId>
142                 <artifactId>mockito-core</artifactId>
143                 <version>${mockito.version}</version>
144                 <scope>test</scope>
145             </dependency>
146             <dependency>
147                 <groupId>org.slf4j</groupId>
148                 <artifactId>slf4j-simple</artifactId>
149                 <version>${slf4j.version}</version>
150                 <scope>test</scope>
151             </dependency>
152
153             <!-- Supporting Libraries -->
154             <dependency>
155                 <groupId>org.slf4j</groupId>
156                 <artifactId>slf4j-api</artifactId>
157                 <version>${slf4j.version}</version>
158             </dependency>
159             <dependency>
160                 <groupId>com.google.guava</groupId>
161                 <artifactId>guava</artifactId>
162                 <version>${guava.version}</version>
163             </dependency>
164             <dependency>
165                 <groupId>org.eclipse.xtend</groupId>
166                 <artifactId>org.eclipse.xtend.lib</artifactId>
167                 <version>${xtend.version}</version>
168             </dependency>
169             <dependency>
170                 <groupId>org.apache.commons</groupId>
171                 <artifactId>commons-lang3</artifactId>
172                 <version>${commons.lang.version}</version>
173             </dependency>
174             <dependency>
175                 <groupId>com.google.code.findbugs</groupId>
176                 <artifactId>jsr305</artifactId>
177                 <version>2.0.3</version>
178             </dependency>
179
180             <!-- Plugin integration -->
181             <dependency>
182                 <groupId>org.sonatype.plexus</groupId>
183                 <artifactId>plexus-build-api</artifactId>
184                 <version>0.0.7</version>
185             </dependency>
186             <dependency>
187                 <groupId>org.codehaus.plexus</groupId>
188                 <artifactId>plexus-slf4j-logging</artifactId>
189                 <version>1.1</version>
190             </dependency>
191             <dependency>
192                 <groupId>commons-io</groupId>
193                 <artifactId>commons-io</artifactId>
194                 <version>2.4</version>
195             </dependency>
196
197
198             <!-- Our artifacts -->
199             <dependency>
200                 <groupId>${project.groupId}</groupId>
201                 <artifactId>concepts</artifactId>
202                 <version>${project.version}</version>
203             </dependency>
204             <dependency>
205                 <groupId>${project.groupId}</groupId>
206                 <artifactId>object-cache-api</artifactId>
207                 <version>${project.version}</version>
208             </dependency>
209             <dependency>
210                 <groupId>${project.groupId}</groupId>
211                 <artifactId>object-cache-guava</artifactId>
212                 <version>${project.version}</version>
213             </dependency>
214             <dependency>
215                 <groupId>${project.groupId}</groupId>
216                 <artifactId>object-cache-noop</artifactId>
217                 <version>${project.version}</version>
218             </dependency>
219         </dependencies>
220     </dependencyManagement>
221
222     <dependencies>
223         <dependency>
224             <groupId>org.slf4j</groupId>
225             <artifactId>slf4j-simple</artifactId>
226         </dependency>
227     </dependencies>
228
229     <distributionManagement>
230         <!-- OpenDayLight Released artifact -->
231         <repository>
232             <id>opendaylight-release</id>
233             <url>${nexusproxy}/repositories/opendaylight.release/</url>
234         </repository>
235         <!-- OpenDayLight Snapshot artifact -->
236         <snapshotRepository>
237             <id>opendaylight-snapshot</id>
238             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
239         </snapshotRepository>
240         <site>
241             <id>${project.artifactId}-site</id>
242             <url>./</url>
243         </site>
244     </distributionManagement>
245
246     <build>
247         <pluginManagement>
248             <plugins>
249                 <plugin>
250                     <groupId>org.apache.maven.plugins</groupId>
251                     <artifactId>maven-jar-plugin</artifactId>
252                     <version>${maven.jar.version}</version>
253                     <configuration>
254                         <archive>
255                             <!-- Bundle OSGi Manifest created by maven-bundle-plugin
256                                 into jar file -->
257                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
258                         </archive>
259                     </configuration>
260                 </plugin>
261                 <plugin>
262                     <groupId>org.apache.felix</groupId>
263                     <artifactId>maven-bundle-plugin</artifactId>
264                     <version>${maven.bundle.version}</version>
265                     <extensions>true</extensions>
266                     <executions>
267                         <execution>
268                             <id>bundle-manifest</id>
269                             <phase>process-classes</phase>
270                             <goals>
271                                 <goal>manifest</goal>
272                             </goals>
273                         </execution>
274                     </executions>
275                     <configuration>
276                         <instructions>
277                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
278                             <!--
279                                                         <Export-Package>*</Export-Package>
280                             -->
281                         </instructions>
282                     </configuration>
283                 </plugin>
284                 <plugin>
285                     <groupId>org.eclipse.xtend</groupId>
286                     <artifactId>xtend-maven-plugin</artifactId>
287                     <version>${xtend.version}</version>
288                     <executions>
289                         <execution>
290                             <goals>
291                                 <goal>compile</goal>
292                             </goals>
293                             <configuration>
294                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
295                             </configuration>
296                         </execution>
297                     </executions>
298                 </plugin>
299                 <plugin>
300                     <artifactId>maven-clean-plugin</artifactId>
301                     <version>2.5</version>
302                     <configuration>
303                         <filesets>
304                             <fileset>
305                                 <directory>${basedir}/src/main/xtend-gen</directory>
306                                 <includes>
307                                     <include>**</include>
308                                 </includes>
309                             </fileset>
310                         </filesets>
311                     </configuration>
312                 </plugin>
313                 <plugin>
314                     <groupId>org.eclipse.m2e</groupId>
315                     <artifactId>lifecycle-mapping</artifactId>
316                     <version>1.0.0</version>
317                     <configuration>
318                         <lifecycleMappingMetadata>
319                             <pluginExecutions>
320                                 <pluginExecution>
321                                     <pluginExecutionFilter>
322                                         <groupId>org.apache.felix</groupId>
323                                         <artifactId>maven-bundle-plugin</artifactId>
324                                         <versionRange>[1.0,)</versionRange>
325                                         <goals>
326                                             <goal>manifest</goal>
327                                         </goals>
328                                     </pluginExecutionFilter>
329                                     <action>
330                                         <execute/>
331                                     </action>
332                                 </pluginExecution>
333                             </pluginExecutions>
334                         </lifecycleMappingMetadata>
335                     </configuration>
336                 </plugin>
337                 <plugin>
338                     <groupId>org.apache.maven.plugins</groupId>
339                     <artifactId>maven-javadoc-plugin</artifactId>
340                     <version>${maven.javadoc.version}</version>
341                     <configuration>
342                         <stylesheetfile>stylesheet.css</stylesheetfile>
343                     </configuration>
344                     <executions>
345                         <execution>
346                             <id>attach-javadocs</id>
347                             <goals>
348                                 <goal>jar</goal>
349                             </goals>
350                         </execution>
351                         <execution>
352                             <goals>
353                                 <goal>aggregate</goal>
354                             </goals>
355                             <phase>site</phase>
356                         </execution>
357                     </executions>
358                 </plugin>
359                 <plugin>
360                     <groupId>org.apache.maven.plugins</groupId>
361                     <artifactId>maven-release-plugin</artifactId>
362                     <version>${maven.release.version}</version>
363
364                     <!-- Since we have a maven plugin, we need to install it -->
365                     <configuration>
366                         <preparationGoals>clean install</preparationGoals>
367                         <completionGoals>clean install</completionGoals>
368                     </configuration>
369                 </plugin>
370             </plugins>
371         </pluginManagement>
372         <plugins>
373             <plugin>
374                 <groupId>org.apache.maven.plugins</groupId>
375                 <artifactId>maven-jar-plugin</artifactId>
376             </plugin>
377             <plugin>
378                 <groupId>org.apache.felix</groupId>
379                 <artifactId>maven-bundle-plugin</artifactId>
380             </plugin>
381             <plugin>
382                 <groupId>org.apache.maven.plugins</groupId>
383                 <artifactId>maven-source-plugin</artifactId>
384                 <version>${maven.source.version}</version>
385                 <executions>
386                     <execution>
387                         <id>attach-sources</id>
388                         <goals>
389                             <goal>jar</goal>
390                         </goals>
391                     </execution>
392                 </executions>
393             </plugin>
394             <plugin>
395                 <groupId>org.apache.maven.plugins</groupId>
396                 <artifactId>maven-javadoc-plugin</artifactId>
397             </plugin>
398         </plugins>
399     </build>
400
401     <reporting>
402         <plugins>
403             <plugin>
404                 <groupId>org.codehaus.mojo</groupId>
405                 <artifactId>findbugs-maven-plugin</artifactId>
406                 <version>2.5.3</version>
407                 <configuration>
408                     <effort>Max</effort>
409                     <threshold>Low</threshold>
410                     <goal>site</goal>
411                 </configuration>
412             </plugin>
413             <plugin>
414                 <groupId>org.codehaus.mojo</groupId>
415                 <artifactId>jdepend-maven-plugin</artifactId>
416                 <version>2.0-beta-2</version>
417             </plugin>
418         </plugins>
419     </reporting>
420 </project>