cafd7a17ff265e1739fdbdd38af5301a4509e8ca
[bgpcep.git] / commons / parent / 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
11 <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">
12     <modelVersion>4.0.0</modelVersion>
13     <scm>
14         <connection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</connection>
15         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/bgpcep.git</developerConnection>
16         <url>https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main</url>
17         <tag>HEAD</tag>
18     </scm>
19     <prerequisites>
20         <maven>3.0.4</maven>
21     </prerequisites>
22
23     <groupId>org.opendaylight.bgpcep</groupId>
24     <artifactId>commons.parent</artifactId>
25     <name>BGPCEP common parent</name>
26     <version>0.3.1-SNAPSHOT</version>
27     <packaging>pom</packaging>
28
29     <licenses>
30         <license>
31             <name>The Eclipse Public License v1.0</name>
32             <url>http://www.eclipse.org/legal/epl-v10.html</url>
33             <distribution>repo</distribution>
34         </license>
35     </licenses>
36
37     <properties>
38         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
39         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
40         <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
41
42         <commonscodec.version>1.7</commonscodec.version>
43         <guava.version>14.0.1</guava.version>
44         <java.version.source>1.7</java.version.source>
45         <java.version.target>1.7</java.version.target>
46         <junit.version>4.10</junit.version>
47         <logback.version>1.0.9</logback.version>
48         <maven.bundle.version>2.4.0</maven.bundle.version>
49         <maven.compiler.version>3.1</maven.compiler.version>
50         <maven.dependency.version>2.8</maven.dependency.version>
51         <maven.info.reports.version>2.7</maven.info.reports.version>
52         <maven.jar.version>2.4</maven.jar.version>
53         <maven.javadoc.version>2.9.1</maven.javadoc.version>
54         <maven.release.version>2.4.2</maven.release.version>
55         <maven.shade.version>2.1</maven.shade.version>
56         <maven.site.version>3.3</maven.site.version>
57         <mockito.version>1.9.5</mockito.version>
58         <netty.version>4.0.10.Final</netty.version>
59         <slf4j.version>1.7.2</slf4j.version>
60         <surefire.version>2.15</surefire.version>
61
62         <!-- YANG tools ertifacts -->
63         <yangtools.version>0.6.2-SNAPSHOT</yangtools.version>
64         <ietf.types.version>2010.09.24.4-SNAPSHOT</ietf.types.version>
65         <ietf.topology.version>2013.10.21.2-SNAPSHOT</ietf.topology.version>
66         <yang-ext.version>2013.09.07.4-SNAPSHOT</yang-ext.version>
67
68         <!-- Controller artifacts -->
69         <controller.config.version>0.2.5-SNAPSHOT</controller.config.version>
70         <controller.framework.version>0.5.0-SNAPSHOT</controller.framework.version>
71         <controller.mdsal.version>1.1-SNAPSHOT</controller.mdsal.version>
72     </properties>
73
74     <dependencyManagement>
75         <dependencies>
76             <!-- This project -->
77             <dependency>
78                 <groupId>${project.groupId}</groupId>
79                 <artifactId>concepts</artifactId>
80                 <version>${project.version}</version>
81             </dependency>
82             <dependency>
83                 <groupId>${project.groupId}</groupId>
84                 <artifactId>util</artifactId>
85                 <version>${project.version}</version>
86             </dependency>
87
88             <!-- Testing Dependencies -->
89             <dependency>
90                 <groupId>junit</groupId>
91                 <artifactId>junit</artifactId>
92                 <version>${junit.version}</version>
93                 <scope>test</scope>
94             </dependency>
95             <dependency>
96                 <groupId>org.mockito</groupId>
97                 <artifactId>mockito-core</artifactId>
98                 <version>${mockito.version}</version>
99                 <scope>test</scope>
100             </dependency>
101             <dependency>
102                 <groupId>org.opendaylight.yangtools</groupId>
103                 <artifactId>mockito-configuration</artifactId>
104                 <version>${yangtools.version}</version>
105                 <scope>test</scope>
106             </dependency>
107             
108             <dependency>
109                 <groupId>ch.qos.logback</groupId>
110                 <artifactId>logback-classic</artifactId>
111                 <version>${logback.version}</version>
112             </dependency>
113
114             <!-- Supporting Libraries -->
115             
116             <dependency>
117                 <groupId>org.slf4j</groupId>
118                 <artifactId>slf4j-api</artifactId>
119                 <version>${slf4j.version}</version>
120             </dependency>
121             <dependency>
122                 <groupId>com.google.guava</groupId>
123                 <artifactId>guava</artifactId>
124                 <version>${guava.version}</version>
125             </dependency>
126             <dependency>
127                 <groupId>com.google.code.findbugs</groupId>
128                 <artifactId>jsr305</artifactId>
129                 <version>2.0.1</version>
130             </dependency>
131
132             <!-- Netty -->
133             <dependency>
134                 <groupId>io.netty</groupId>
135                 <artifactId>netty-buffer</artifactId>
136                 <version>${netty.version}</version>
137             </dependency>
138             <dependency>
139                 <groupId>io.netty</groupId>
140                 <artifactId>netty-codec</artifactId>
141                 <version>${netty.version}</version>
142             </dependency>
143             <dependency>
144                 <groupId>io.netty</groupId>
145                 <artifactId>netty-common</artifactId>
146                 <version>${netty.version}</version>
147             </dependency>
148             <dependency>
149                 <groupId>io.netty</groupId>
150                 <artifactId>netty-transport</artifactId>
151                 <version>${netty.version}</version>
152             </dependency>
153
154             <!-- YANG tools -->
155             <dependency>
156                 <groupId>org.opendaylight.yangtools</groupId>
157                 <artifactId>yang-binding</artifactId>
158                 <version>${yangtools.version}</version>
159             </dependency>
160             <dependency>
161                 <groupId>org.opendaylight.yangtools</groupId>
162                 <artifactId>yang-common</artifactId>
163                 <version>${yangtools.version}</version>
164             </dependency>
165
166             <!-- Controller infrastructure -->
167             <dependency>
168                 <groupId>org.opendaylight.controller</groupId>
169                 <artifactId>protocol-framework</artifactId>
170                 <version>${controller.framework.version}</version>
171             </dependency>
172             <dependency>
173                 <groupId>org.opendaylight.controller</groupId>
174                 <artifactId>protocol-framework</artifactId>
175                 <version>${controller.framework.version}</version>
176                 <type>test-jar</type>
177                 <scope>test</scope>
178             </dependency>
179             <dependency>
180                 <groupId>org.opendaylight.controller</groupId>
181                 <artifactId>config-api</artifactId>
182                 <version>${controller.config.version}</version>
183             </dependency>
184             <dependency>
185                 <groupId>org.opendaylight.controller</groupId>
186                 <artifactId>netty-config-api</artifactId>
187                 <version>${controller.config.version}</version>
188             </dependency>
189             <dependency>
190                 <groupId>org.opendaylight.controller</groupId>
191                 <artifactId>netty-timer-config</artifactId>
192                 <version>${controller.config.version}</version>
193             </dependency>
194             <dependency>
195                 <groupId>org.opendaylight.controller</groupId>
196                 <artifactId>sal-binding-api</artifactId>
197                 <version>${controller.mdsal.version}</version>
198             </dependency>
199             <dependency>
200                 <groupId>org.opendaylight.controller</groupId>
201                 <artifactId>sal-binding-config</artifactId>
202                 <version>${controller.mdsal.version}</version>
203             </dependency>
204             <dependency>
205                 <groupId>org.opendaylight.controller</groupId>
206                 <artifactId>sal-binding-broker-impl</artifactId>
207                 <version>${controller.mdsal.version}</version>
208                 </dependency>
209             <dependency>
210                 <groupId>org.opendaylight.controller</groupId>
211                 <artifactId>sal-binding-util</artifactId>
212                 <version>${controller.mdsal.version}</version>
213             </dependency>
214             <dependency>
215                 <groupId>org.opendaylight.controller</groupId>
216                 <artifactId>sal-broker-impl</artifactId>
217                 <version>${controller.mdsal.version}</version>
218             </dependency>
219
220             <!-- Models -->
221             <dependency>
222                 <groupId>org.opendaylight.yangtools.model</groupId>
223                 <artifactId>ietf-inet-types</artifactId>
224                 <version>${ietf.types.version}</version>
225             </dependency>
226             <dependency>
227                 <groupId>org.opendaylight.yangtools.model</groupId>
228                 <artifactId>ietf-ted</artifactId>
229                 <version>${ietf.topology.version}</version>
230             </dependency>
231             <dependency>
232                 <groupId>org.opendaylight.yangtools.model</groupId>
233                 <artifactId>ietf-topology</artifactId>
234                 <version>${ietf.topology.version}</version>
235             </dependency>
236             <dependency>
237                 <groupId>org.opendaylight.yangtools.model</groupId>
238                 <artifactId>ietf-topology-isis</artifactId>
239                 <version>${ietf.topology.version}</version>
240             </dependency>
241             <dependency>
242                 <groupId>org.opendaylight.yangtools.model</groupId>
243                 <artifactId>ietf-topology-l3-unicast-igp</artifactId>
244                 <version>${ietf.topology.version}</version>
245             </dependency>
246             <dependency>
247                 <groupId>org.opendaylight.yangtools.model</groupId>
248                 <artifactId>ietf-topology-ospf</artifactId>
249                 <version>${ietf.topology.version}</version>
250             </dependency>
251             <dependency>
252                 <groupId>org.opendaylight.yangtools.model</groupId>
253                 <artifactId>yang-ext</artifactId>
254                 <version>${yang-ext.version}</version>
255             </dependency>
256         </dependencies>
257     </dependencyManagement>
258
259     <dependencies>
260         <dependency>
261             <groupId>ch.qos.logback</groupId>
262             <artifactId>logback-classic</artifactId>
263         </dependency>
264     </dependencies>
265
266     <reporting>
267         <plugins>
268             <plugin>
269                 <groupId>org.apache.maven.plugins</groupId>
270                 <artifactId>maven-project-info-reports-plugin</artifactId>
271                 <version>${maven.info.reports.version}</version>
272                 <reportSets>
273                     <reportSet>
274                         <reports>
275                             <report>dependency-info</report>
276                             <report>license</report>
277                         </reports>
278                     </reportSet>
279                 </reportSets>
280             </plugin>
281             <plugin>
282                 <groupId>org.apache.maven.plugins</groupId>
283                 <artifactId>maven-javadoc-plugin</artifactId>
284                 <version>${maven.javadoc.version}</version>
285                 <reportSets>
286                     <reportSet>
287                         <id>non-aggregate</id>
288                         <reports>
289                             <report>javadoc</report>
290                         </reports>
291                     </reportSet>
292                 </reportSets>
293             </plugin>
294             <!--plugin>
295                 <groupId>org.codehaus.mojo</groupId>
296                 <artifactId>findbugs-maven-plugin</artifactId>
297                 <version>2.4.0</version>
298                 <configuration>
299                     <effort>Max</effort>
300                     <threshold>Low</threshold>
301                     <goal>site</goal>
302                 </configuration>
303             </plugin-->
304         </plugins>
305     </reporting>
306
307     <distributionManagement>
308         <!-- OpenDayLight Released artifact -->
309         <repository>
310             <id>opendaylight-release</id>
311             <url>${nexusproxy}/repositories/opendaylight.release/</url>
312         </repository>
313         <!-- OpenDayLight Snapshot artifact -->
314         <snapshotRepository>
315             <id>opendaylight-snapshot</id>
316             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
317         </snapshotRepository>
318         <!-- Site deployment -->
319         <site>
320             <id>website</id>
321             <url>${sitedeploy}</url>
322         </site>
323     </distributionManagement>
324
325     <build>
326         <plugins>
327             <plugin>
328                 <groupId>org.apache.maven.plugins</groupId>
329                 <artifactId>maven-compiler-plugin</artifactId>
330                 <version>${maven.compiler.version}</version>
331                 <configuration>
332                     <source>${java.version.source}</source>
333                     <target>${java.version.target}</target>
334                     <testSource>${java.version.source}</testSource>
335                     <testTarget>${java.version.target}</testTarget>
336                     <showDeprecation>true</showDeprecation>
337                     <showWarnings>true</showWarnings>
338                     <optimize>true</optimize>
339                 </configuration>
340             </plugin>
341             <plugin>
342                 <groupId>org.apache.maven.plugins</groupId>
343                 <artifactId>maven-surefire-plugin</artifactId>
344                 <version>${surefire.version}</version>
345                 <configuration>
346                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
347                     <!--parallel>classes</parallel>
348                     <forkCount>1C</forkCount>
349                     <reuseForks>false</reuseForks>
350                     <perCoreThreadCount>true</perCoreThreadCount-->
351                     <threadCount>1</threadCount>
352                 </configuration>
353             </plugin>
354
355             <plugin>
356                 <groupId>org.apache.maven.plugins</groupId>
357                 <artifactId>maven-dependency-plugin</artifactId>
358                 <version>${maven.dependency.version}</version>
359                 <configuration>
360                     <failOnWarning>true</failOnWarning>
361                     <ignoreNonCompile>true</ignoreNonCompile>
362                 </configuration>
363             </plugin>
364             <plugin>
365                 <!-- Let eclipse know about the generated sources -->
366                 <groupId>org.codehaus.mojo</groupId>
367                 <artifactId>build-helper-maven-plugin</artifactId>
368                 <executions>
369                     <execution>
370                         <phase>generate-sources</phase>
371                         <goals>
372                             <goal>add-source</goal>
373                         </goals>
374                         <configuration>
375                             <sources>
376                                 <source>target/generated-sources/sal</source>
377                                 <source>target/generated-sources/config</source>
378                             </sources>
379                         </configuration>
380                     </execution>
381                 </executions>
382             </plugin>
383         </plugins>
384         <pluginManagement>
385             <plugins>
386                 <plugin>
387                     <groupId>org.apache.felix</groupId>
388                     <artifactId>maven-bundle-plugin</artifactId>
389                     <version>${maven.bundle.version}</version>
390                 </plugin>
391                 <plugin>
392                     <groupId>org.apache.maven.plugins</groupId>
393                     <artifactId>maven-jar-plugin</artifactId>
394                     <version>${maven.jar.version}</version>
395                 </plugin>
396                 <plugin>
397                     <groupId>org.apache.maven.plugins</groupId>
398                     <artifactId>maven-release-plugin</artifactId>
399                     <version>${maven.release.version}</version>
400                 </plugin>
401                 <plugin>
402                     <groupId>org.codehaus.mojo</groupId>
403                     <artifactId>build-helper-maven-plugin</artifactId>
404                     <version>1.8</version>
405                 </plugin>
406
407                 <!--This plugin's configuration is used to store Eclipse m2e settings
408                     only. It has no influence on the Maven build itself. -->
409                 <plugin>
410                     <groupId>org.eclipse.m2e</groupId>
411                     <artifactId>lifecycle-mapping</artifactId>
412                     <version>1.0.0</version>
413                     <configuration>
414                         <lifecycleMappingMetadata>
415                             <pluginExecutions>
416                                 <pluginExecution>
417                                     <pluginExecutionFilter>
418                                         <groupId>pl.project13.maven</groupId>
419                                         <artifactId>git-commit-id-plugin</artifactId>
420                                         <versionRange>[2.1.4,)</versionRange>
421                                         <goals>
422                                             <goal>revision</goal>
423                                         </goals>
424                                     </pluginExecutionFilter>
425                                     <action>
426                                         <ignore />
427                                     </action>
428                                 </pluginExecution>
429                                 <pluginExecution>
430                                     <pluginExecutionFilter>
431                                         <groupId>org.opendaylight.yangtools</groupId>
432                                         <artifactId>yang-maven-plugin</artifactId>
433                                         <versionRange>[0.5,)</versionRange>
434                                         <goals>
435                                             <goal>generate-sources</goal>
436                                         </goals>
437                                     </pluginExecutionFilter>
438                                     <action>
439                                         <ignore />
440                                     </action>
441                                 </pluginExecution>
442                             </pluginExecutions>
443                         </lifecycleMappingMetadata>
444                     </configuration>
445                 </plugin>
446
447                 <!-- Our YANG->DTO generation plugin -->
448                 <plugin>
449                     <groupId>org.opendaylight.yangtools</groupId>
450                     <artifactId>yang-maven-plugin</artifactId>
451                     <version>${yangtools.version}</version>
452                     <executions>
453                         <execution>
454                             <goals>
455                                 <goal>generate-sources</goal>
456                             </goals>
457                             <configuration>
458                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
459                                 <codeGenerators>
460                                     <generator>
461                                         <codeGeneratorClass>
462                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
463                                         </codeGeneratorClass>
464                                         <outputBaseDir>
465                                             target/generated-sources/sal
466                                         </outputBaseDir>
467                                     </generator>
468                                     <generator>
469                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
470                                         <outputBaseDir>target/site</outputBaseDir>
471                                     </generator>
472                                     <generator>
473                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
474                                         <outputBaseDir>target/site</outputBaseDir>
475                                     </generator>
476                                     <generator>
477                                         <codeGeneratorClass>
478                                             org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
479                                         </codeGeneratorClass>
480                                         <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
481                                         <additionalConfiguration>
482                                             <namespaceToPackage1>
483                                                 urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
484                                             </namespaceToPackage1>
485                                         </additionalConfiguration>
486                                     </generator>
487                                 </codeGenerators>
488                                 <inspectDependencies>true</inspectDependencies>
489                             </configuration>
490                         </execution>
491                     </executions>
492                     <dependencies>
493                         <dependency>
494                             <groupId>org.opendaylight.yangtools</groupId>
495                             <artifactId>maven-sal-api-gen-plugin</artifactId>
496                             <version>${yangtools.version}</version>
497                             <type>jar</type>
498                         </dependency>
499                         <dependency>
500                             <groupId>org.opendaylight.controller</groupId>
501                             <artifactId>yang-jmx-generator-plugin</artifactId>
502                             <version>${controller.config.version}</version>
503                         </dependency>
504                     </dependencies>
505                 </plugin>
506
507                 <!-- Maven site plugin -->
508                 <plugin>
509                     <artifactId>maven-site-plugin</artifactId>
510                     <version>${maven.site.version}</version>
511                 </plugin>
512                 <plugin>
513                     <groupId>org.apache.maven.plugins</groupId>
514                     <artifactId>maven-javadoc-plugin</artifactId>
515                     <version>${maven.javadoc.version}</version>
516                 </plugin>
517                 <plugin>
518                     <groupId>org.apache.maven.plugins</groupId>
519                     <artifactId>maven-source-plugin</artifactId>
520                     <version>2.2.1</version>
521                 </plugin>
522             </plugins>
523         </pluginManagement>
524     </build>
525
526     <repositories>
527         <repository>
528             <id>opendaylight-mirror</id>
529             <name>opendaylight-mirror</name>
530             <url>${nexusproxy}/groups/public/</url>
531             <snapshots>
532                 <enabled>false</enabled>
533             </snapshots>
534             <releases>
535                 <enabled>true</enabled>
536                 <updatePolicy>never</updatePolicy>
537             </releases>
538         </repository>
539         <repository>
540             <id>opendaylight-snapshot</id>
541             <name>opendaylight-snapshot</name>
542             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
543             <snapshots>
544                 <enabled>true</enabled>
545             </snapshots>
546             <releases>
547                 <enabled>false</enabled>
548             </releases>
549         </repository>
550     </repositories>
551
552     <pluginRepositories>
553         <pluginRepository>
554             <id>opendaylight-mirror</id>
555             <name>opendaylight-mirror</name>
556             <url>${nexusproxy}/groups/public/</url>
557             <snapshots>
558                 <enabled>false</enabled>
559             </snapshots>
560             <releases>
561                 <enabled>true</enabled>
562                 <updatePolicy>never</updatePolicy>
563             </releases>
564         </pluginRepository>
565         <pluginRepository>
566             <id>opendaylight-snapshot</id>
567             <name>opendaylight-snapshot</name>
568             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
569             <snapshots>
570                 <enabled>true</enabled>
571             </snapshots>
572             <releases>
573                 <enabled>false</enabled>
574             </releases>
575         </pluginRepository>
576     </pluginRepositories>
577
578     <profiles>
579         <profile>
580             <id>repoBuild</id>
581             <activation>
582                 <property>
583                     <name>repoBuild</name>
584                 </property>
585             </activation>
586             <build>
587                 <plugins>
588                     <plugin>
589                         <groupId>org.apache.maven.plugins</groupId>
590                         <artifactId>maven-javadoc-plugin</artifactId>
591                         <executions>
592                             <execution>
593                                 <id>attach-javadocs</id>
594                                 <goals>
595                                     <goal>jar</goal>
596                                 </goals>
597                             </execution>
598                         </executions>
599                     </plugin>
600                     <plugin>
601                         <groupId>org.apache.maven.plugins</groupId>
602                         <artifactId>maven-source-plugin</artifactId>
603                         <executions>
604                             <execution>
605                                 <id>attach-sources</id>
606                                 <goals>
607                                     <goal>jar</goal>
608                                 </goals>
609                             </execution>
610                         </executions>
611                     </plugin>
612                 </plugins>
613             </build>
614         </profile>
615     </profiles>
616 </project>