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