Merge "Adjust compiler flags"
[bgpcep.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <project xmlns="http://maven.apache.org/POM/4.0.0" 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     <modelVersion>4.0.0</modelVersion>
6
7     <groupId>org.opendaylight.bgpcep</groupId>
8     <artifactId>protocol-parent</artifactId>
9     <name>OpenDaylight protocols</name>
10     <description>OpenDaylight BGP+PCEP protocol parent</description>
11     <version>0.3.0-SNAPSHOT</version>
12     <packaging>pom</packaging>
13
14     <licenses>
15         <license>
16             <name>The Eclipse Public License v1.0</name>
17             <url>http://www.eclipse.org/legal/epl-v10.html</url>
18             <distribution>repo</distribution>
19         </license>
20     </licenses>
21
22     <properties>
23         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
24         <commonscodec.version>1.7</commonscodec.version>
25         <dependency.version>2.8</dependency.version>
26         <guava.version>14.0.1</guava.version>
27         <java.version.source>1.7</java.version.source>
28         <java.version.target>1.7</java.version.target>
29         <junit.version>4.10</junit.version>
30         <logback.version>1.0.7</logback.version>
31         <maven.bundle.version>2.4.0</maven.bundle.version>
32         <maven.compiler.version>3.1</maven.compiler.version>
33         <maven.info.reports.version>2.7</maven.info.reports.version>
34         <maven.jar.version>2.4</maven.jar.version>
35         <maven.shade.version>2.1</maven.shade.version>
36         <maven.site.version>3.3</maven.site.version>
37         <mockito.version>1.9.5</mockito.version>
38         <netty.version>4.0.10.Final</netty.version>
39         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
40         <slf4j.version>1.7.2</slf4j.version>
41         <surefire.version>2.15</surefire.version>
42         <osgi.version>5.0.0</osgi.version>
43
44         <yangtools.version>0.5.9-SNAPSHOT</yangtools.version>
45         <controller.config.version>0.2.3-SNAPSHOT</controller.config.version>
46         <yang.binding.version>0.6.0-SNAPSHOT</yang.binding.version>
47         <ietf.types.version>2010.09.24.1</ietf.types.version>
48         <ietf.topology.version>2013.10.21.0-SNAPSHOT</ietf.topology.version>
49     </properties>
50     <prerequisites>
51         <maven>3.0.4</maven>
52     </prerequisites>
53
54     <modules>
55         <!-- Common infra -->
56         <module>concepts</module>
57         <module>framework</module>
58         <module>mockito-configuration</module>
59         <module>util</module>
60
61         <!-- Subsystems -->
62         <module>bgp</module>
63         <module>pcep</module>
64         <module>programming</module>
65         <module>rsvp</module>
66         <module>topology</module>
67
68         <!-- Integration tests -->
69         <module>integration-tests</module>
70     </modules>
71
72     <dependencyManagement>
73         <dependencies>
74             <!-- This project -->
75             <dependency>
76                 <groupId>${project.groupId}</groupId>
77                 <artifactId>concepts</artifactId>
78                 <version>${project.version}</version>
79             </dependency>
80             <dependency>
81                 <groupId>${project.groupId}</groupId>
82                 <artifactId>framework</artifactId>
83                 <version>${project.version}</version>
84             </dependency>
85             <dependency>
86                 <groupId>${project.groupId}</groupId>
87                 <artifactId>util</artifactId>
88                 <version>${project.version}</version>
89             </dependency>
90
91             <!-- Testing Dependencies -->
92             <dependency>
93                 <groupId>junit</groupId>
94                 <artifactId>junit</artifactId>
95                 <version>${junit.version}</version>
96                 <scope>test</scope>
97             </dependency>
98             <dependency>
99                 <groupId>org.mockito</groupId>
100                 <artifactId>mockito-core</artifactId>
101                 <version>${mockito.version}</version>
102                 <scope>test</scope>
103             </dependency>
104             <dependency>
105                 <groupId>${project.groupId}</groupId>
106                 <artifactId>mockito-configuration</artifactId>
107                 <version>${project.version}</version>
108                 <scope>test</scope>
109             </dependency>
110
111             <!-- Supporting Libraries -->
112             <dependency>
113                 <groupId>org.slf4j</groupId>
114                 <artifactId>slf4j-api</artifactId>
115                 <version>${slf4j.version}</version>
116             </dependency>
117             <dependency>
118                 <groupId>com.google.guava</groupId>
119                 <artifactId>guava</artifactId>
120                 <version>${guava.version}</version>
121             </dependency>
122             <dependency>
123                 <groupId>com.google.code.findbugs</groupId>
124                 <artifactId>jsr305</artifactId>
125                 <version>2.0.1</version>
126             </dependency>
127
128             <!-- Netty -->
129             <dependency>
130                 <groupId>io.netty</groupId>
131                 <artifactId>netty-buffer</artifactId>
132                 <version>${netty.version}</version>
133             </dependency>
134             <dependency>
135                 <groupId>io.netty</groupId>
136                 <artifactId>netty-codec</artifactId>
137                 <version>${netty.version}</version>
138             </dependency>
139             <dependency>
140                 <groupId>io.netty</groupId>
141                 <artifactId>netty-common</artifactId>
142                 <version>${netty.version}</version>
143             </dependency>
144             <dependency>
145                 <groupId>io.netty</groupId>
146                 <artifactId>netty-transport</artifactId>
147                 <version>${netty.version}</version>
148             </dependency>
149
150             <!-- YANG tools -->
151             <dependency>
152                 <groupId>org.opendaylight.yangtools</groupId>
153                 <artifactId>yang-binding</artifactId>
154                 <version>${yang.binding.version}</version>
155             </dependency>
156             <dependency>
157                 <groupId>org.opendaylight.yangtools</groupId>
158                 <artifactId>yang-common</artifactId>
159                 <version>${yangtools.version}</version>
160             </dependency>
161
162             <!-- Controller infrastructure -->
163             <dependency>
164                 <groupId>org.opendaylight.controller</groupId>
165                 <artifactId>config-api</artifactId>
166                 <version>${controller.config.version}</version>
167             </dependency>
168             <dependency>
169                 <groupId>org.opendaylight.controller</groupId>
170                 <artifactId>sal-binding-api</artifactId>
171                 <version>1.0-SNAPSHOT</version>
172             </dependency>
173             <dependency>
174                 <groupId>org.opendaylight.controller</groupId>
175                 <artifactId>sal-binding-config</artifactId>
176                 <version>1.0-SNAPSHOT</version>
177             </dependency>
178             <dependency>
179                 <groupId>org.opendaylight.controller</groupId>
180                 <artifactId>sal-binding-broker-impl</artifactId>
181                 <version>1.0-SNAPSHOT</version>
182                 <scope>test</scope>
183             </dependency>
184
185             <!-- OSGi -->
186             <dependency>
187                 <groupId>org.osgi</groupId>
188                 <artifactId>org.osgi.core</artifactId>
189                 <version>${osgi.version}</version>
190                 <scope>provided</scope>
191             </dependency>
192
193             <!-- Models -->
194             <dependency>
195                 <groupId>org.opendaylight.yangtools.model</groupId>
196                 <artifactId>ietf-inet-types</artifactId>
197                 <version>${ietf.types.version}</version>
198             </dependency>
199             <dependency>
200                 <groupId>org.opendaylight.yangtools.model</groupId>
201                 <artifactId>ietf-ted</artifactId>
202                 <version>${ietf.topology.version}</version>
203             </dependency>
204             <dependency>
205                 <groupId>org.opendaylight.yangtools.model</groupId>
206                 <artifactId>ietf-topology</artifactId>
207                 <version>${ietf.topology.version}</version>
208             </dependency>
209             <dependency>
210                 <groupId>org.opendaylight.yangtools.model</groupId>
211                 <artifactId>ietf-topology-isis</artifactId>
212                 <version>${ietf.topology.version}</version>
213             </dependency>
214             <dependency>
215                 <groupId>org.opendaylight.yangtools.model</groupId>
216                 <artifactId>ietf-topology-l3-unicast-igp</artifactId>
217                 <version>${ietf.topology.version}</version>
218             </dependency>
219             <dependency>
220                 <groupId>org.opendaylight.yangtools.model</groupId>
221                 <artifactId>ietf-topology-ospf</artifactId>
222                 <version>${ietf.topology.version}</version>
223             </dependency>
224         </dependencies>
225     </dependencyManagement>
226
227     <dependencies>
228         <dependency>
229             <groupId>ch.qos.logback</groupId>
230             <artifactId>logback-classic</artifactId>
231             <version>${logback.version}</version>
232             <scope>test</scope>
233         </dependency>
234     </dependencies>
235
236     <reporting>
237         <plugins>
238             <plugin>
239                 <groupId>org.apache.maven.plugins</groupId>
240                 <artifactId>maven-project-info-reports-plugin</artifactId>
241                 <version>${maven.info.reports.version}</version>
242                 <reportSets>
243                     <reportSet>
244                         <reports>
245                             <report>dependency-info</report>
246                             <report>license</report>
247                         </reports>
248                     </reportSet>
249                 </reportSets>
250             </plugin>
251             <plugin>
252                 <groupId>org.apache.maven.plugins</groupId>
253                 <artifactId>maven-javadoc-plugin</artifactId>
254                 <reportSets>
255                     <reportSet>
256                         <id>non-aggregate</id>
257                         <reports>
258                             <report>javadoc</report>
259                         </reports>
260                     </reportSet>
261                     <reportSet>
262                         <id>aggregate</id>
263                         <reports>
264                             <report>aggregate</report>
265                         </reports>
266                     </reportSet>
267                 </reportSets>
268             </plugin>
269             <!--plugin>
270                 <groupId>org.codehaus.mojo</groupId>
271                 <artifactId>findbugs-maven-plugin</artifactId>
272                 <version>2.4.0</version>
273                 <configuration>
274                     <effort>Max</effort>
275                     <threshold>Low</threshold>
276                     <goal>site</goal>
277                 </configuration>
278             </plugin-->
279         </plugins>
280     </reporting>
281
282     <distributionManagement>
283         <!-- OpenDayLight Released artifact -->
284         <repository>
285             <id>opendaylight-release</id>
286             <url>${nexusproxy}/repositories/opendaylight.release/</url>
287         </repository>
288         <!-- OpenDayLight Snapshot artifact -->
289         <snapshotRepository>
290             <id>opendaylight-snapshot</id>
291             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
292         </snapshotRepository>
293         <site>
294             <id>wiki.opendaylight.org</id>
295             <url>https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main/site</url>
296         </site>
297     </distributionManagement>
298
299     <build>
300         <plugins>
301             <plugin>
302                 <groupId>org.apache.maven.plugins</groupId>
303                 <artifactId>maven-compiler-plugin</artifactId>
304                 <version>${maven.compiler.version}</version>
305                 <configuration>
306                     <source>${java.version.source}</source>
307                     <target>${java.version.target}</target>
308                     <testSource>${java.version.source}</testSource>
309                     <testTarget>${java.version.target}</testTarget>
310                     <showDeprecation>true</showDeprecation>
311                     <showWarnings>true</showWarnings>
312                     <optimize>true</optimize>
313                 </configuration>
314             </plugin>
315             <plugin>
316                 <groupId>org.apache.maven.plugins</groupId>
317                 <artifactId>maven-surefire-plugin</artifactId>
318                 <version>${surefire.version}</version>
319                 <configuration>
320                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
321                     <!--parallel>classes</parallel>
322                     <forkCount>1C</forkCount>
323                     <reuseForks>false</reuseForks>
324                     <perCoreThreadCount>true</perCoreThreadCount-->
325                     <threadCount>1</threadCount>
326                 </configuration>
327             </plugin>
328
329             <plugin>
330                 <groupId>org.apache.maven.plugins</groupId>
331                 <artifactId>maven-dependency-plugin</artifactId>
332                 <version>${dependency.version}</version>
333                 <configuration>
334                     <failOnWarning>true</failOnWarning>
335                     <ignoreNonCompile>true</ignoreNonCompile>
336                 </configuration>
337             </plugin>
338             <plugin>
339                 <!-- Let eclipse know about the generated sources -->
340                 <groupId>org.codehaus.mojo</groupId>
341                 <artifactId>build-helper-maven-plugin</artifactId>
342                 <version>1.8</version>
343                 <executions>
344                     <execution>
345                         <phase>generate-sources</phase>
346                         <goals>
347                             <goal>add-source</goal>
348                         </goals>
349                         <configuration>
350                             <sources>
351                                 <source>target/generated-sources/sal</source>
352                                 <source>target/generated-sources/config</source>
353                             </sources>
354                         </configuration>
355                     </execution>
356                 </executions>
357             </plugin>
358
359             <plugin>
360                 <groupId>org.apache.maven.plugins</groupId>
361                 <artifactId>maven-source-plugin</artifactId>
362                 <executions>
363                     <execution>
364                         <id>attach-sources</id>
365                         <goals>
366                             <goal>jar</goal>
367                         </goals>
368                     </execution>
369                 </executions>
370             </plugin>
371
372             <plugin>
373                 <groupId>org.apache.maven.plugins</groupId>
374                 <artifactId>maven-javadoc-plugin</artifactId>
375                 <executions>
376                     <execution>
377                         <id>attach-javadocs</id>
378                         <goals>
379                             <goal>jar</goal>
380                         </goals>
381                     </execution>
382                     <execution>
383                         <id>aggregate</id>
384                         <goals>
385                             <goal>aggregate</goal>
386                         </goals>
387                         <phase>site</phase>
388                     </execution>
389                 </executions>
390             </plugin>
391
392         </plugins>
393         <pluginManagement>
394             <plugins>
395                 <!--This plugin's configuration is used to store Eclipse m2e settings
396                     only. It has no influence on the Maven build itself. -->
397                 <plugin>
398                     <groupId>org.eclipse.m2e</groupId>
399                     <artifactId>lifecycle-mapping</artifactId>
400                     <version>1.0.0</version>
401                     <configuration>
402                         <lifecycleMappingMetadata>
403                             <pluginExecutions>
404                                 <pluginExecution>
405                                     <pluginExecutionFilter>
406                                         <groupId>pl.project13.maven</groupId>
407                                         <artifactId>git-commit-id-plugin</artifactId>
408                                         <versionRange>[2.1.4,)</versionRange>
409                                         <goals>
410                                             <goal>revision</goal>
411                                         </goals>
412                                     </pluginExecutionFilter>
413                                     <action>
414                                         <ignore></ignore>
415                                     </action>
416                                 </pluginExecution>
417                                 <pluginExecution>
418                                     <pluginExecutionFilter>
419                                         <groupId>org.opendaylight.yangtools</groupId>
420                                         <artifactId>yang-maven-plugin</artifactId>
421                                         <versionRange>[0.5,)</versionRange>
422                                         <goals>
423                                             <goal>generate-sources</goal>
424                                         </goals>
425                                     </pluginExecutionFilter>
426                                     <action>
427                                         <ignore></ignore>
428                                     </action>
429                                 </pluginExecution>
430                             </pluginExecutions>
431                         </lifecycleMappingMetadata>
432                     </configuration>
433                 </plugin>
434
435                 <!-- Our YANG->DTO generation plugin -->
436                 <plugin>
437                     <groupId>org.opendaylight.yangtools</groupId>
438                     <artifactId>yang-maven-plugin</artifactId>
439                     <version>${yangtools.version}</version>
440                     <executions>
441                         <execution>
442                             <goals>
443                                 <goal>generate-sources</goal>
444                             </goals>
445                             <configuration>
446                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
447                                 <codeGenerators>
448                                     <generator>
449                                         <codeGeneratorClass>
450                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
451                                         </codeGeneratorClass>
452                                         <outputBaseDir>
453                                             target/generated-sources/sal
454                                         </outputBaseDir>
455                                     </generator>
456                                     <generator>
457                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
458                                         <outputBaseDir>target/site</outputBaseDir>
459                                     </generator>
460                                 </codeGenerators>
461                                 <inspectDependencies>true</inspectDependencies>
462                             </configuration>
463                         </execution>
464                     </executions>
465                     <dependencies>
466                         <dependency>
467                             <groupId>org.opendaylight.yangtools</groupId>
468                             <artifactId>maven-sal-api-gen-plugin</artifactId>
469                             <version>${yang.binding.version}</version>
470                             <type>jar</type>
471                         </dependency>
472                     </dependencies>
473                 </plugin>
474
475                 <!-- Maven site plugin -->
476                 <plugin>
477                     <artifactId>maven-site-plugin</artifactId>
478                     <version>${maven.site.version}</version>
479                 </plugin>
480
481                 <plugin>
482                     <groupId>org.apache.maven.plugins</groupId>
483                     <artifactId>maven-javadoc-plugin</artifactId>
484                     <version>2.9.1</version>
485                 </plugin>
486                 <plugin>
487                     <groupId>org.apache.maven.plugins</groupId>
488                     <artifactId>maven-source-plugin</artifactId>
489                     <version>2.2.1</version>
490                 </plugin>
491             </plugins>
492         </pluginManagement>
493     </build>
494
495     <repositories>
496         <repository>
497             <id>opendaylight-release</id>
498             <name>opendaylight-release</name>
499             <url>${nexusproxy}/repositories/opendaylight.release/</url>
500         </repository>
501         <repository>
502             <id>opendaylight-snapshot</id>
503             <name>opendaylight-snapshot</name>
504             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
505         </repository>
506     </repositories>
507
508     <pluginRepositories>
509         <pluginRepository>
510             <id>opendaylight-release</id>
511             <name>opendaylight-release</name>
512             <url>${nexusproxy}/repositories/opendaylight.release/</url>
513         </pluginRepository>
514         <pluginRepository>
515             <id>opendaylight-snapshot</id>
516             <name>opendaylight-snapshot</name>
517             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
518         </pluginRepository>
519     </pluginRepositories>
520 </project>