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