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