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