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