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