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