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