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