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