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