Migrate to artifact imports
[openflowjava.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3     <modelVersion>4.0.0</modelVersion>
4     <parent>
5         <groupId>org.opendaylight.odlparent</groupId>
6         <artifactId>odlparent</artifactId>
7         <version>1.5.0-SNAPSHOT</version>
8         <relativePath/>
9     </parent>
10
11     <groupId>org.opendaylight.openflowjava</groupId>
12     <artifactId>openflow-protocol-parent</artifactId>
13     <version>0.6.0-SNAPSHOT</version>
14     <name>openflowjava</name> <!-- Used by Sonar to set project name -->
15     <packaging>pom</packaging>
16
17     <modules>
18         <module>openflowjava-config</module>
19         <module>openflow-protocol-api</module>
20         <module>openflow-protocol-spi</module>
21         <module>util</module>
22         <module>openflow-protocol-impl</module>
23         <module>openflow-protocol-it</module>
24         <module>features</module>
25         <module>simple-client</module>
26     </modules>
27     <scm>
28         <connection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</connection>
29         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</developerConnection>
30         <url>https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Main</url>
31       <tag>HEAD</tag>
32     </scm>
33
34     <properties>
35         <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
36         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
37         <jmxGeneratorPath>${project.build.directory}/yang-gen-config</jmxGeneratorPath>
38         <karaf.distro.empty.version>1.5.0-SNAPSHOT</karaf.distro.empty.version>
39         <salGeneratorPath>${project.build.directory}/yang-gen-sal</salGeneratorPath>
40         <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
41         <yang.prototype.version>1.2.0-SNAPSHOT</yang.prototype.version>
42         <ietf.model.version>2010.09.24.7-SNAPSHOT</ietf.model.version>
43         <yang.ext.version>2013.09.07.7-SNAPSHOT</yang.ext.version>
44         <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
45         <yangtools.generator.version>0.7.0-SNAPSHOT</yangtools.generator.version>
46         <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
47         <config.version>0.3.0-SNAPSHOT</config.version>
48
49         <!-- Sonar config -->
50         <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
51         <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
52         <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
53         <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
54     </properties>
55
56     <dependencyManagement>
57         <dependencies>
58             <dependency>
59               <groupId>org.opendaylight.yangtools</groupId>
60               <artifactId>yangtools-artifacts</artifactId>
61               <version>${yangtools.version}</version>
62               <type>pom</type>
63               <scope>import</scope>
64             </dependency>
65             <dependency>
66               <groupId>org.opendaylight.controller</groupId>
67               <artifactId>config-artifacts</artifactId>
68               <version>${config.version}</version>
69               <type>pom</type>
70               <scope>import</scope>
71             </dependency>
72         </dependencies>
73     </dependencyManagement>
74
75     <dependencies>
76         <!-- Sonar -->
77         <dependency>
78             <groupId>org.codehaus.sonar-plugins.java</groupId>
79             <artifactId>sonar-jacoco-listeners</artifactId>
80             <version>${sonar-jacoco-listeners.version}</version>
81             <scope>test</scope>
82         </dependency>
83     </dependencies>
84
85     <build>
86         <plugins>
87             <plugin>
88                 <groupId>org.apache.maven.plugins</groupId>
89                 <artifactId>maven-compiler-plugin</artifactId>
90                 <inherited>true</inherited>
91                 <configuration>
92                     <source>1.7</source>
93                     <target>1.7</target>
94                 </configuration>
95             </plugin>
96             <plugin>
97                 <artifactId>maven-source-plugin</artifactId>
98                 <executions>
99                     <execution>
100                         <id>attach-sources</id>
101                         <phase>deploy</phase>
102                         <goals>
103                             <goal>jar-no-fork</goal>
104                         </goals>
105                     </execution>
106                 </executions>
107             </plugin>
108             <plugin>
109               <groupId>org.apache.felix</groupId>
110               <artifactId>maven-bundle-plugin</artifactId>
111               <extensions>true</extensions>
112               <configuration>
113                 <instructions>
114                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
115                 </instructions>
116                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
117               </configuration>
118             </plugin>
119             <plugin>
120               <groupId>org.apache.maven.plugins</groupId>
121               <artifactId>maven-checkstyle-plugin</artifactId>
122               <version>2.12</version>
123               <configuration>
124                 <failOnViolation>false</failOnViolation>
125                 <configLocation>checkstyle-logging.xml</configLocation>
126                 <consoleOutput>true</consoleOutput>
127                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
128                 <sourceDirectory>${project.basedir}</sourceDirectory>
129                 <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
130                 <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/</excludes>
131               </configuration>
132               <dependencies>
133                 <dependency>
134                 <groupId>org.opendaylight.yangtools</groupId>
135                 <artifactId>checkstyle-logging</artifactId>
136                 <version>${yangtools.version}</version>
137                 </dependency>
138               </dependencies>
139               <executions>
140                 <execution>
141                 <goals>
142                   <goal>check</goal>
143                 </goals>
144                 </execution>
145               </executions>
146             </plugin>
147             <plugin>
148                 <groupId>org.codehaus.mojo</groupId>
149                 <artifactId>build-helper-maven-plugin</artifactId>
150             </plugin>
151             <plugin>
152                 <groupId>org.jacoco</groupId>
153                 <artifactId>jacoco-maven-plugin</artifactId>
154                 <executions>
155                     <execution>
156                         <id>prepare-ut-agent</id>
157                         <phase>process-test-classes</phase>
158                         <goals>
159                             <goal>prepare-agent</goal>
160                         </goals>
161                         <configuration>
162                             <destFile>${sonar.jacoco.reportPath}</destFile>
163                             <propertyName>jacoco.agent.ut.arg</propertyName>
164                         </configuration>
165                     </execution>
166                     <execution>
167                         <id>prepare-it-agent</id>
168                         <phase>pre-integration-test</phase>
169                         <goals>
170                             <goal>prepare-agent</goal>
171                         </goals>
172                         <configuration>
173                             <destFile>${sonar.jacoco.itReportPath}</destFile>
174                             <propertyName>jacoco.agent.it.arg</propertyName>
175                         </configuration>
176                     </execution>
177                 </executions>
178             </plugin>
179         </plugins>
180         <pluginManagement>
181             <plugins>
182                 <plugin>
183                     <groupId>org.opendaylight.yangtools</groupId>
184                     <artifactId>yang-maven-plugin</artifactId>
185                     <version>${yangtools.version}</version>
186                 </plugin>
187                 <plugin>
188                     <groupId>org.codehaus.mojo</groupId>
189                     <artifactId>build-helper-maven-plugin</artifactId>
190                     <version>1.8</version>
191                     <executions>
192                         <execution>
193                             <id>add-source</id>
194                             <goals>
195                                 <goal>add-source</goal>
196                             </goals>
197                             <phase>generate-sources</phase>
198                             <configuration>
199                                 <sources>
200                                     <source>src/main/yang</source>
201                                 </sources>
202                             </configuration>
203                         </execution>
204                     </executions>
205                 </plugin>
206                 <plugin>
207                     <groupId>org.apache.maven.plugins</groupId>
208                     <artifactId>maven-failsafe-plugin</artifactId>
209                     <configuration>
210                         <!-- Specific to generate mapping between tests and covered code -->
211                         <argLine>${jacoco.agent.it.arg}</argLine>
212                         <properties>
213                             <property>
214                                 <name>listener</name>
215                                 <value>org.sonar.java.jacoco.JUnitListener</value>
216                             </property>
217                         </properties>
218                         <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
219                         <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
220                     </configuration>
221                 </plugin>
222                 <plugin>
223                     <groupId>org.apache.maven.plugins</groupId>
224                     <artifactId>maven-surefire-plugin</artifactId>
225                     <configuration>
226                         <!-- Specific to generate mapping between tests and covered code -->
227                         <argLine>${jacoco.agent.ut.arg}</argLine>
228                         <properties>
229                             <property>
230                                 <name>listener</name>
231                                 <value>org.sonar.java.jacoco.JUnitListener</value>
232                             </property>
233                         </properties>
234                     </configuration>
235                 </plugin>
236                 <!-- Ignore/Execute plugin execution -->
237                 <plugin>
238                   <groupId>org.eclipse.m2e</groupId>
239                   <artifactId>lifecycle-mapping</artifactId>
240                   <version>1.0.0</version>
241                   <configuration>
242                     <lifecycleMappingMetadata>
243                       <pluginExecutions>
244                         <pluginExecution>
245                           <pluginExecutionFilter>
246                             <groupId>org.codehaus.mojo</groupId>
247                             <artifactId>properties-maven-plugin</artifactId>
248                             <versionRange>[0.0,)</versionRange>
249                             <goals>
250                               <goal>set-system-properties</goal>
251                             </goals>
252                           </pluginExecutionFilter>
253                           <action>
254                             <ignore/>
255                           </action>
256                         </pluginExecution>
257                         <pluginExecution>
258                           <pluginExecutionFilter>
259                             <groupId>org.codehaus.enunciate</groupId>
260                             <artifactId>maven-enunciate-plugin</artifactId>
261                             <versionRange>[0.0,)</versionRange>
262                             <goals>
263                               <goal>docs</goal>
264                             </goals>
265                           </pluginExecutionFilter>
266                           <action>
267                             <ignore/>
268                           </action>
269                         </pluginExecution>
270                         <pluginExecution>
271                           <pluginExecutionFilter>
272                             <groupId>org.jacoco</groupId>
273                             <artifactId>jacoco-maven-plugin</artifactId>
274                             <versionRange>[0.0,)</versionRange>
275                             <goals>
276                               <goal>prepare-agent</goal>
277                               <goal>pre-test</goal>
278                               <goal>post-test</goal>
279                             </goals>
280                           </pluginExecutionFilter>
281                           <action>
282                             <ignore/>
283                           </action>
284                         </pluginExecution>
285                         <pluginExecution>
286                           <pluginExecutionFilter>
287                             <groupId>org.ops4j.pax.exam</groupId>
288                             <artifactId>maven-paxexam-plugin</artifactId>
289                             <versionRange>[1.2.4,)</versionRange>
290                             <goals>
291                               <goal>generate-depends-file</goal>
292                             </goals>
293                           </pluginExecutionFilter>
294                           <action>
295                             <execute>
296                               <runOnIncremental>false</runOnIncremental>
297                             </execute>
298                           </action>
299                         </pluginExecution>
300                         <pluginExecution>
301                           <pluginExecutionFilter>
302                             <groupId>org.apache.maven.plugins</groupId>
303                             <artifactId>maven-checkstyle-plugin</artifactId>
304                             <versionRange>[2.0,)</versionRange>
305                             <goals>
306                               <goal>check</goal>
307                             </goals>
308                           </pluginExecutionFilter>
309                           <action>
310                             <ignore/>
311                           </action>
312                         </pluginExecution>
313                         <pluginExecution>
314                           <pluginExecutionFilter>
315                             <groupId>org.opendaylight.yangtools</groupId>
316                             <artifactId>yang-maven-plugin</artifactId>
317                             <versionRange>[0.5,)</versionRange>
318                             <goals>
319                               <goal>generate-sources</goal>
320                             </goals>
321                           </pluginExecutionFilter>
322                           <action>
323                             <execute/>
324                           </action>
325                         </pluginExecution>
326                         <pluginExecution>
327                           <pluginExecutionFilter>
328                             <groupId>org.codehaus.groovy.maven</groupId>
329                             <artifactId>gmaven-plugin</artifactId>
330                             <versionRange>1.0</versionRange>
331                             <goals>
332                               <goal>execute</goal>
333                             </goals>
334                           </pluginExecutionFilter>
335                           <action>
336                             <ignore/>
337                           </action>
338                         </pluginExecution>
339                         <pluginExecution>
340                           <pluginExecutionFilter>
341                             <groupId>org.apache.maven.plugins</groupId>
342                             <artifactId>maven-enforcer-plugin</artifactId>
343                             <versionRange>${enforcer.version}</versionRange>
344                             <goals>
345                               <goal>enforce</goal>
346                             </goals>
347                           </pluginExecutionFilter>
348                           <action>
349                             <ignore/>
350                           </action>
351                         </pluginExecution>
352                       </pluginExecutions>
353                     </lifecycleMappingMetadata>
354                   </configuration>
355                 </plugin>
356             </plugins>
357         </pluginManagement>
358     </build>
359     <reporting>
360         <plugins>
361             <plugin>
362                 <groupId>org.codehaus.mojo</groupId>
363                 <artifactId>findbugs-maven-plugin</artifactId>
364                 <version>2.5.2</version>
365                 <configuration>
366                     <effort>Max</effort>
367                     <threshold>Low</threshold>
368                     <goal>site</goal>
369                 </configuration>
370             </plugin>
371             <plugin>
372               <artifactId>maven-jxr-plugin</artifactId>
373               <version>2.3</version>
374               <configuration>
375                 <aggregate>true</aggregate>
376                 <linkJavadoc>true</linkJavadoc>
377               </configuration>
378             </plugin>
379
380             <plugin>
381                 <groupId>org.codehaus.mojo</groupId>
382                 <artifactId>jdepend-maven-plugin</artifactId>
383                 <version>2.0-beta-2</version>
384             </plugin>
385         </plugins>
386     </reporting>
387     <profiles>
388         <profile>
389             <id>viewbuild</id>
390             <activation>
391                 <activeByDefault>true</activeByDefault>
392             </activation>
393             <properties>
394                 <build.suffix>${project.version}</build.suffix>
395             </properties>
396         </profile>
397         <profile>
398             <id>jenkins</id>
399             <activation>
400                 <property>
401                     <name>BUILDSUFFIX</name>
402                 </property>
403             </activation>
404             <properties>
405                 <build.suffix>${BUILDSUFFIX}</build.suffix>
406             </properties>
407         </profile>
408         <profile>
409             <id>repoBuild</id>
410             <build>
411                 <plugins>
412                     <plugin>
413                         <groupId>org.apache.maven.plugins</groupId>
414                         <artifactId>maven-javadoc-plugin</artifactId>
415                         <version>2.8.1</version>
416                         <executions>
417                             <execution>
418                                 <goals>
419                                     <goal>aggregate</goal>
420                                 </goals>
421                                 <phase>site</phase>
422                             </execution>
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                                 <phase>package</phase>
438                                 <goals>
439                                     <goal>jar-no-fork</goal>
440                                 </goals>
441                             </execution>
442                         </executions>
443                     </plugin>
444                 </plugins>
445             </build>
446         </profile>
447     </profiles>
448 </project>