Start openflowplugin-artifacts
[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       <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
48       <openflowjava.version>0.6.0-SNAPSHOT</openflowjava.version>
49       <openflowplugin.version>0.1.0-SNAPSHOT</openflowplugin.version>
50       <sal.api.version>0.9.0-SNAPSHOT</sal.api.version>
51       <build.helper.version>1.8</build.helper.version>
52       <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
53       <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
54       <exi.nagasena.version>0000.0002.0038.0</exi.nagasena.version>
55       <controller.distribution.version>0.2.0-SNAPSHOT</controller.distribution.version>
56       <features.test.version>1.5.0-SNAPSHOT</features.test.version>
57
58       <!-- Sonar config -->
59       <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
60       <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
61       <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
62       <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
63       <sonar.profile>Sonar way with Findbugs</sonar.profile>
64
65       <config.version>0.3.0-SNAPSHOT</config.version>
66       <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
67       <netconf.version>0.3.0-SNAPSHOT</netconf.version>
68       <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
69
70       <features.test.version>1.5.0-SNAPSHOT</features.test.version>
71       <karaf.distro.empty.version>1.5.0-SNAPSHOT</karaf.distro.empty.version>
72       <dlux.version>0.2.0-SNAPSHOT</dlux.version>
73     </properties>
74
75     <dependencyManagement>
76       <dependencies>
77         <dependency>
78           <groupId>org.opendaylight.openflowplugin</groupId>
79           <artifactId>openflowplugin-artifacts</artifactId>
80           <version>${openflowplugin.version}</version>
81           <scope>import</scope>
82           <type>pom</type>
83         </dependency>
84
85         <dependency>
86           <groupId>org.opendaylight.yangtools</groupId>
87           <artifactId>yangtools-artifacts</artifactId>
88           <version>${yangtools.version}</version>
89           <scope>import</scope>
90           <type>pom</type>
91         </dependency>
92         <dependency>
93           <groupId>org.opendaylight.controller</groupId>
94           <artifactId>config-artifacts</artifactId>
95           <version>${config.version}</version>
96           <scope>import</scope>
97           <type>pom</type>
98         </dependency>
99         <dependency>
100           <groupId>org.opendaylight.controller</groupId>
101           <artifactId>mdsal-artifacts</artifactId>
102           <version>${mdsal.version}</version>
103           <scope>import</scope>
104           <type>pom</type>
105         </dependency>
106         <dependency>
107           <groupId>org.opendaylight.controller</groupId>
108           <artifactId>netconf-artifacts</artifactId>
109           <version>${netconf.version}</version>
110           <scope>import</scope>
111           <type>pom</type>
112         </dependency>
113         <dependency>
114           <groupId>org.opendaylight.openflowjava</groupId>
115           <artifactId>openflowjava-artifacts</artifactId>
116           <version>${openflowjava.version}</version>
117           <scope>import</scope>
118           <type>pom</type>
119         </dependency>
120         <dependency>
121           <groupId>org.opendaylight.odlparent</groupId>
122           <artifactId>features-test</artifactId>
123           <version>${features.test.version}</version>
124           <scope>test</scope>
125         </dependency>
126
127         <dependency>
128             <groupId>org.opendaylight.controller</groupId>
129             <artifactId>liblldp</artifactId>
130             <version>${sal.api.version}</version>
131         </dependency>
132
133         <!-- thirdparty -->
134         <dependency>
135           <groupId>org.openexi</groupId>
136           <artifactId>nagasena</artifactId>
137           <version>${exi.nagasena.version}</version>
138         </dependency>
139         <dependency>
140           <groupId>org.openexi</groupId>
141           <artifactId>nagasena-rta</artifactId>
142           <version>${exi.nagasena.version}</version>
143         </dependency>
144         <dependency>
145             <groupId>xml-apis</groupId>
146             <artifactId>xml-apis</artifactId>
147             <version>1.4.01</version>
148         </dependency>
149       </dependencies>
150     </dependencyManagement>
151
152     <dependencies>
153         <!-- Sonar -->
154         <dependency>
155             <groupId>org.codehaus.sonar-plugins.java</groupId>
156             <artifactId>sonar-jacoco-listeners</artifactId>
157             <version>${sonar-jacoco-listeners.version}</version>
158             <scope>test</scope>
159         </dependency>
160     </dependencies>
161
162     <build>
163         <plugins>
164             <plugin>
165                  <groupId>org.codehaus.mojo</groupId>
166                  <artifactId>build-helper-maven-plugin</artifactId>
167             </plugin>
168             <plugin>
169                 <groupId>org.jacoco</groupId>
170                 <artifactId>jacoco-maven-plugin</artifactId>
171                 <executions>
172                     <execution>
173                         <id>prepare-ut-agent</id>
174                         <phase>process-test-classes</phase>
175                         <goals>
176                             <goal>prepare-agent</goal>
177                         </goals>
178                         <configuration>
179                             <destFile>${sonar.jacoco.reportPath}</destFile>
180                             <propertyName>jacoco.agent.ut.arg</propertyName>
181                         </configuration>
182                     </execution>
183                     <execution>
184                         <id>prepare-it-agent</id>
185                         <phase>pre-integration-test</phase>
186                         <goals>
187                             <goal>prepare-agent</goal>
188                         </goals>
189                         <configuration>
190                             <destFile>${sonar.jacoco.itReportPath}</destFile>
191                             <propertyName>jacoco.agent.it.arg</propertyName>
192                         </configuration>
193                     </execution>
194                 </executions>
195
196                 <configuration>
197                   <includes>
198                     <include>org.opendaylight.openflowplugin.*</include>
199                   </includes>
200                 </configuration>
201
202             </plugin>
203         </plugins>
204
205         <pluginManagement>
206           <plugins>
207             <plugin>
208               <groupId>org.apache.maven.plugins</groupId>
209               <artifactId>maven-compiler-plugin</artifactId>
210               <configuration>
211                 <source>1.7</source>
212                 <target>1.7</target>
213               </configuration>
214             </plugin>
215             <plugin>
216               <artifactId>maven-clean-plugin</artifactId>
217               <configuration>
218                   <filesets>
219                       <fileset>
220                           <directory>${jmxGeneratorPath}</directory>
221                           <includes>
222                               <include>**</include>
223                           </includes>
224                       </fileset>
225                       <fileset>
226                           <directory>${salGeneratorPath}</directory>
227                           <includes>
228                               <include>**</include>
229                           </includes>
230                       </fileset>
231                   </filesets>
232               </configuration>
233             </plugin>
234           <plugin>
235              <groupId>org.codehaus.mojo</groupId>
236              <artifactId>build-helper-maven-plugin</artifactId>
237              <version>${build.helper.version}</version>
238              <executions>
239                 <execution>
240                    <id>add-source</id>
241                    <phase>generate-sources</phase>
242                    <goals>
243                       <goal>add-source</goal>
244                    </goals>
245                    <configuration>
246                       <sources>
247                          <source>${jmxGeneratorPath}</source>
248                          <source>${salGeneratorPath}</source>
249                       </sources>
250                    </configuration>
251                 </execution>
252              </executions>
253             </plugin>
254             <plugin>
255               <groupId>org.opendaylight.yangtools</groupId>
256               <artifactId>yang-maven-plugin</artifactId>
257               <version>${yangtools.version}</version>
258             </plugin>
259             <plugin>
260               <groupId>org.apache.felix</groupId>
261               <artifactId>maven-bundle-plugin</artifactId>
262               <version>${maven.bundle.version}</version>
263               <extensions>true</extensions>
264               <configuration>
265                 <instructions>
266                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
267                 </instructions>
268                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
269               </configuration>
270             </plugin>
271             <!-- Ignore/Execute plugin execution -->
272             <plugin>
273               <groupId>org.eclipse.m2e</groupId>
274               <artifactId>lifecycle-mapping</artifactId>
275               <version>1.0.0</version>
276               <configuration>
277                 <lifecycleMappingMetadata>
278                   <pluginExecutions>
279                     <pluginExecution>
280                       <pluginExecutionFilter>
281                         <groupId>org.codehaus.mojo</groupId>
282                         <artifactId>properties-maven-plugin</artifactId>
283                         <versionRange>[0.0,)</versionRange>
284                         <goals>
285                           <goal>set-system-properties</goal>
286                         </goals>
287                       </pluginExecutionFilter>
288                       <action>
289                         <ignore/>
290                       </action>
291                     </pluginExecution>
292                     <pluginExecution>
293                       <pluginExecutionFilter>
294                         <groupId>org.codehaus.enunciate</groupId>
295                         <artifactId>maven-enunciate-plugin</artifactId>
296                         <versionRange>[0.0,)</versionRange>
297                         <goals>
298                           <goal>docs</goal>
299                         </goals>
300                       </pluginExecutionFilter>
301                       <action>
302                         <ignore/>
303                       </action>
304                     </pluginExecution>
305                     <pluginExecution>
306                       <pluginExecutionFilter>
307                         <groupId>org.jacoco</groupId>
308                         <artifactId>jacoco-maven-plugin</artifactId>
309                         <versionRange>[0.0,)</versionRange>
310                         <goals>
311                           <goal>prepare-agent</goal>
312                           <goal>pre-test</goal>
313                           <goal>post-test</goal>
314                         </goals>
315                       </pluginExecutionFilter>
316                       <action>
317                         <ignore/>
318                       </action>
319                     </pluginExecution>
320                     <pluginExecution>
321                       <pluginExecutionFilter>
322                         <groupId>org.ops4j.pax.exam</groupId>
323                         <artifactId>maven-paxexam-plugin</artifactId>
324                         <versionRange>[1.2.4,)</versionRange>
325                         <goals>
326                           <goal>generate-depends-file</goal>
327                         </goals>
328                       </pluginExecutionFilter>
329                       <action>
330                         <execute>
331                           <runOnIncremental>false</runOnIncremental>
332                         </execute>
333                       </action>
334                     </pluginExecution>
335                     <pluginExecution>
336                       <pluginExecutionFilter>
337                         <groupId>org.apache.maven.plugins</groupId>
338                         <artifactId>maven-checkstyle-plugin</artifactId>
339                         <versionRange>[2.0,)</versionRange>
340                         <goals>
341                           <goal>check</goal>
342                         </goals>
343                       </pluginExecutionFilter>
344                       <action>
345                         <ignore/>
346                       </action>
347                     </pluginExecution>
348                     <pluginExecution>
349                       <pluginExecutionFilter>
350                         <groupId>org.opendaylight.yangtools</groupId>
351                         <artifactId>yang-maven-plugin</artifactId>
352                         <versionRange>[0.5,)</versionRange>
353                         <goals>
354                           <goal>generate-sources</goal>
355                         </goals>
356                       </pluginExecutionFilter>
357                       <action>
358                         <execute/>
359                       </action>
360                     </pluginExecution>
361                     <pluginExecution>
362                       <pluginExecutionFilter>
363                         <groupId>org.codehaus.groovy.maven</groupId>
364                         <artifactId>gmaven-plugin</artifactId>
365                         <versionRange>1.0</versionRange>
366                         <goals>
367                           <goal>execute</goal>
368                         </goals>
369                       </pluginExecutionFilter>
370                       <action>
371                         <ignore/>
372                       </action>
373                     </pluginExecution>
374                     <pluginExecution>
375                       <pluginExecutionFilter>
376                         <groupId>org.apache.maven.plugins</groupId>
377                         <artifactId>maven-enforcer-plugin</artifactId>
378                         <versionRange>${enforcer.version}</versionRange>
379                         <goals>
380                           <goal>enforce</goal>
381                         </goals>
382                       </pluginExecutionFilter>
383                       <action>
384                         <ignore/>
385                       </action>
386                     </pluginExecution>
387                   </pluginExecutions>
388                 </lifecycleMappingMetadata>
389               </configuration>
390             </plugin>
391             <plugin>
392               <groupId>org.apache.maven.plugins</groupId>
393               <artifactId>maven-failsafe-plugin</artifactId>
394               <configuration>
395                 <!-- Specific to generate mapping between tests and covered code -->
396                 <argLine>${jacoco.agent.it.arg}</argLine>
397                 <properties>
398                   <property>
399                     <name>listener</name>
400                     <value>org.sonar.java.jacoco.JUnitListener</value>
401                   </property>
402                 </properties>
403                 <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
404                 <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
405               </configuration>
406             </plugin>
407             <plugin>
408               <groupId>org.apache.maven.plugins</groupId>
409               <artifactId>maven-surefire-plugin</artifactId>
410               <configuration>
411                 <!-- Specific to generate mapping between tests and covered code -->
412                 <argLine>${jacoco.agent.ut.arg}</argLine>
413                 <properties>
414                   <property>
415                     <name>listener</name>
416                     <value>org.sonar.java.jacoco.JUnitListener</value>
417                   </property>
418                 </properties>
419               </configuration>
420             </plugin>
421           </plugins>
422         </pluginManagement>
423     </build>
424
425     <profiles>
426       <profile>
427         <id>findbugsReport</id>
428         <reporting>
429           <plugins>
430             <plugin>
431               <groupId>org.apache.maven.plugins</groupId>
432               <artifactId>maven-project-info-reports-plugin</artifactId>
433               <version>2.7</version>
434               <configuration>
435                 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
436                 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
437               </configuration>
438               <reportSets>
439                 <reportSet>
440                   <reports>
441                     <report>index</report>
442                     <report>project-team</report>
443                     <report>license</report>
444                     <report>mailing-list</report>
445                     <report>plugin-management</report>
446                     <report>cim</report>
447                     <report>issue-tracking</report>
448                     <report>scm</report>
449                     <report>summary</report>
450                   </reports>
451                 </reportSet>
452               </reportSets>
453             </plugin>
454             <plugin>
455               <groupId>org.codehaus.mojo</groupId>
456               <artifactId>findbugs-maven-plugin</artifactId>
457               <version>2.5.2</version>
458             </plugin>
459             <plugin>
460               <groupId>org.apache.maven.plugins</groupId>
461               <artifactId>maven-pmd-plugin</artifactId>
462               <version>3.0.1</version>
463             </plugin>
464             <plugin>
465               <groupId>org.apache.maven.plugins</groupId>
466               <artifactId>maven-jxr-plugin</artifactId>
467               <version>2.3</version>
468             </plugin>
469           </plugins>
470         </reporting>
471       </profile>
472     </profiles>
473
474     <modules>
475       <module>artifacts</module>
476       <module>openflowplugin-api</module>
477       <module>openflowplugin</module>
478       <module>openflowplugin-impl</module>
479       <module>extension</module>
480       <module>distribution/karaf</module>
481       <module>openflowplugin-controller-config</module>
482       <module>openflowplugin-it</module>
483       <module>test-provider</module>
484       <module>drop-test</module>
485       <module>drop-test-karaf</module>
486       <module>test-common</module>
487       <module>features</module>
488       <module>samples/sample-consumer</module>
489       <module>samples/learning-switch</module>
490       <module>applications</module>
491       <module>model</module>
492       <module>legacy</module>
493   </modules>
494 </project>