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