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