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