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