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