Merge "BUG-2383 : split ipv4/6 to separate model"
[bgpcep.git] / 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     <parent>
20         <groupId>org.opendaylight.odlparent</groupId>
21         <artifactId>odlparent</artifactId>
22         <version>1.5.0-SNAPSHOT</version>
23         <relativePath>../../odlparent/odlparent</relativePath>
24     </parent>
25
26     <groupId>org.opendaylight.bgpcep</groupId>
27     <artifactId>bgpcep-parent</artifactId>
28     <name>BGPCEP common parent</name>
29     <version>0.4.0-SNAPSHOT</version>
30     <packaging>pom</packaging>
31
32     <licenses>
33         <license>
34             <name>The Eclipse Public License v1.0</name>
35             <url>http://www.eclipse.org/legal/epl-v10.html</url>
36             <distribution>repo</distribution>
37         </license>
38     </licenses>
39
40     <properties>
41         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
43         <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
44
45         <maven.info.reports.version>2.7</maven.info.reports.version>
46
47         <!-- YANG tools artifacts -->
48         <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
49
50         <!-- Controller artifacts -->
51         <controller.config.version>0.3.0-SNAPSHOT</controller.config.version>
52         <controller.framework.version>0.6.0-SNAPSHOT</controller.framework.version>
53         <controller.mdsal.version>1.2.0-SNAPSHOT</controller.mdsal.version>
54
55         <!-- TCP-MD5 artifacts -->
56         <tcpmd5.version>1.1.0-SNAPSHOT</tcpmd5.version>
57
58         <bgpcep.version>0.4.0-SNAPSHOT</bgpcep.version>
59     </properties>
60
61     <dependencyManagement>
62         <dependencies>
63             <dependency>
64                 <groupId>org.opendaylight.bgpcep</groupId>
65                 <artifactId>bgpcep-artifacts</artifactId>
66                 <version>${bgpcep.version}</version>
67                 <type>pom</type>
68                 <scope>import</scope>
69             </dependency>
70
71             <!-- TCP/MD5 support -->
72             <dependency>
73                 <groupId>org.opendaylight.tcpmd5</groupId>
74                 <artifactId>tcpmd5-artifacts</artifactId>
75                 <version>${tcpmd5.version}</version>
76                 <type>pom</type>
77                 <scope>import</scope>
78             </dependency>
79
80             <!-- YANG tools -->
81             <dependency>
82                 <groupId>org.opendaylight.yangtools</groupId>
83                 <artifactId>yangtools-artifacts</artifactId>
84                 <version>${yangtools.version}</version>
85                 <scope>import</scope>
86                 <type>pom</type>
87             </dependency>
88
89             <!-- Controller infrastructure -->
90             <dependency>
91                 <groupId>org.opendaylight.controller</groupId>
92                 <artifactId>mdsal-artifacts</artifactId>
93                 <version>${controller.mdsal.version}</version>
94                 <scope>import</scope>
95                 <type>pom</type>
96             </dependency>
97             <dependency>
98                 <groupId>org.opendaylight.controller</groupId>
99                 <artifactId>config-artifacts</artifactId>
100                 <version>${controller.config.version}</version>
101                 <scope>import</scope>
102                 <type>pom</type>
103             </dependency>
104
105             <dependency>
106                 <groupId>org.opendaylight.controller</groupId>
107                 <artifactId>protocol-framework</artifactId>
108                 <version>${controller.framework.version}</version>
109             </dependency>
110             <dependency>
111                 <groupId>org.opendaylight.controller</groupId>
112                 <artifactId>protocol-framework</artifactId>
113                 <version>${controller.framework.version}</version>
114                 <type>test-jar</type>
115                 <scope>test</scope>
116             </dependency>
117         </dependencies>
118     </dependencyManagement>
119
120     <reporting>
121         <plugins>
122             <plugin>
123                 <groupId>org.apache.maven.plugins</groupId>
124                 <artifactId>maven-project-info-reports-plugin</artifactId>
125                 <version>${maven.info.reports.version}</version>
126                 <reportSets>
127                     <reportSet>
128                         <reports>
129                             <report>dependency-info</report>
130                             <report>license</report>
131                         </reports>
132                     </reportSet>
133                 </reportSets>
134             </plugin>
135             <plugin>
136                 <groupId>org.apache.maven.plugins</groupId>
137                 <artifactId>maven-javadoc-plugin</artifactId>
138                 <version>${maven.javadoc.version}</version>
139                 <reportSets>
140                     <reportSet>
141                         <id>non-aggregate</id>
142                         <reports>
143                             <report>javadoc</report>
144                         </reports>
145                     </reportSet>
146                 </reportSets>
147             </plugin>
148             <!--plugin>
149                 <groupId>org.codehaus.mojo</groupId>
150                 <artifactId>findbugs-maven-plugin</artifactId>
151                 <version>2.4.0</version>
152                 <configuration>
153                     <effort>Max</effort>
154                     <threshold>Low</threshold>
155                     <goal>site</goal>
156                 </configuration>
157             </plugin-->
158         </plugins>
159     </reporting>
160
161     <build>
162         <plugins>
163             <plugin>
164                 <groupId>org.apache.maven.plugins</groupId>
165                 <artifactId>maven-compiler-plugin</artifactId>
166                 <configuration>
167                     <source>${java.version.source}</source>
168                     <target>${java.version.target}</target>
169                     <testSource>${java.version.source}</testSource>
170                     <testTarget>${java.version.target}</testTarget>
171                     <showDeprecation>true</showDeprecation>
172                     <showWarnings>true</showWarnings>
173                     <optimize>true</optimize>
174                 </configuration>
175             </plugin>
176             <plugin>
177                 <groupId>org.apache.maven.plugins</groupId>
178                 <artifactId>maven-surefire-plugin</artifactId>
179                 <configuration>
180                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
181                     <!--parallel>classes</parallel>
182                     <forkCount>1C</forkCount>
183                     <perCoreThreadCount>true</perCoreThreadCount-->
184                     <runOrder>alphabetical</runOrder>
185                     <threadCount>1</threadCount>
186                     <reuseForks>false</reuseForks>
187                     <!-- Specific to generate mapping between tests and covered code -->
188                     <!--properties>
189                         <property>
190                             <name>listener</name>
191                             <value>org.sonar.java.jacoco.JUnitListener</value>
192                         </property>
193                     </properties-->
194                 </configuration>
195             </plugin>
196
197             <plugin>
198                 <groupId>org.apache.maven.plugins</groupId>
199                 <artifactId>maven-dependency-plugin</artifactId>
200                 <configuration>
201                     <failOnWarning>true</failOnWarning>
202                     <ignoreNonCompile>true</ignoreNonCompile>
203                 </configuration>
204             </plugin>
205             <plugin>
206                 <!-- Let eclipse know about the generated sources -->
207                 <groupId>org.codehaus.mojo</groupId>
208                 <artifactId>build-helper-maven-plugin</artifactId>
209                 <executions>
210                     <execution>
211                         <phase>generate-sources</phase>
212                         <goals>
213                             <goal>add-source</goal>
214                         </goals>
215                         <configuration>
216                             <sources>
217                                 <source>target/generated-sources/sal</source>
218                                 <source>target/generated-sources/config</source>
219                             </sources>
220                         </configuration>
221                     </execution>
222                 </executions>
223             </plugin>
224             <plugin>
225                 <groupId>org.apache.maven.plugins</groupId>
226                 <artifactId>maven-checkstyle-plugin</artifactId>
227                 <configuration>
228                     <failOnViolation>true</failOnViolation>
229                     <configLocation>checkstyle-logging.xml</configLocation>
230                     <consoleOutput>true</consoleOutput>
231                     <includeTestSourceDirectory>true</includeTestSourceDirectory>
232                     <sourceDirectory>${project.basedir}</sourceDirectory>
233                     <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
234                     <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/,**\/.m2repo\/</excludes>
235                 </configuration>
236                 <dependencies>
237                     <dependency>
238                         <groupId>org.opendaylight.yangtools</groupId>
239                         <artifactId>checkstyle-logging</artifactId>
240                         <version>${yangtools.version}</version>
241                     </dependency>
242                 </dependencies>
243                 <executions>
244                     <execution>
245                         <goals>
246                             <goal>check</goal>
247                         </goals>
248                     </execution>
249                 </executions>
250             </plugin>
251             <plugin>
252                 <groupId>org.jacoco</groupId>
253                 <artifactId>jacoco-maven-plugin</artifactId>
254                 <executions>
255                     <execution>
256                         <id>prepare-ut-agent</id>
257                         <phase>process-test-classes</phase>
258                         <goals>
259                             <goal>prepare-agent</goal>
260                         </goals>
261                         <configuration>
262                             <destFile>${sonar.jacoco.reportPath}</destFile>
263                         </configuration>
264                     </execution>
265                     <execution>
266                         <id>prepare-it-agent</id>
267                         <phase>pre-integration-test</phase>
268                         <goals>
269                             <goal>prepare-agent</goal>
270                         </goals>
271                         <configuration>
272                             <destFile>${sonar.jacoco.itReportPath}</destFile>
273                         </configuration>
274                     </execution>
275                 </executions>
276             </plugin>
277         </plugins>
278
279         <pluginManagement>
280             <plugins>
281                 <!--This plugin's configuration is used to store Eclipse m2e settings
282                     only. It has no influence on the Maven build itself. -->
283                 <plugin>
284                     <groupId>org.eclipse.m2e</groupId>
285                     <artifactId>lifecycle-mapping</artifactId>
286                     <version>1.0.0</version>
287                     <configuration>
288                         <lifecycleMappingMetadata>
289                             <pluginExecutions>
290                                 <pluginExecution>
291                                     <pluginExecutionFilter>
292                                         <groupId>pl.project13.maven</groupId>
293                                         <artifactId>git-commit-id-plugin</artifactId>
294                                         <versionRange>[2.1.4,)</versionRange>
295                                         <goals>
296                                             <goal>revision</goal>
297                                         </goals>
298                                     </pluginExecutionFilter>
299                                     <action>
300                                         <ignore />
301                                     </action>
302                                 </pluginExecution>
303                                 <pluginExecution>
304                                     <pluginExecutionFilter>
305                                         <groupId>org.opendaylight.yangtools</groupId>
306                                         <artifactId>yang-maven-plugin</artifactId>
307                                         <versionRange>[0.5,)</versionRange>
308                                         <goals>
309                                             <goal>generate-sources</goal>
310                                         </goals>
311                                     </pluginExecutionFilter>
312                                     <action>
313                                         <execute />
314                                     </action>
315                                 </pluginExecution>
316                                 <pluginExecution>
317                                    <pluginExecutionFilter>
318                                        <groupId>org.jacoco</groupId>
319                                        <artifactId>jacoco-maven-plugin</artifactId>
320                                        <versionRange>[0.6,)</versionRange>
321                                        <goals>
322                                            <goal>prepare-agent</goal>
323                                        </goals>
324                                     </pluginExecutionFilter>
325                                     <action>
326                                         <ignore/>
327                                     </action>
328                                 </pluginExecution>
329                                 <pluginExecution>
330                                     <pluginExecutionFilter>
331                                         <groupId>org.apache.maven.plugins</groupId>
332                                         <artifactId>maven-checkstyle-plugin</artifactId>
333                                         <versionRange>[2.13,)</versionRange>
334                                         <goals>
335                                             <goal>check</goal>
336                                         </goals>
337                                     </pluginExecutionFilter>
338                                     <action>
339                                         <execute />
340                                     </action>
341                                 </pluginExecution>
342                             </pluginExecutions>
343                         </lifecycleMappingMetadata>
344                     </configuration>
345                 </plugin>
346
347                 <!-- Our YANG->DTO generation plugin -->
348                 <plugin>
349                     <groupId>org.opendaylight.yangtools</groupId>
350                     <artifactId>yang-maven-plugin</artifactId>
351                     <version>${yangtools.version}</version>
352                     <executions>
353                         <execution>
354                             <goals>
355                                 <goal>generate-sources</goal>
356                             </goals>
357                             <configuration>
358                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
359                                 <codeGenerators>
360                                     <generator>
361                                         <codeGeneratorClass>
362                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
363                                         </codeGeneratorClass>
364                                         <outputBaseDir>
365                                             target/generated-sources/sal
366                                         </outputBaseDir>
367                                     </generator>
368                                     <generator>
369                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
370                                         <outputBaseDir>target/site</outputBaseDir>
371                                     </generator>
372                                     <generator>
373                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
374                                         <outputBaseDir>target/site</outputBaseDir>
375                                     </generator>
376                                     <generator>
377                                         <codeGeneratorClass>
378                                             org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
379                                         </codeGeneratorClass>
380                                         <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
381                                         <additionalConfiguration>
382                                             <namespaceToPackage1>
383                                                 urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
384                                             </namespaceToPackage1>
385                                         </additionalConfiguration>
386                                     </generator>
387                                 </codeGenerators>
388                                 <inspectDependencies>true</inspectDependencies>
389                             </configuration>
390                         </execution>
391                     </executions>
392                     <dependencies>
393                         <dependency>
394                             <groupId>org.opendaylight.yangtools</groupId>
395                             <artifactId>maven-sal-api-gen-plugin</artifactId>
396                             <version>${yangtools.version}</version>
397                             <type>jar</type>
398                         </dependency>
399                         <dependency>
400                             <groupId>org.opendaylight.controller</groupId>
401                             <artifactId>yang-jmx-generator-plugin</artifactId>
402                             <version>${controller.config.version}</version>
403                         </dependency>
404                     </dependencies>
405                 </plugin>
406             </plugins>
407         </pluginManagement>
408     </build>
409     <profiles>
410         <profile>
411             <id>repoBuild</id>
412             <activation>
413                 <property>
414                     <name>repoBuild</name>
415                 </property>
416             </activation>
417             <build>
418                 <plugins>
419                     <plugin>
420                         <groupId>org.apache.maven.plugins</groupId>
421                         <artifactId>maven-javadoc-plugin</artifactId>
422                         <executions>
423                             <execution>
424                                 <id>attach-javadocs</id>
425                                 <goals>
426                                     <goal>jar</goal>
427                                 </goals>
428                             </execution>
429                         </executions>
430                     </plugin>
431                     <plugin>
432                         <groupId>org.apache.maven.plugins</groupId>
433                         <artifactId>maven-source-plugin</artifactId>
434                         <executions>
435                             <execution>
436                                 <id>attach-sources</id>
437                                 <goals>
438                                     <goal>jar</goal>
439                                 </goals>
440                             </execution>
441                         </executions>
442                     </plugin>
443                 </plugins>
444             </build>
445         </profile>
446     </profiles>
447 </project>