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