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