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