d283a1ab43b0f0b192625dd082e6a467d1acdea8
[openflowplugin.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.4.2-SNAPSHOT</version>
8         <relativePath></relativePath>
9     </parent>
10     <prerequisites>
11         <maven>3.0</maven>
12     </prerequisites>
13     <groupId>org.opendaylight.openflowplugin</groupId>
14     <artifactId>openflowplugin-parent</artifactId>
15     <version>0.0.3-SNAPSHOT</version>
16     <packaging>pom</packaging>
17
18     <scm>
19       <connection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</connection>
20       <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowplugin.git</developerConnection>
21       <url>https://wiki.opendaylight.org/view/OpenDaylight_OpenFlow_Plugin:Main</url>
22       <tag>HEAD</tag>
23     </scm>
24
25     <distributionManagement>
26       <!-- OpenDayLight Released artifact -->
27       <repository>
28         <id>opendaylight-release</id>
29         <url>http://nexus.opendaylight.org/content/repositories/opendaylight.release</url>
30       </repository>
31       <!-- OpenDayLight Snapshot artifact -->
32       <snapshotRepository>
33         <id>opendaylight-snapshot</id>
34         <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
35       </snapshotRepository>
36       <!-- Site deployment -->
37       <!-- site>
38            <id>website</id>
39            <url>${sitedeploy}</url>
40            </site -->
41     </distributionManagement>
42
43     <properties>
44       <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
45       <mdsal.version>1.1-SNAPSHOT</mdsal.version>
46       <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
47       <openflowjava.version>0.5-SNAPSHOT</openflowjava.version>
48       <controller.model.version>1.1-SNAPSHOT</controller.model.version>
49       <sal.api.version>0.8.1-SNAPSHOT</sal.api.version>
50       <sal.connection.api.version>0.1.2-SNAPSHOT</sal.connection.api.version>
51       <netconf.parent.version>0.2.5-SNAPSHOT</netconf.parent.version>
52       <config.parent.version>0.2.5-SNAPSHOT</config.parent.version>
53       <build.helper.version>1.8</build.helper.version>
54       <xtend.dstdir>src/main/xtend-gen</xtend.dstdir>
55       <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
56       <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
57       <exi.nagasena.version>0000.0002.0038.0</exi.nagasena.version>
58       <controller.distribution.version>0.1.2-SNAPSHOT</controller.distribution.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
67       <karaf.distro.empty.version>1.4.2-SNAPSHOT</karaf.distro.empty.version>
68     </properties>
69
70     <dependencyManagement>
71       <dependencies>
72         <dependency>
73           <groupId>org.opendaylight.openflowjava</groupId>
74           <artifactId>openflow-protocol-impl</artifactId>
75           <version>${openflowjava.version}</version>
76         </dependency>
77         <dependency>
78           <groupId>org.opendaylight.openflowjava</groupId>
79           <artifactId>openflow-protocol-api</artifactId>
80           <version>${openflowjava.version}</version>
81         </dependency>
82         <dependency>
83           <groupId>org.opendaylight.openflowjava</groupId>
84           <artifactId>openflow-protocol-spi</artifactId>
85           <version>${openflowjava.version}</version>
86         </dependency>
87         <dependency>
88           <groupId>org.opendaylight.openflowjava</groupId>
89           <artifactId>util</artifactId>
90           <version>${openflowjava.version}</version>
91         </dependency>
92         <dependency>
93           <groupId>org.opendaylight.openflowjava</groupId>
94           <artifactId>simple-client</artifactId>
95           <version>${openflowjava.version}</version>
96         </dependency>
97         <dependency>
98           <groupId>org.opendaylight.controller.model</groupId>
99           <artifactId>model-flow-base</artifactId>
100           <version>${controller.model.version}</version>
101         </dependency>
102         <dependency>
103           <groupId>org.opendaylight.controller.model</groupId>
104           <artifactId>model-flow-service</artifactId>
105           <version>${controller.model.version}</version>
106         </dependency>
107         <dependency>
108           <groupId>org.opendaylight.controller.model</groupId>
109           <artifactId>model-flow-statistics</artifactId>
110           <version>${controller.model.version}</version>
111         </dependency>
112         <dependency>
113           <groupId>org.opendaylight.controller.model</groupId>
114           <artifactId>model-inventory</artifactId>
115           <version>${controller.model.version}</version>
116         </dependency>
117         <dependency>
118           <groupId>org.opendaylight.controller</groupId>
119           <artifactId>sal-binding-api</artifactId>
120           <version>${controller.model.version}</version>
121         </dependency>
122         <dependency>
123             <groupId>org.opendaylight.controller</groupId>
124             <artifactId>liblldp</artifactId>
125             <version>${sal.api.version}</version>
126         </dependency>
127         <dependency>
128             <groupId>org.opendaylight.controller</groupId>
129             <artifactId>sal-common-util</artifactId>
130             <version>${controller.model.version}</version>
131         </dependency>
132
133         <!-- IT -->
134         <dependency>
135             <groupId>org.opendaylight.controller</groupId>
136             <artifactId>config-netconf-connector</artifactId>
137             <version>${netconf.parent.version}</version>
138         </dependency>
139         <dependency>
140             <groupId>org.opendaylight.controller</groupId>
141             <artifactId>sal-binding-it</artifactId>
142             <version>${controller.model.version}</version>
143         </dependency>
144         <dependency>
145             <groupId>org.opendaylight.controller</groupId>
146             <artifactId>sal-binding-broker-impl</artifactId>
147             <version>${controller.model.version}</version>
148         </dependency>
149         <dependency>
150             <groupId>org.opendaylight.controller</groupId>
151             <artifactId>config-manager</artifactId>
152             <version>${config.parent.version}</version>
153         </dependency>
154           <dependency>
155               <groupId>org.opendaylight.controller</groupId>
156               <artifactId>config-api</artifactId>
157               <version>${config.parent.version}</version>
158           </dependency>
159         <dependency>
160             <groupId>org.opendaylight.yangtools.thirdparty</groupId>
161             <artifactId>antlr4-runtime-osgi-nohead</artifactId>
162             <version>4.0</version>
163         </dependency>
164         <dependency>
165           <groupId>org.opendaylight.controller</groupId>
166           <artifactId>logback-config</artifactId>
167           <version>${config.parent.version}</version>
168         </dependency>
169         <dependency>
170           <groupId>org.opendaylight.controller</groupId>
171           <artifactId>config-persister-api</artifactId>
172           <version>${config.parent.version}</version>
173         </dependency>
174         <dependency>
175           <groupId>org.opendaylight.controller</groupId>
176           <artifactId>config-persister-impl</artifactId>
177           <version>${config.parent.version}</version>
178         </dependency>
179         <dependency>
180           <groupId>org.opendaylight.controller</groupId>
181           <artifactId>config-persister-file-xml-adapter</artifactId>
182           <version>${config.parent.version}</version>
183         </dependency>
184         <dependency>
185           <groupId>org.opendaylight.controller</groupId>
186           <artifactId>netconf-monitoring</artifactId>
187           <version>${netconf.parent.version}</version>
188         </dependency>
189         <dependency>
190           <groupId>org.opendaylight.controller</groupId>
191           <artifactId>netconf-client</artifactId>
192           <version>${netconf.parent.version}</version>
193         </dependency>
194         <dependency>
195           <groupId>org.opendaylight.controller</groupId>
196           <artifactId>netconf-impl</artifactId>
197           <version>${netconf.parent.version}</version>
198         </dependency>
199
200         <!-- thirdparty -->
201         <dependency>
202           <groupId>org.openexi</groupId>
203           <artifactId>nagasena</artifactId>
204           <version>${exi.nagasena.version}</version>
205         </dependency>
206         <dependency>
207           <groupId>org.openexi</groupId>
208           <artifactId>nagasena-rta</artifactId>
209           <version>${exi.nagasena.version}</version>
210         </dependency>
211         <dependency>
212           <groupId>org.opendaylight.controller.thirdparty</groupId>
213           <artifactId>ganymed</artifactId>
214           <version>1.1-SNAPSHOT</version>
215         </dependency>
216         <dependency>
217             <groupId>xml-apis</groupId>
218             <artifactId>xml-apis</artifactId>
219             <version>1.4.01</version>
220         </dependency>
221         <dependency>
222             <groupId>org.opendaylight.yangtools.thirdparty</groupId>
223             <artifactId>xtend-lib-osgi</artifactId>
224             <version>2.4.3</version>
225             <scope>test</scope>
226         </dependency>
227       </dependencies>
228     </dependencyManagement>
229
230     <dependencies>
231         <!-- Sonar -->
232         <dependency>
233             <groupId>org.codehaus.sonar-plugins.java</groupId>
234             <artifactId>sonar-jacoco-listeners</artifactId>
235             <version>${sonar-jacoco-listeners.version}</version>
236             <scope>test</scope>
237         </dependency>
238     </dependencies>
239
240     <build>
241         <plugins>
242             <plugin>
243                  <groupId>org.codehaus.mojo</groupId>
244                  <artifactId>build-helper-maven-plugin</artifactId>
245             </plugin>
246             <plugin>
247                 <groupId>org.jacoco</groupId>
248                 <artifactId>jacoco-maven-plugin</artifactId>
249                 <executions>
250                     <execution>
251                         <id>prepare-ut-agent</id>
252                         <phase>process-test-classes</phase>
253                         <goals>
254                             <goal>prepare-agent</goal>
255                         </goals>
256                         <configuration>
257                             <destFile>${sonar.jacoco.reportPath}</destFile>
258                             <propertyName>jacoco.agent.ut.arg</propertyName>
259                         </configuration>
260                     </execution>
261                     <execution>
262                         <id>prepare-it-agent</id>
263                         <phase>pre-integration-test</phase>
264                         <goals>
265                             <goal>prepare-agent</goal>
266                         </goals>
267                         <configuration>
268                             <destFile>${sonar.jacoco.itReportPath}</destFile>
269                             <propertyName>jacoco.agent.it.arg</propertyName>
270                         </configuration>
271                     </execution>
272                 </executions>
273             </plugin>
274         </plugins>
275         <pluginManagement>
276           <plugins>
277             <plugin>
278               <groupId>org.apache.maven.plugins</groupId>
279               <artifactId>maven-compiler-plugin</artifactId>
280               <configuration>
281                 <source>1.7</source>
282                 <target>1.7</target>
283               </configuration>
284             </plugin>
285             <plugin>
286               <groupId>org.ops4j.pax.exam</groupId>
287               <artifactId>maven-paxexam-plugin</artifactId>
288               <version>1.2.4</version>
289             </plugin>
290             <plugin>
291               <groupId>org.eclipse.xtend</groupId>
292               <artifactId>xtend-maven-plugin</artifactId>
293               <version>${xtend.version}</version>
294               <executions>
295                   <execution>
296                       <goals>
297                           <goal>compile</goal>
298                       </goals>
299                       <configuration>
300                           <outputDirectory>${xtend.dstdir}</outputDirectory>
301                       </configuration>
302                   </execution>
303               </executions>
304           </plugin>
305           <plugin>
306               <artifactId>maven-clean-plugin</artifactId>
307               <configuration>
308                   <filesets>
309                       <fileset>
310                           <directory>${xtend.dstdir}</directory>
311                           <includes>
312                               <include>**</include>
313                           </includes>
314                       </fileset>
315                       <fileset>
316                           <directory>${jmxGeneratorPath}</directory>
317                           <includes>
318                               <include>**</include>
319                           </includes>
320                       </fileset>
321                       <fileset>
322                           <directory>${salGeneratorPath}</directory>
323                           <includes>
324                               <include>**</include>
325                           </includes>
326                       </fileset>
327                   </filesets>
328               </configuration>
329             </plugin>
330           <plugin>
331              <groupId>org.codehaus.mojo</groupId>
332              <artifactId>build-helper-maven-plugin</artifactId>
333              <version>${build.helper.version}</version>
334              <executions>
335                 <execution>
336                    <id>add-source</id>
337                    <phase>generate-sources</phase>
338                    <goals>
339                       <goal>add-source</goal>
340                    </goals>
341                    <configuration>
342                       <sources>
343                          <source>${jmxGeneratorPath}</source>
344                          <source>${salGeneratorPath}</source>
345                          <source>${xtend.dstdir}</source>
346                       </sources>
347                    </configuration>
348                 </execution>
349              </executions>
350             </plugin>
351             <plugin>
352               <groupId>org.opendaylight.yangtools</groupId>
353               <artifactId>yang-maven-plugin</artifactId>
354               <version>0.6.2-SNAPSHOT</version>
355             </plugin>
356             <plugin>
357               <groupId>org.apache.felix</groupId>
358               <artifactId>maven-bundle-plugin</artifactId>
359               <version>${maven.bundle.version}</version>
360               <extensions>true</extensions>
361               <configuration>
362                 <instructions>
363                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
364                 </instructions>
365                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
366               </configuration>
367             </plugin>
368             <!-- Ignore/Execute plugin execution -->
369             <plugin>
370               <groupId>org.eclipse.m2e</groupId>
371               <artifactId>lifecycle-mapping</artifactId>
372               <version>1.0.0</version>
373               <configuration>
374                 <lifecycleMappingMetadata>
375                   <pluginExecutions>
376                     <pluginExecution>
377                       <pluginExecutionFilter>
378                         <groupId>org.codehaus.mojo</groupId>
379                         <artifactId>properties-maven-plugin</artifactId>
380                         <versionRange>[0.0,)</versionRange>
381                         <goals>
382                           <goal>set-system-properties</goal>
383                         </goals>
384                       </pluginExecutionFilter>
385                       <action>
386                         <ignore></ignore>
387                       </action>
388                     </pluginExecution>
389                     <pluginExecution>
390                       <pluginExecutionFilter>
391                         <groupId>org.codehaus.enunciate</groupId>
392                         <artifactId>maven-enunciate-plugin</artifactId>
393                         <versionRange>[0.0,)</versionRange>
394                         <goals>
395                           <goal>docs</goal>
396                         </goals>
397                       </pluginExecutionFilter>
398                       <action>
399                         <ignore></ignore>
400                       </action>
401                     </pluginExecution>
402                     <pluginExecution>
403                       <pluginExecutionFilter>
404                         <groupId>org.jacoco</groupId>
405                         <artifactId>jacoco-maven-plugin</artifactId>
406                         <versionRange>[0.0,)</versionRange>
407                         <goals>
408                           <goal>prepare-agent</goal>
409                           <goal>pre-test</goal>
410                           <goal>post-test</goal>
411                         </goals>
412                       </pluginExecutionFilter>
413                       <action>
414                         <ignore></ignore>
415                       </action>
416                     </pluginExecution>
417                     <pluginExecution>
418                       <pluginExecutionFilter>
419                         <groupId>org.ops4j.pax.exam</groupId>
420                         <artifactId>maven-paxexam-plugin</artifactId>
421                         <versionRange>[1.2.4,)</versionRange>
422                         <goals>
423                           <goal>generate-depends-file</goal>
424                         </goals>
425                       </pluginExecutionFilter>
426                       <action>
427                         <execute>
428                           <runOnIncremental>false</runOnIncremental>
429                         </execute>
430                       </action>
431                     </pluginExecution>
432                     <pluginExecution>
433                       <pluginExecutionFilter>
434                         <groupId>org.apache.maven.plugins</groupId>
435                         <artifactId>maven-checkstyle-plugin</artifactId>
436                         <versionRange>[2.0,)</versionRange>
437                         <goals>
438                           <goal>check</goal>
439                         </goals>
440                       </pluginExecutionFilter>
441                       <action>
442                         <ignore></ignore>
443                       </action>
444                     </pluginExecution>
445                     <pluginExecution>
446                       <pluginExecutionFilter>
447                         <groupId>org.opendaylight.yangtools</groupId>
448                         <artifactId>yang-maven-plugin</artifactId>
449                         <versionRange>[0.5,)</versionRange>
450                         <goals>
451                           <goal>generate-sources</goal>
452                         </goals>
453                       </pluginExecutionFilter>
454                       <action>
455                         <execute></execute>
456                       </action>
457                     </pluginExecution>
458                     <pluginExecution>
459                       <pluginExecutionFilter>
460                         <groupId>org.codehaus.groovy.maven</groupId>
461                         <artifactId>gmaven-plugin</artifactId>
462                         <versionRange>1.0</versionRange>
463                         <goals>
464                           <goal>execute</goal>
465                         </goals>
466                       </pluginExecutionFilter>
467                       <action>
468                         <ignore></ignore>
469                       </action>
470                     </pluginExecution>
471                     <pluginExecution>
472                       <pluginExecutionFilter>
473                         <groupId>org.apache.maven.plugins</groupId>
474                         <artifactId>maven-enforcer-plugin</artifactId>
475                         <versionRange>${enforcer.version}</versionRange>
476                         <goals>
477                           <goal>enforce</goal>
478                         </goals>
479                       </pluginExecutionFilter>
480                       <action>
481                         <ignore></ignore>
482                       </action>
483                     </pluginExecution>
484                   </pluginExecutions>
485                 </lifecycleMappingMetadata>
486               </configuration>
487             </plugin>
488             <plugin>
489               <groupId>org.apache.maven.plugins</groupId>
490               <artifactId>maven-failsafe-plugin</artifactId>
491               <configuration>
492                 <!-- Specific to generate mapping between tests and covered code -->
493                 <argLine>${jacoco.agent.it.arg}</argLine>
494                 <properties>
495                   <property>
496                     <name>listener</name>
497                     <value>org.sonar.java.jacoco.JUnitListener</value>
498                   </property>
499                 </properties>
500                 <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
501                 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
502               </configuration>
503             </plugin>
504             <plugin>
505               <groupId>org.apache.maven.plugins</groupId>
506               <artifactId>maven-surefire-plugin</artifactId>
507               <configuration>
508                 <!-- Specific to generate mapping between tests and covered code -->
509                 <argLine>${jacoco.agent.ut.arg}</argLine>
510                 <properties>
511                   <property>
512                     <name>listener</name>
513                     <value>org.sonar.java.jacoco.JUnitListener</value>
514                   </property>
515                 </properties>
516               </configuration>
517             </plugin>
518           </plugins>
519         </pluginManagement>
520     </build>
521
522     <profiles>
523       <profile>
524         <id>findbugsReport</id>
525         <reporting>
526           <plugins>
527             <plugin>
528               <groupId>org.apache.maven.plugins</groupId>
529               <artifactId>maven-project-info-reports-plugin</artifactId>
530               <version>2.7</version>
531               <configuration>
532                 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
533                 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
534               </configuration>
535               <reportSets>
536                 <reportSet>
537                   <reports>
538                     <report>index</report>
539                     <report>project-team</report>
540                     <report>license</report>
541                     <report>mailing-list</report>
542                     <report>plugin-management</report>
543                     <report>cim</report>
544                     <report>issue-tracking</report>
545                     <report>scm</report>
546                     <report>summary</report>
547                   </reports>
548                 </reportSet>
549               </reportSets>
550             </plugin>
551             <plugin>
552               <groupId>org.codehaus.mojo</groupId>
553               <artifactId>findbugs-maven-plugin</artifactId>
554               <version>2.5.2</version>
555             </plugin>
556             <plugin>
557               <groupId>org.apache.maven.plugins</groupId>
558               <artifactId>maven-pmd-plugin</artifactId>
559               <version>3.0.1</version>
560             </plugin>
561             <plugin>
562               <groupId>org.apache.maven.plugins</groupId>
563               <artifactId>maven-jxr-plugin</artifactId>
564               <version>2.3</version>
565             </plugin>
566           </plugins>
567         </reporting>
568       </profile>
569     </profiles>
570
571     <repositories>
572       <repository>
573         <id>opendaylight-snapshot</id>
574         <name>opendaylight-snapshot</name>
575         <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
576         <releases>
577           <enabled>false</enabled>
578         </releases>
579       </repository>
580       <repository>
581         <id>public</id>
582         <name>public</name>
583         <url>http://nexus.opendaylight.org/content/groups/public</url>
584         <snapshots>
585           <enabled>false</enabled>
586         </snapshots>
587       </repository>
588
589     </repositories>
590
591     <pluginRepositories>
592       <pluginRepository>
593         <id>opendaylight-central</id>
594         <name>opendaylight-central</name>
595         <url>http://nexus.opendaylight.org/content/repositories/public</url>
596         <snapshots>
597           <enabled>false</enabled>
598         </snapshots>
599       </pluginRepository>
600       <pluginRepository>
601         <id>opendaylight-snapshot</id>
602         <name>central2</name>
603         <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot</url>
604         <releases>
605           <enabled>false</enabled>
606         </releases>
607       </pluginRepository>
608     </pluginRepositories>
609
610     <modules>
611       <module>openflowplugin-api</module>
612       <module>openflowplugin</module>
613       <module>extension</module>
614       <module>distribution/base</module>
615       <module>distribution/cbench</module>
616       <module>distribution/karaf</module>
617       <module>openflowplugin-controller-config</module>
618       <module>openflowplugin-it</module>
619       <module>test-provider</module>
620       <module>drop-test</module>
621       <module>features</module>
622       <module>samples/sample-consumer</module>
623       <module>samples/learning-switch</module>
624     </modules>
625 </project>