Merge "Remove ${karaf.version} property from pom.xml"
[lispflowmapping.git] / commons / parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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/maven-v4_0_0.xsd">
3   <modelVersion>4.0.0</modelVersion>
4
5   <!-- NOTE: Tags we removed: SCM: We don't use maven to pull and push code, so
6              the SCM section does not appear to be needed. See http://maven.apache.org/scm/maven-scm-plugin/usage.html
7
8        NOTE: Our ultimate goal is to remove this pom, and move everything in here
9              up to ODL parent or the root of this project, depending on
10              its relevance. Only the logical root should reference this file. -->
11
12   <parent>
13     <!-- We want to inherit of ODL parent so we can inherit common third party
14          versions etc instead of redefining them here. Also we get some common definitions
15          for plugin configuration etc. -->
16     <groupId>org.opendaylight.odlparent</groupId>
17     <artifactId>odlparent</artifactId>
18     <version>1.8.0-SNAPSHOT</version>
19     <relativePath/>
20   </parent>
21
22   <groupId>org.opendaylight.lispflowmapping</groupId>
23   <artifactId>lispflowmapping-commons</artifactId>
24   <version>1.5.0-SNAPSHOT</version>
25   <packaging>pom</packaging>
26   <name>Parent POM</name>
27
28   <properties>
29     <branding.version>1.8.0-SNAPSHOT</branding.version>
30     <build.suffix>1.0.0</build.suffix>
31     <config.version>0.6.0-SNAPSHOT</config.version>
32     <dlux.loader.version>0.5.0-SNAPSHOT</dlux.loader.version>
33     <dlux.core.version>0.5.0-SNAPSHOT</dlux.core.version>
34     <forwardingrulesmanager.version>0.5.0</forwardingrulesmanager.version>
35     <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
36     <karaf.empty.version>1.8.0-SNAPSHOT</karaf.empty.version>
37     <karaf.resources.version>1.8.0-SNAPSHOT</karaf.resources.version>
38     <lispflowmapping.version>1.5.0-SNAPSHOT</lispflowmapping.version>
39     <mdsal.version>1.5.0-SNAPSHOT</mdsal.version>
40     <neutron.version>0.8.0-SNAPSHOT</neutron.version>
41     <nsf.version>0.8.0-SNAPSHOT</nsf.version>
42     <restconf.version>1.5.0-SNAPSHOT</restconf.version>
43     <sal.version>0.12.0-SNAPSHOT</sal.version>
44     <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
45     <statisticsmanager.version>0.5.0</statisticsmanager.version>
46     <yang.src.path>src/main/yang</yang.src.path>
47     <yangtools.version>1.1.0-SNAPSHOT</yangtools.version>
48   </properties>
49
50   <dependencyManagement>
51     <dependencies>
52       <!-- NOTE: The "Type" jar is considered default. You only need to specify
53                  the type when it is something other than jar. -->
54       <dependency>
55        <groupId>org.opendaylight.yangtools</groupId>
56        <artifactId>yangtools-artifacts</artifactId>
57        <version>1.1.0-SNAPSHOT</version>
58        <type>pom</type>
59       <scope>import</scope>
60       </dependency>
61       <dependency>
62         <groupId>org.opendaylight.mdsal</groupId>
63         <artifactId>mdsal-artifacts</artifactId>
64         <version>2.2.0-SNAPSHOT</version>
65         <type>pom</type>
66        <scope>import</scope>
67       </dependency>
68       <dependency>
69         <groupId>org.opendaylight.mdsal.model</groupId>
70         <artifactId>mdsal-model-artifacts</artifactId>
71         <version>0.10.0-SNAPSHOT</version>
72         <type>pom</type>
73         <scope>import</scope>
74       </dependency>
75       <dependency>
76         <groupId>junit-addons</groupId>
77         <artifactId>junit-addons</artifactId>
78         <version>1.4</version>
79       </dependency>
80       <dependency>
81         <groupId>org.jmock</groupId>
82         <artifactId>jmock</artifactId>
83         <version>2.6.0</version>
84       </dependency>
85       <dependency>
86         <groupId>org.jmock</groupId>
87         <artifactId>jmock-legacy</artifactId>
88         <version>2.6.0</version>
89       </dependency>
90       <dependency>
91         <groupId>org.opendaylight.controller</groupId>
92         <artifactId>config-api</artifactId>
93         <version>0.6.0-SNAPSHOT</version>
94       </dependency>
95       <dependency>
96         <groupId>org.opendaylight.controller</groupId>
97         <artifactId>config-manager</artifactId>
98         <version>${config.version}</version>
99       </dependency>
100       <dependency>
101         <groupId>org.opendaylight.controller</groupId>
102         <artifactId>config-util</artifactId>
103         <version>0.6.0-SNAPSHOT</version>
104       </dependency>
105
106       <dependency>
107         <groupId>org.opendaylight.odlparent</groupId>
108         <artifactId>karaf.branding</artifactId>
109         <version>${branding.version}</version>
110         <scope>compile</scope>
111       </dependency>
112       <dependency>
113         <groupId>org.opendaylight.controller</groupId>
114         <artifactId>netty-event-executor-config</artifactId>
115         <version>${config.version}</version>
116       </dependency>
117       <dependency>
118         <groupId>org.opendaylight.controller</groupId>
119         <artifactId>opendaylight-karaf-empty</artifactId>
120         <version>${karaf.empty.version}</version>
121         <type>zip</type>
122       </dependency>
123
124       <dependency>
125         <groupId>org.opendaylight.odlparent</groupId>
126         <artifactId>opendaylight-karaf-resources</artifactId>
127         <version>${karaf.resources.version}</version>
128       </dependency>
129       <dependency>
130         <groupId>org.opendaylight.controller</groupId>
131         <artifactId>sal-binding-api</artifactId>
132         <version>${mdsal.version}</version>
133       </dependency>
134       <dependency>
135         <groupId>org.opendaylight.controller</groupId>
136         <artifactId>sal-binding-broker-impl</artifactId>
137         <version>${mdsal.version}</version>
138       </dependency>
139       <dependency>
140         <groupId>org.opendaylight.controller</groupId>
141         <artifactId>sal-binding-config</artifactId>
142         <version>${mdsal.version}</version>
143       </dependency>
144       <dependency>
145         <groupId>org.opendaylight.controller</groupId>
146         <artifactId>sal-broker-impl</artifactId>
147         <version>${mdsal.version}</version>
148       </dependency>
149       <dependency>
150         <groupId>org.opendaylight.controller</groupId>
151         <artifactId>sal-common-util</artifactId>
152         <version>${mdsal.version}</version>
153       </dependency>
154       <dependency>
155         <groupId>org.opendaylight.controller</groupId>
156         <artifactId>threadpool-config-api</artifactId>
157         <version>${config.version}</version>
158       </dependency>
159       <dependency>
160         <groupId>org.opendaylight.controller</groupId>
161         <artifactId>threadpool-config-impl</artifactId>
162         <version>0.6.0-SNAPSHOT</version>
163       </dependency>
164       <dependency>
165         <groupId>org.opendaylight.lispflowmapping</groupId>
166         <artifactId>common.build.tools</artifactId>
167         <version>${lispflowmapping.version}</version>
168       </dependency>
169       <dependency>
170         <groupId>org.opendaylight.lispflowmapping</groupId>
171         <artifactId>lispflowmapping-code-commons</artifactId>
172         <version>${lispflowmapping.version}</version>
173       </dependency>
174       <dependency>
175         <groupId>org.opendaylight.lispflowmapping</groupId>
176         <artifactId>lispflowmapping-commons</artifactId>
177         <version>${lispflowmapping.version}</version>
178       </dependency>
179       <dependency>
180         <groupId>org.opendaylight.lispflowmapping</groupId>
181         <artifactId>mappingservice.api</artifactId>
182         <version>${lispflowmapping.version}</version>
183       </dependency>
184       <dependency>
185         <groupId>org.opendaylight.lispflowmapping</groupId>
186         <artifactId>mappingservice.implementation</artifactId>
187         <version>${lispflowmapping.version}</version>
188       </dependency>
189       <dependency>
190         <groupId>org.opendaylight.lispflowmapping</groupId>
191         <artifactId>mappingservice.inmemorydb</artifactId>
192         <version>${lispflowmapping.version}</version>
193       </dependency>
194       <!--
195       <dependency>
196         <groupId>org.opendaylight.lispflowmapping</groupId>
197         <artifactId>mappingservice.neutron</artifactId>
198         <version>${lispflowmapping.version}</version>
199       </dependency>
200       -->
201       <dependency>
202         <groupId>org.opendaylight.lispflowmapping</groupId>
203         <artifactId>mappingservice.northbound</artifactId>
204         <version>${lispflowmapping.version}</version>
205       </dependency>
206       <dependency>
207         <groupId>org.opendaylight.lispflowmapping</groupId>
208         <artifactId>mappingservice.shell</artifactId>
209         <version>${lispflowmapping.version}</version>
210       </dependency>
211       <dependency>
212         <groupId>org.opendaylight.lispflowmapping</groupId>
213         <artifactId>mappingservice.southbound</artifactId>
214         <version>${lispflowmapping.version}</version>
215       </dependency>
216       <dependency>
217         <groupId>org.opendaylight.lispflowmapping</groupId>
218         <artifactId>mappingservice.lisp-proto</artifactId>
219         <version>${lispflowmapping.version}</version>
220       </dependency>
221       <dependency>
222         <groupId>org.opendaylight.lispflowmapping</groupId>
223         <artifactId>mappingservice.config</artifactId>
224         <version>${lispflowmapping.version}</version>
225       </dependency>
226       <dependency>
227         <groupId>org.opendaylight.lispflowmapping</groupId>
228         <artifactId>common.unittest.tools</artifactId>
229         <version>${lispflowmapping.version}</version>
230         <scope>test</scope>
231       </dependency>
232       <dependency>
233         <groupId>org.opendaylight.yangtools</groupId>
234         <artifactId>mockito-configuration</artifactId>
235         <version>${yangtools.version}</version>
236         <scope>test</scope>
237       </dependency>
238       <dependency>
239         <groupId>org.opendaylight.lispflowmapping</groupId>
240         <artifactId>ui-lispflowmapping</artifactId>
241         <version>${lispflowmapping.version}</version>
242       </dependency>
243     </dependencies>
244   </dependencyManagement>
245   <build>
246     <pluginManagement>
247       <plugins>
248         <plugin>
249           <!-- This configures the sort pom plugin to sort properties, dependencies
250                etc during a build. It helps to ensure consistent poms that are easy to read.
251                While the configuration should exist at a root level it is still up to the
252                individual projects to invoke it by defining the plugin in the build->plugins
253                section. -->
254           <groupId>com.google.code.sortpom</groupId>
255           <artifactId>maven-sortpom-plugin</artifactId>
256           <version>2.2.1</version>
257           <configuration>
258             <createBackupFile>false</createBackupFile>
259             <encoding>${project.build.sourceEncoding}</encoding>
260             <keepBlankLines>true</keepBlankLines>
261             <lineSeparator>\n</lineSeparator>
262             <nrOfIndentSpace>2</nrOfIndentSpace>
263             <predefinedSortOrder>custom_1</predefinedSortOrder>
264             <sortDependencies>scope,groupId,artifactId</sortDependencies>
265             <sortPlugins>groupId,artifactId</sortPlugins>
266             <sortProperties>true</sortProperties>
267           </configuration>
268           <executions>
269             <execution>
270               <goals>
271                 <goal>sort</goal>
272               </goals>
273               <phase>verify</phase>
274             </execution>
275           </executions>
276         </plugin>
277         <plugin>
278           <groupId>org.apache.maven.plugins</groupId>
279           <artifactId>maven-assembly-plugin</artifactId>
280           <version>2.4</version>
281         </plugin>
282         <plugin>
283           <!-- TODO move up to ODL parent. -->
284           <!-- This is required to make sure that we delete the files which are
285                being generated under the src/main directory since by default only files
286                under target get cleaned up. Because the clean plugin is automatically invoked
287                you do NOT need to specify it in the build->plugin section. You would only
288                want to override this if you have additional folders which need to be cleaned
289                up. -->
290           <artifactId>maven-clean-plugin</artifactId>
291           <configuration>
292             <filesets>
293               <fileset>
294                 <directory>${jmxGeneratorPath}</directory>
295                 <includes>
296                   <include>**</include>
297                 </includes>
298               </fileset>
299               <fileset>
300                 <directory>${salGeneratorPath}</directory>
301                 <includes>
302                   <include>**</include>
303                 </includes>
304               </fileset>
305             </filesets>
306           </configuration>
307         </plugin>
308         <plugin>
309           <!-- Configures the java doc generation. Generally you should not have
310                to override this unless you need to exclude other packages etc. -->
311           <groupId>org.apache.maven.plugins</groupId>
312           <artifactId>maven-javadoc-plugin</artifactId>
313           <configuration>
314             <doclet>org.jboss.apiviz.APIviz</doclet>
315             <docletArtifact>
316               <groupId>org.jboss.apiviz</groupId>
317               <artifactId>apiviz</artifactId>
318               <version>1.3.2.GA</version>
319             </docletArtifact>
320             <finalName>${project.artifactId}-${project.version}</finalName>
321             <useStandardDocletOptions>true</useStandardDocletOptions>
322             <charset>UTF-8</charset>
323             <encoding>UTF-8</encoding>
324             <docencoding>UTF-8</docencoding>
325             <breakiterator>true</breakiterator>
326             <version>true</version>
327             <author>true</author>
328             <keywords>true</keywords>
329             <excludePackageNames>net.sf.jnetlib.*:cern.*:corejava:*.internal:edu.uci.*</excludePackageNames>
330             <failOnError>false</failOnError>
331           </configuration>
332         </plugin>
333         <plugin>
334           <groupId>org.apache.maven.plugins</groupId>
335           <artifactId>maven-jxr-plugin</artifactId>
336           <version>2.3</version>
337           <configuration>
338             <aggregate>true</aggregate>
339             <linkJavadoc>true</linkJavadoc>
340             <javadocDir>target/apidocs</javadocDir>
341           </configuration>
342         </plugin>
343         <plugin>
344           <!-- TODO: This should be in ODL parent -->
345           <groupId>org.codehaus.mojo</groupId>
346           <artifactId>build-helper-maven-plugin</artifactId>
347           <executions>
348             <execution>
349               <id>add-source</id>
350               <goals>
351                 <goal>add-source</goal>
352               </goals>
353               <phase>generate-sources</phase>
354               <configuration>
355                 <sources>
356                   <source>${yang.src.path}</source>
357                   <source>${jmxGeneratorPath}</source>
358                   <source>${salGeneratorPath}</source>
359                 </sources>
360               </configuration>
361             </execution>
362           </executions>
363         </plugin>
364
365         <plugin>
366           <groupId>org.eclipse.m2e</groupId>
367           <artifactId>lifecycle-mapping</artifactId>
368           <version>1.0.0</version>
369           <configuration>
370             <lifecycleMappingMetadata>
371               <pluginExecutions>
372                 <pluginExecution>
373                   <pluginExecutionFilter>
374                     <groupId>org.codehaus.mojo</groupId>
375                     <artifactId>properties-maven-plugin</artifactId>
376                     <versionRange>[0.0,)</versionRange>
377                     <goals>
378                       <goal>set-system-properties</goal>
379                     </goals>
380                   </pluginExecutionFilter>
381                   <action>
382                     <ignore></ignore>
383                   </action>
384                 </pluginExecution>
385                 <pluginExecution>
386                   <pluginExecutionFilter>
387                     <groupId>org.jacoco</groupId>
388                     <artifactId>jacoco-maven-plugin</artifactId>
389                     <versionRange>[0.0,)</versionRange>
390                     <goals>
391                       <goal>prepare-agent</goal>
392                       <goal>pre-test</goal>
393                       <goal>post-test</goal>
394                     </goals>
395                   </pluginExecutionFilter>
396                   <action>
397                     <ignore></ignore>
398                   </action>
399                 </pluginExecution>
400                 <pluginExecution>
401                   <pluginExecutionFilter>
402                     <groupId>org.ops4j.pax.exam</groupId>
403                     <artifactId>maven-paxexam-plugin</artifactId>
404                     <versionRange>[1.2.4,)</versionRange>
405                     <goals>
406                       <goal>generate-depends-file</goal>
407                     </goals>
408                   </pluginExecutionFilter>
409                   <action>
410                     <ignore></ignore>
411                   </action>
412                 </pluginExecution>
413                 <pluginExecution>
414                   <pluginExecutionFilter>
415                     <groupId>org.apache.maven.plugins</groupId>
416                     <artifactId>maven-checkstyle-plugin</artifactId>
417                     <versionRange>[2.0,)</versionRange>
418                     <goals>
419                       <goal>check</goal>
420                     </goals>
421                   </pluginExecutionFilter>
422                   <action>
423                     <ignore></ignore>
424                   </action>
425                 </pluginExecution>
426                 <pluginExecution>
427                   <pluginExecutionFilter>
428                     <groupId>org.opendaylight.yangtools</groupId>
429                     <artifactId>yang-maven-plugin</artifactId>
430                     <versionRange>[0.5,)</versionRange>
431                     <goals>
432                       <goal>generate-sources</goal>
433                     </goals>
434                   </pluginExecutionFilter>
435                   <action>
436                     <ignore></ignore>
437                   </action>
438                 </pluginExecution>
439               </pluginExecutions>
440             </lifecycleMappingMetadata>
441           </configuration>
442         </plugin>
443       </plugins>
444     </pluginManagement>
445     <plugins>
446       <plugin>
447         <groupId>org.codehaus.mojo</groupId>
448         <artifactId>build-helper-maven-plugin</artifactId>
449       </plugin>
450     </plugins>
451   </build>
452
453   <reporting>
454     <outputDirectory>${project.build.directory}/site</outputDirectory>
455     <excludeDefaults>true</excludeDefaults>
456     <plugins>
457       <plugin>
458         <groupId>org.apache.maven.plugins</groupId>
459         <artifactId>maven-javadoc-plugin</artifactId>
460         <configuration>
461           <doclet>org.jboss.apiviz.APIviz</doclet>
462           <docletArtifact>
463             <groupId>org.jboss.apiviz</groupId>
464             <artifactId>apiviz</artifactId>
465             <version>1.3.2.GA</version>
466           </docletArtifact>
467           <finalName>${project.artifactId}-${build.suffix}</finalName>
468           <useStandardDocletOptions>true</useStandardDocletOptions>
469           <charset>UTF-8</charset>
470           <encoding>UTF-8</encoding>
471           <docencoding>UTF-8</docencoding>
472           <breakiterator>true</breakiterator>
473           <version>true</version>
474           <author>true</author>
475           <keywords>true</keywords>
476           <excludePackageNames>*.internal:edu.uci.*</excludePackageNames>
477         </configuration>
478       </plugin>
479       <plugin>
480         <groupId>org.apache.maven.plugins</groupId>
481         <artifactId>maven-jxr-plugin</artifactId>
482         <version>2.3</version>
483         <configuration>
484           <aggregate>true</aggregate>
485           <linkJavadoc>true</linkJavadoc>
486         </configuration>
487       </plugin>
488       <plugin>
489         <groupId>org.apache.maven.plugins</groupId>
490         <artifactId>maven-project-info-reports-plugin</artifactId>
491         <version>${projectinfo}</version>
492         <configuration>
493           <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
494           <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
495         </configuration>
496         <reportSets>
497           <reportSet>
498             <reports>
499               <report>index</report>
500               <report>project-team</report>
501               <report>license</report>
502               <report>mailing-list</report>
503               <report>plugin-management</report>
504               <report>cim</report>
505               <report>issue-tracking</report>
506               <report>scm</report>
507               <report>summary</report>
508             </reports>
509           </reportSet>
510         </reportSets>
511       </plugin>
512     </plugins>
513   </reporting>
514
515   <!--
516       Maven Site Configuration
517
518       The following configuration is necessary for maven-site-plugin to
519       correctly identify the correct deployment path for OpenDaylight Maven
520       sites.
521   -->
522   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
523
524   <distributionManagement>
525     <!-- Note: We want the nexus proxy property here because want to enable
526          devs to upload this artifact using mvn deploy to other maven repositories. -->
527     <!-- OpenDayLight Released artifact -->
528     <repository>
529       <id>opendaylight-release</id>
530       <url>${nexusproxy}/repositories/opendaylight.release/</url>
531     </repository>
532     <!-- OpenDayLight Snapshot artifact -->
533     <snapshotRepository>
534       <id>opendaylight-snapshot</id>
535       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
536     </snapshotRepository>
537     <!-- Site deployment -->
538     <site>
539       <id>opendaylight-site</id>
540       <url>${nexus.site.url}/${project.artifactId}/</url>
541     </site>
542   </distributionManagement>
543
544 </project>