Migration to use MD-SAL Project
[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.6.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.5.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.8.0-SNAPSHOT</yangtools.version>
49
50         <!-- MD-SAL artifacts -->
51         <mdsal.version>2.0.0-SNAPSHOT</mdsal.version>
52         <mdsal.model.version>0.8.0-SNAPSHOT</mdsal.model.version>
53
54         <!-- Controller artifacts -->
55         <controller.config.version>0.4.0-SNAPSHOT</controller.config.version>
56         <controller.framework.version>0.7.0-SNAPSHOT</controller.framework.version>
57         <controller.mdsal.version>1.3.0-SNAPSHOT</controller.mdsal.version>
58
59         <!-- Netconf artifacts -->
60         <netconf.version>1.0.0-SNAPSHOT</netconf.version>
61
62         <!-- TCP-MD5 artifacts -->
63         <tcpmd5.version>1.2.0-SNAPSHOT</tcpmd5.version>
64
65         <bgpcep.version>0.5.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         </dependencies>
141     </dependencyManagement>
142
143     <reporting>
144         <plugins>
145             <plugin>
146                 <groupId>org.apache.maven.plugins</groupId>
147                 <artifactId>maven-project-info-reports-plugin</artifactId>
148                 <version>${maven.info.reports.version}</version>
149                 <reportSets>
150                     <reportSet>
151                         <reports>
152                             <report>dependency-info</report>
153                             <report>license</report>
154                         </reports>
155                     </reportSet>
156                 </reportSets>
157             </plugin>
158             <plugin>
159                 <groupId>org.apache.maven.plugins</groupId>
160                 <artifactId>maven-javadoc-plugin</artifactId>
161                 <version>${maven.javadoc.version}</version>
162                 <reportSets>
163                     <reportSet>
164                         <id>non-aggregate</id>
165                         <reports>
166                             <report>javadoc</report>
167                         </reports>
168                     </reportSet>
169                 </reportSets>
170             </plugin>
171             <!--plugin>
172                 <groupId>org.codehaus.mojo</groupId>
173                 <artifactId>findbugs-maven-plugin</artifactId>
174                 <version>2.4.0</version>
175                 <configuration>
176                     <effort>Max</effort>
177                     <threshold>Low</threshold>
178                     <goal>site</goal>
179                 </configuration>
180             </plugin-->
181         </plugins>
182     </reporting>
183
184     <build>
185         <plugins>
186             <plugin>
187                 <groupId>org.apache.maven.plugins</groupId>
188                 <artifactId>maven-compiler-plugin</artifactId>
189                 <configuration>
190                     <source>${java.version.source}</source>
191                     <target>${java.version.target}</target>
192                     <testSource>${java.version.source}</testSource>
193                     <testTarget>${java.version.target}</testTarget>
194                     <showDeprecation>true</showDeprecation>
195                     <showWarnings>true</showWarnings>
196                     <optimize>true</optimize>
197                 </configuration>
198             </plugin>
199             <plugin>
200                 <groupId>org.apache.maven.plugins</groupId>
201                 <artifactId>maven-surefire-plugin</artifactId>
202                 <configuration>
203                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
204                     <!--parallel>classes</parallel>
205                     <forkCount>1C</forkCount>
206                     <perCoreThreadCount>true</perCoreThreadCount-->
207                     <runOrder>alphabetical</runOrder>
208                     <threadCount>1</threadCount>
209                     <reuseForks>false</reuseForks>
210                     <!-- Specific to generate mapping between tests and covered code -->
211                     <!--properties>
212                         <property>
213                             <name>listener</name>
214                             <value>org.sonar.java.jacoco.JUnitListener</value>
215                         </property>
216                     </properties-->
217                 </configuration>
218             </plugin>
219
220             <plugin>
221                 <groupId>org.apache.maven.plugins</groupId>
222                 <artifactId>maven-dependency-plugin</artifactId>
223                 <configuration>
224                     <failOnWarning>true</failOnWarning>
225                     <ignoreNonCompile>true</ignoreNonCompile>
226                 </configuration>
227             </plugin>
228             <plugin>
229                 <!-- Let eclipse know about the generated sources -->
230                 <groupId>org.codehaus.mojo</groupId>
231                 <artifactId>build-helper-maven-plugin</artifactId>
232                 <executions>
233                     <execution>
234                         <phase>generate-sources</phase>
235                         <goals>
236                             <goal>add-source</goal>
237                         </goals>
238                         <configuration>
239                             <sources>
240                                 <source>target/generated-sources/sal</source>
241                                 <source>target/generated-sources/config</source>
242                             </sources>
243                         </configuration>
244                     </execution>
245                 </executions>
246             </plugin>
247             <plugin>
248                 <groupId>org.apache.maven.plugins</groupId>
249                 <artifactId>maven-checkstyle-plugin</artifactId>
250                 <configuration>
251                     <failOnViolation>true</failOnViolation>
252                     <configLocation>checkstyle-logging.xml</configLocation>
253                     <consoleOutput>true</consoleOutput>
254                     <includeTestSourceDirectory>true</includeTestSourceDirectory>
255                     <sourceDirectory>${project.basedir}</sourceDirectory>
256                     <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
257                     <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/,**\/.m2repo\/</excludes>
258                 </configuration>
259                 <dependencies>
260                     <dependency>
261                         <groupId>org.opendaylight.yangtools</groupId>
262                         <artifactId>checkstyle-logging</artifactId>
263                         <version>${yangtools.version}</version>
264                     </dependency>
265                 </dependencies>
266                 <executions>
267                     <execution>
268                         <goals>
269                             <goal>check</goal>
270                         </goals>
271                     </execution>
272                 </executions>
273             </plugin>
274             <plugin>
275                 <groupId>org.jacoco</groupId>
276                 <artifactId>jacoco-maven-plugin</artifactId>
277                 <executions>
278                     <execution>
279                         <id>prepare-ut-agent</id>
280                         <phase>process-test-classes</phase>
281                         <goals>
282                             <goal>prepare-agent</goal>
283                         </goals>
284                         <configuration>
285                             <destFile>${sonar.jacoco.reportPath}</destFile>
286                         </configuration>
287                     </execution>
288                     <execution>
289                         <id>prepare-it-agent</id>
290                         <phase>pre-integration-test</phase>
291                         <goals>
292                             <goal>prepare-agent</goal>
293                         </goals>
294                         <configuration>
295                             <destFile>${sonar.jacoco.itReportPath}</destFile>
296                         </configuration>
297                     </execution>
298                 </executions>
299             </plugin>
300             <plugin>
301                 <artifactId>maven-javadoc-plugin</artifactId>
302             </plugin>
303             <plugin>
304                 <artifactId>maven-source-plugin</artifactId>
305             </plugin>
306         </plugins>
307
308         <pluginManagement>
309             <plugins>
310                 <!--This plugin's configuration is used to store Eclipse m2e settings
311                     only. It has no influence on the Maven build itself. -->
312                 <plugin>
313                     <groupId>org.eclipse.m2e</groupId>
314                     <artifactId>lifecycle-mapping</artifactId>
315                     <version>1.0.0</version>
316                     <configuration>
317                         <lifecycleMappingMetadata>
318                             <pluginExecutions>
319                                 <pluginExecution>
320                                     <pluginExecutionFilter>
321                                         <groupId>pl.project13.maven</groupId>
322                                         <artifactId>git-commit-id-plugin</artifactId>
323                                         <versionRange>[2.1.4,)</versionRange>
324                                         <goals>
325                                             <goal>revision</goal>
326                                         </goals>
327                                     </pluginExecutionFilter>
328                                     <action>
329                                         <ignore />
330                                     </action>
331                                 </pluginExecution>
332                                 <pluginExecution>
333                                     <pluginExecutionFilter>
334                                         <groupId>org.opendaylight.yangtools</groupId>
335                                         <artifactId>yang-maven-plugin</artifactId>
336                                         <versionRange>[0.5,)</versionRange>
337                                         <goals>
338                                             <goal>generate-sources</goal>
339                                         </goals>
340                                     </pluginExecutionFilter>
341                                     <action>
342                                         <execute />
343                                     </action>
344                                 </pluginExecution>
345                                 <pluginExecution>
346                                    <pluginExecutionFilter>
347                                        <groupId>org.jacoco</groupId>
348                                        <artifactId>jacoco-maven-plugin</artifactId>
349                                        <versionRange>[0.6,)</versionRange>
350                                        <goals>
351                                            <goal>prepare-agent</goal>
352                                        </goals>
353                                     </pluginExecutionFilter>
354                                     <action>
355                                         <ignore/>
356                                     </action>
357                                 </pluginExecution>
358                                 <pluginExecution>
359                                     <pluginExecutionFilter>
360                                         <groupId>org.apache.maven.plugins</groupId>
361                                         <artifactId>maven-checkstyle-plugin</artifactId>
362                                         <versionRange>[2.13,)</versionRange>
363                                         <goals>
364                                             <goal>check</goal>
365                                         </goals>
366                                     </pluginExecutionFilter>
367                                     <action>
368                                         <execute />
369                                     </action>
370                                 </pluginExecution>
371                             </pluginExecutions>
372                         </lifecycleMappingMetadata>
373                     </configuration>
374                 </plugin>
375
376                 <!-- Our YANG->DTO generation plugin -->
377                 <plugin>
378                     <groupId>org.opendaylight.yangtools</groupId>
379                     <artifactId>yang-maven-plugin</artifactId>
380                     <version>${yangtools.version}</version>
381                     <executions>
382                         <execution>
383                             <goals>
384                                 <goal>generate-sources</goal>
385                             </goals>
386                             <configuration>
387                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
388                                 <codeGenerators>
389                                     <generator>
390                                         <codeGeneratorClass>
391                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
392                                         </codeGeneratorClass>
393                                         <outputBaseDir>
394                                             target/generated-sources/sal
395                                         </outputBaseDir>
396                                     </generator>
397                                     <generator>
398                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
399                                         <outputBaseDir>target/site</outputBaseDir>
400                                     </generator>
401                                     <generator>
402                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
403                                         <outputBaseDir>target/site</outputBaseDir>
404                                     </generator>
405                                     <generator>
406                                         <codeGeneratorClass>
407                                             org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
408                                         </codeGeneratorClass>
409                                         <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
410                                         <additionalConfiguration>
411                                             <namespaceToPackage1>
412                                                 urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
413                                             </namespaceToPackage1>
414                                         </additionalConfiguration>
415                                     </generator>
416                                 </codeGenerators>
417                                 <inspectDependencies>true</inspectDependencies>
418                             </configuration>
419                         </execution>
420                     </executions>
421                     <dependencies>
422                         <dependency>
423                             <groupId>org.opendaylight.mdsal</groupId>
424                             <artifactId>maven-sal-api-gen-plugin</artifactId>
425                             <version>${yangtools.version}</version>
426                             <type>jar</type>
427                         </dependency>
428                         <dependency>
429                             <groupId>org.opendaylight.controller</groupId>
430                             <artifactId>yang-jmx-generator-plugin</artifactId>
431                             <version>${controller.config.version}</version>
432                         </dependency>
433                     </dependencies>
434                 </plugin>
435             </plugins>
436         </pluginManagement>
437     </build>
438 </project>