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