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