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