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