Merge "Make MD-SAL use opendaylight parent"
[controller.git] / opendaylight / md-sal / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2     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
5     <parent>
6         <groupId>org.opendaylight.controller</groupId>
7         <artifactId>commons.opendaylight</artifactId>
8         <version>1.4.1-SNAPSHOT</version>
9         <relativePath>../commons/opendaylight</relativePath>
10     </parent>
11
12     <groupId>org.opendaylight.controller</groupId>
13     <artifactId>sal-parent</artifactId>
14     <version>1.0-SNAPSHOT</version>
15     <packaging>pom</packaging>
16     <scm>
17         <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
18         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
19         <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
20     </scm>
21
22     <modules>
23         <!-- Common APIs & Implementation -->
24         <module>sal-common</module>
25         <module>sal-common-api</module>
26         <module>sal-common-impl</module>
27         <module>sal-common-util</module>
28
29         <!-- Binding Independent -->
30         <module>sal-dom-api</module>
31         <module>sal-dom-broker</module>
32         <module>sal-dom-spi</module>
33
34         <!-- Binding Aware -->
35         <module>sal-binding-api</module>
36         <module>sal-binding-config</module>
37         <module>sal-binding-broker</module>
38
39         <module>sal-binding-util</module>
40         <module>sal-binding-dom-it</module>
41
42         <!-- Samples -->
43         <module>samples</module>
44
45         <!-- Base Models -->
46         <module>model</module>
47         <module>sal-remote</module>
48         <module>sal-restconf-broker</module>
49
50
51         <!-- Connectors -->
52         <module>sal-connector-api</module>
53         <module>sal-rest-connector</module>
54         <module>sal-netconf-connector</module>
55
56         <module>remoterpc-routingtable/implementation</module>
57         <module>sal-remoterpc-connector/implementation</module>
58         <!-- Clustered Data Store -->
59         <module>clustered-data-store/implementation</module>
60
61         <module>inventory-manager</module>
62         <module>statistics-manager</module>
63         <module>topology-manager</module>
64         <module>forwardingrules-manager</module>
65         <module>topology-lldp-discovery</module>
66
67         <!-- Compability Packages -->
68         <module>compatibility</module>
69     </modules>
70
71
72     <profiles>
73         <profile>
74             <id>integrationtests</id>
75             <activation>
76                 <activeByDefault>false</activeByDefault>
77             </activation>
78             <modules>
79                 <module>sal-binding-it</module>
80                 <module>clustered-data-store/integrationtest</module>
81                 <!--module>zeromq-routingtable/integrationtest</module -->
82                 <!--module>sal-remoterpc-connector/integrationtest</module -->
83                 <!--module>test/sal-rest-connector-it</modulei -->
84             </modules>
85         </profile>
86         <profile>
87             <id>IDE</id>
88             <activation>
89                 <property>
90                     <name>m2e.version</name>
91                 </property>
92             </activation>
93             <build>
94                 <!-- Put the IDE's build output in a folder other than target, 
95                     so that IDE builds don't interact with Maven builds -->
96                 <directory>target-ide</directory>
97             </build>
98         </profile>
99     </profiles>
100
101     <properties>
102         <yangtools.version>0.6.0-SNAPSHOT</yangtools.version>
103         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
104         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
105         <!-- Java Versions -->
106         <maven.compiler.source>1.7</maven.compiler.source>
107         <maven.compiler.target>1.7</maven.compiler.target>
108
109         <!-- Plugin Versions -->
110         <bundle.plugin.version>2.4.0</bundle.plugin.version>
111         <releaseplugin.version>2.3.2</releaseplugin.version>
112
113         <!-- Dependency Versions -->
114         <slf4j.version>1.7.2</slf4j.version>
115         <yang.codegen.version>${yangtools.version}</yang.codegen.version>
116         <guava.version>14.0.1</guava.version>
117         <osgi.core.version>5.0.0</osgi.core.version>
118         <junit.version>4.8.1</junit.version>
119         <mockito.version>1.9.5</mockito.version>
120         <xtend.version>2.4.3</xtend.version>
121         <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
122         <jacoco.version>0.5.3.201107060350</jacoco.version>
123
124         <!-- Sonar properties using jacoco to retrieve integration test results -->
125         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
126         <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
127         <sonar.jacoco.Reportpath>target/jacoco.exec</sonar.jacoco.Reportpath>
128         <sonar.jacoco.itReportPath>target/jacoco-it.exec</sonar.jacoco.itReportPath>
129         <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
130         <sonar.branch>${user.name}-private-view</sonar.branch>
131         <sonar.language>java</sonar.language>
132         <exam.version>3.0.0</exam.version>
133         <sal.version>0.7.0-SNAPSHOT</sal.version>
134     </properties>
135
136     <pluginRepositories>
137         <!-- OpenDayLight Repo Mirror -->
138         <pluginRepository>
139             <id>opendaylight-mirror</id>
140             <name>opendaylight-mirror</name>
141             <url>${nexusproxy}/groups/public/</url>
142             <snapshots>
143                 <enabled>false</enabled>
144             </snapshots>
145             <releases>
146                 <enabled>true</enabled>
147                 <updatePolicy>never</updatePolicy>
148             </releases>
149         </pluginRepository>
150         <!-- OpenDayLight Snapshot artifact -->
151         <pluginRepository>
152             <id>opendaylight-snapshot</id>
153             <name>opendaylight-snapshot</name>
154             <url> ${nexusproxy}/repositories/opendaylight.snapshot/</url>
155             <snapshots>
156                 <enabled>true</enabled>
157             </snapshots>
158             <releases>
159                 <enabled>false</enabled>
160             </releases>
161         </pluginRepository>
162     </pluginRepositories>
163
164
165     <repositories>
166         <!-- OpenDayLight Repo Mirror -->
167         <repository>
168             <id>opendaylight-mirror</id>
169             <name>opendaylight-mirror</name>
170             <url>${nexusproxy}/groups/public/</url>
171             <snapshots>
172                 <enabled>false</enabled>
173             </snapshots>
174             <releases>
175                 <enabled>true</enabled>
176                 <updatePolicy>never</updatePolicy>
177             </releases>
178         </repository>
179         <!-- OpenDayLight Snapshot artifact -->
180         <repository>
181             <id>opendaylight-snapshot</id>
182             <name>opendaylight-snapshot</name>
183             <url> ${nexusproxy}/repositories/opendaylight.snapshot/</url>
184             <snapshots>
185                 <enabled>true</enabled>
186             </snapshots>
187             <releases>
188                 <enabled>false</enabled>
189             </releases>
190         </repository>
191     </repositories>
192
193     <distributionManagement>
194         <!-- OpenDayLight Released artifact -->
195         <repository>
196             <id>opendaylight-release</id>
197             <url>${nexusproxy}/repositories/opendaylight.release/</url>
198         </repository>
199         <!-- OpenDayLight Snapshot artifact -->
200         <snapshotRepository>
201             <id>opendaylight-snapshot</id>
202             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
203         </snapshotRepository>
204         <!-- Site deployment -->
205         <site>
206             <id>website</id>
207             <url>${sitedeploy}</url>
208         </site>
209     </distributionManagement>
210
211
212     <dependencyManagement>
213         <dependencies>
214             <dependency>
215                 <groupId>xml-apis</groupId>
216                 <artifactId>xml-apis</artifactId>
217                 <version>1.4.01</version>
218             </dependency>
219
220             <!-- YANG Tools Dependencies -->
221             <dependency>
222                 <groupId>org.opendaylight.yangtools</groupId>
223                 <artifactId>yang-binding</artifactId>
224                 <version>${yangtools.version}</version>
225             </dependency>
226             <dependency>
227                 <groupId>org.opendaylight.yangtools</groupId>
228                 <artifactId>yang-model-util</artifactId>
229                 <version>${yangtools.version}</version>
230             </dependency>
231             <dependency>
232                 <groupId>org.opendaylight.yangtools</groupId>
233                 <artifactId>yang-common</artifactId>
234                 <version>${yangtools.version}</version>
235             </dependency>
236             <dependency>
237                 <groupId>org.opendaylight.yangtools</groupId>
238                 <artifactId>yang-data-api</artifactId>
239                 <version>${yangtools.version}</version>
240             </dependency>
241             <dependency>
242                 <groupId>org.opendaylight.yangtools</groupId>
243                 <artifactId>yang-data-impl</artifactId>
244                 <version>${yangtools.version}</version>
245             </dependency>
246             <dependency>
247                 <groupId>org.opendaylight.yangtools</groupId>
248                 <artifactId>yang-model-api</artifactId>
249                 <version>${yangtools.version}</version>
250             </dependency>
251             <dependency>
252                 <groupId>org.opendaylight.yangtools</groupId>
253                 <artifactId>yang-data-util</artifactId>
254                 <version>${yangtools.version}</version>
255             </dependency>
256             <!-- SAL Dependencies -->
257             <dependency>
258                 <groupId>${project.groupId}</groupId>
259                 <artifactId>sal-connector-api</artifactId>
260                 <version>${project.version}</version>
261             </dependency>
262             <dependency>
263                 <groupId>org.opendaylight.controller</groupId>
264                 <artifactId>sal</artifactId>
265                 <version>${sal.version}</version>
266                 <exclusions>
267                     <exclusion>
268                         <groupId>org.osgi</groupId>
269                         <artifactId>org.osgi.compendium</artifactId>
270                     </exclusion>
271                 </exclusions>
272             </dependency>
273
274             <!-- Supporting Libraries -->
275             <dependency>
276                 <groupId>org.slf4j</groupId>
277                 <artifactId>slf4j-api</artifactId>
278                 <version>${slf4j.version}</version>
279             </dependency>
280             <dependency>
281                 <groupId>com.google.guava</groupId>
282                 <artifactId>guava</artifactId>
283                 <version>${guava.version}</version>
284             </dependency>
285             <dependency>
286                 <groupId>org.eclipse.xtend</groupId>
287                 <artifactId>org.eclipse.xtend.lib</artifactId>
288                 <version>${xtend.version}</version>
289             </dependency>
290             <dependency>
291                 <groupId>org.osgi</groupId>
292                 <artifactId>org.osgi.core</artifactId>
293                 <version>${osgi.core.version}</version>
294             </dependency>
295             <!-- Testing Dependencies -->
296             <dependency>
297                 <groupId>junit</groupId>
298                 <artifactId>junit</artifactId>
299                 <version>${junit.version}</version>
300                 <scope>test</scope>
301             </dependency>
302             <dependency>
303                 <groupId>org.mockito</groupId>
304                 <artifactId>mockito-all</artifactId>
305                 <version>${mockito.version}</version>
306                 <scope>test</scope>
307             </dependency>
308             <dependency>
309                 <groupId>org.opendaylight.yangtools</groupId>
310                 <artifactId>binding-generator-impl</artifactId>
311                 <version>${yangtools.version}</version>
312             </dependency>
313             <dependency>
314                 <groupId>org.opendaylight.yangtools</groupId>
315                 <artifactId>yang-parser-impl</artifactId>
316                 <version>${yangtools.version}</version>
317             </dependency>
318         </dependencies>
319     </dependencyManagement>
320     <build>
321         <pluginManagement>
322             <plugins>
323                 <plugin>
324                     <groupId>org.apache.maven.plugins</groupId>
325                     <artifactId>maven-release-plugin</artifactId>
326                     <version>${releaseplugin.version}</version>
327                 </plugin>
328                 <plugin>
329                     <groupId>org.apache.felix</groupId>
330                     <artifactId>maven-bundle-plugin</artifactId>
331                     <version>${bundle.plugin.version}</version>
332                     <extensions>true</extensions>
333                     <!--executions> <execution> <id>bundle-manifest</id> 
334                         <phase>process-classes</phase> <goals> <goal>manifest</goal> </goals> </execution> 
335                         </executions -->
336                     <configuration>
337                         <instructions>
338                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
339                         </instructions>
340                         <manifestLocation>${project.basedir}/META-INF</manifestLocation>
341                     </configuration>
342                 </plugin>
343                 <plugin>
344                     <groupId>org.eclipse.xtend</groupId>
345                     <artifactId>xtend-maven-plugin</artifactId>
346                     <version>${xtend.version}</version>
347                     <executions>
348                         <execution>
349                             <goals>
350                                 <goal>compile</goal>
351                             </goals>
352                             <configuration>
353                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
354                             </configuration>
355                         </execution>
356                     </executions>
357                 </plugin>
358                 <plugin>
359                     <artifactId>maven-clean-plugin</artifactId>
360                     <version>${maven.clean.plugin.version}</version>
361                     <configuration>
362                         <filesets>
363                             <fileset>
364                                 <directory>${basedir}/src/main/xtend-gen</directory>
365                                 <includes>
366                                     <include>**</include>
367                                 </includes>
368                             </fileset>
369                         </filesets>
370                     </configuration>
371                 </plugin>
372                 <plugin>
373                     <groupId>org.jacoco</groupId>
374                     <artifactId>jacoco-maven-plugin</artifactId>
375                     <version>${jacoco.version}</version>
376                 </plugin>
377                 <!--This plugin's configuration is used to store Eclipse 
378                     m2e settings only. It has no influence on the Maven build itself. -->
379                 <plugin>
380                     <groupId>org.eclipse.m2e</groupId>
381                     <artifactId>lifecycle-mapping</artifactId>
382                     <version>1.0.0</version>
383                     <configuration>
384                         <lifecycleMappingMetadata>
385                             <pluginExecutions>
386                                 <pluginExecution>
387                                     <pluginExecutionFilter>
388                                         <groupId>org.opendaylight.yangtools</groupId>
389                                         <artifactId>yang-maven-plugin</artifactId>
390                                         <versionRange>[0,)</versionRange>
391                                         <goals>
392                                             <goal>generate-sources</goal>
393                                         </goals>
394                                     </pluginExecutionFilter>
395                                     <action>
396                                         <ignore />
397                                     </action>
398                                 </pluginExecution>
399                                 <pluginExecution>
400                                     <pluginExecutionFilter>
401                                         <groupId>net.alchim31.maven</groupId>
402                                         <artifactId>scala-maven-plugin</artifactId>
403                                         <versionRange>[0,)</versionRange>
404                                         <goals>
405                                             <goal>compile</goal>
406                                             <goal>testCompile</goal>
407                                         </goals>
408                                     </pluginExecutionFilter>
409                                     <action>
410                                         <ignore />
411                                     </action>
412                                 </pluginExecution>
413                                 <pluginExecution>
414                                     <pluginExecutionFilter>
415                                         <groupId>org.jacoco</groupId>
416                                         <artifactId>jacoco-maven-plugin</artifactId>
417                                         <versionRange>[0,)</versionRange>
418                                         <goals>
419                                             <goal>prepare-agent</goal>
420                                         </goals>
421                                     </pluginExecutionFilter>
422                                     <action>
423                                         <ignore />
424                                     </action>
425                                 </pluginExecution>
426                             </pluginExecutions>
427                         </lifecycleMappingMetadata>
428                     </configuration>
429                 </plugin>
430             </plugins>
431
432         </pluginManagement>
433         <plugins>
434             <plugin>
435                 <groupId>org.apache.felix</groupId>
436                 <artifactId>maven-bundle-plugin</artifactId>
437             </plugin>
438             <plugin>
439                 <groupId>org.codehaus.mojo</groupId>
440                 <artifactId>build-helper-maven-plugin</artifactId>
441                 <version>1.8</version>
442                 <executions>
443                     <execution>
444                         <id>add-source</id>
445                         <phase>generate-sources</phase>
446                         <goals>
447                             <goal>add-source</goal>
448                         </goals>
449                         <configuration>
450                             <sources>
451                                 <source>${project.build.directory}/generated-sources/config</source>
452                                 <source>${project.build.directory}/generated-sources/sal</source>
453                                 <source>src/main/xtend-gen</source>
454                             </sources>
455                         </configuration>
456                     </execution>
457                 </executions>
458             </plugin>
459             <plugin>
460                 <groupId>org.apache.maven.plugins</groupId>
461                 <artifactId>maven-jar-plugin</artifactId>
462                 <version>2.4</version>
463             </plugin>
464             <plugin>
465                 <groupId>org.apache.maven.plugins</groupId>
466                 <artifactId>maven-javadoc-plugin</artifactId>
467                 <version>2.8.1</version>
468                 <configuration>
469                     <stylesheet>maven</stylesheet>
470                     <failOnError>false</failOnError>
471                 </configuration>
472                 <executions>
473                     <execution>
474                         <goals>
475                             <goal>aggregate</goal>
476                         </goals>
477                         <phase>site</phase>
478                     </execution>
479                 </executions>
480             </plugin>
481             <plugin>
482                 <!-- FIXME: BUG-272: remove this configuration override -->
483                 <groupId>org.apache.maven.plugins</groupId>
484                 <artifactId>maven-checkstyle-plugin</artifactId>
485                 <version>${checkstyle.version}</version>
486                 <executions>
487                   <execution>
488                     <phase>none</phase>
489                   </execution>
490                 </executions>
491             </plugin>
492         </plugins>
493     </build>
494     <reporting>
495         <plugins>
496             <plugin>
497                 <groupId>org.codehaus.mojo</groupId>
498                 <artifactId>findbugs-maven-plugin</artifactId>
499                 <version>2.4.0</version>
500                 <configuration>
501                     <effort>Max</effort>
502                     <threshold>Low</threshold>
503                     <goal>site</goal>
504                 </configuration>
505             </plugin>
506             <plugin>
507                 <groupId>org.codehaus.mojo</groupId>
508                 <artifactId>jdepend-maven-plugin</artifactId>
509                 <version>2.0-beta-2</version>
510             </plugin>
511         </plugins>
512     </reporting>
513 </project>