Merge "Remove repositories/pluginRepositories/distributionManagement"
[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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2     <modelVersion>4.0.0</modelVersion>
3
4     <parent>
5         <groupId>org.opendaylight.controller</groupId>
6         <artifactId>commons.opendaylight</artifactId>
7         <version>1.4.2-SNAPSHOT</version>
8         <relativePath>../commons/opendaylight</relativePath>
9     </parent>
10
11     <artifactId>sal-parent</artifactId>
12     <version>1.1-SNAPSHOT</version>
13     <packaging>pom</packaging>
14     <scm>
15         <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
16         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
17         <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL</url>
18       <tag>HEAD</tag>
19   </scm>
20
21     <modules>
22         <!-- Common APIs & Implementation -->
23         <module>sal-common</module>
24         <module>sal-common-api</module>
25         <module>sal-common-impl</module>
26         <module>sal-common-util</module>
27
28         <!-- Binding Independent -->
29         <module>sal-dom-api</module>
30         <module>sal-dom-broker</module>
31         <module>sal-dom-spi</module>
32
33         <!-- Binding Aware -->
34         <module>sal-binding-api</module>
35         <module>sal-binding-config</module>
36         <module>sal-binding-broker</module>
37
38         <module>sal-binding-util</module>
39         <module>sal-binding-dom-it</module>
40
41         <!-- Samples -->
42         <module>samples</module>
43
44         <!-- Base Models -->
45         <module>model</module>
46         <module>sal-remote</module>
47         <module>sal-restconf-broker</module>
48
49
50         <!-- Connectors -->
51         <module>sal-connector-api</module>
52         <module>sal-rest-connector</module>
53         <module>sal-netconf-connector</module>
54
55         
56         <module>inventory-manager</module>
57         <module>statistics-manager</module>
58         <module>topology-manager</module>
59         <module>forwardingrules-manager</module>
60         <module>topology-lldp-discovery</module>
61
62         <!-- Compability Packages -->
63         <module>compatibility</module>
64
65         <!-- Clustering
66         <module>remoterpc-routingtable/implementation</module>
67         <module>sal-remoterpc-connector/implementation</module>
68         <module>clustered-data-store/implementation</module>
69          -->
70         
71     </modules>
72
73
74     <profiles>
75         <profile>
76             <id>integrationtests</id>
77             <activation>
78                 <activeByDefault>false</activeByDefault>
79             </activation>
80             <modules>
81                 <module>sal-binding-it</module>
82                 <!--module>clustered-data-store/integrationtest</module -->
83                 <!--module>zeromq-routingtable/integrationtest</module -->
84                 <!--module>sal-remoterpc-connector/integrationtest</module -->
85                 <!--module>test/sal-rest-connector-it</modulei -->
86             </modules>
87         </profile>
88         <profile>
89             <id>IDE</id>
90             <activation>
91                 <property>
92                     <name>m2e.version</name>
93                 </property>
94             </activation>
95             <build>
96                 <!-- Put the IDE's build output in a folder other than target,
97                     so that IDE builds don't interact with Maven builds -->
98                 <directory>target-ide</directory>
99             </build>
100         </profile>
101     </profiles>
102
103     <properties>
104         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
105
106         <!-- Plugin Versions -->
107         <bundle.plugin.version>2.4.0</bundle.plugin.version>
108         <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
109
110         <!-- Dependency Versions -->
111         <mockito.version>1.9.5</mockito.version>
112         <xtend.version>2.4.3</xtend.version>
113
114         <!-- Sonar properties using jacoco to retrieve integration test results -->
115         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
116         <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
117         <sonar.jacoco.Reportpath>target/jacoco.exec</sonar.jacoco.Reportpath>
118         <sonar.jacoco.itReportPath>target/jacoco-it.exec</sonar.jacoco.itReportPath>
119         <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
120         <sonar.branch>${user.name}-private-view</sonar.branch>
121         <sonar.language>java</sonar.language>
122         <exam.version>3.0.0</exam.version>
123         <sal.version>0.7.1-SNAPSHOT</sal.version>
124     </properties>
125
126     <dependencyManagement>
127         <dependencies>
128             <dependency>
129                 <groupId>xml-apis</groupId>
130                 <artifactId>xml-apis</artifactId>
131                 <version>1.4.01</version>
132             </dependency>
133
134             <!-- YANG Tools Dependencies -->
135             <dependency>
136                 <groupId>org.opendaylight.yangtools</groupId>
137                 <artifactId>yang-binding</artifactId>
138                 <version>${yangtools.version}</version>
139             </dependency>
140             <dependency>
141                 <groupId>org.opendaylight.yangtools</groupId>
142                 <artifactId>yang-model-util</artifactId>
143                 <version>${yangtools.version}</version>
144             </dependency>
145             <dependency>
146                 <groupId>org.opendaylight.yangtools</groupId>
147                 <artifactId>yang-common</artifactId>
148                 <version>${yangtools.version}</version>
149             </dependency>
150             <dependency>
151                 <groupId>org.opendaylight.yangtools</groupId>
152                 <artifactId>yang-data-api</artifactId>
153                 <version>${yangtools.version}</version>
154             </dependency>
155             <dependency>
156                 <groupId>org.opendaylight.yangtools</groupId>
157                 <artifactId>yang-data-impl</artifactId>
158                 <version>${yangtools.version}</version>
159             </dependency>
160             <dependency>
161                 <groupId>org.opendaylight.yangtools</groupId>
162                 <artifactId>yang-model-api</artifactId>
163                 <version>${yangtools.version}</version>
164             </dependency>
165             <dependency>
166                 <groupId>org.opendaylight.yangtools</groupId>
167                 <artifactId>yang-data-util</artifactId>
168                 <version>${yangtools.version}</version>
169             </dependency>
170             <!-- SAL Dependencies -->
171             <dependency>
172                 <groupId>${project.groupId}</groupId>
173                 <artifactId>sal-connector-api</artifactId>
174                 <version>${project.version}</version>
175             </dependency>
176             <dependency>
177                 <groupId>org.opendaylight.controller</groupId>
178                 <artifactId>sal</artifactId>
179                 <version>${sal.version}</version>
180                 <exclusions>
181                     <exclusion>
182                         <groupId>org.osgi</groupId>
183                         <artifactId>org.osgi.compendium</artifactId>
184                     </exclusion>
185                 </exclusions>
186             </dependency>
187
188             <!-- Supporting Libraries -->
189             <dependency>
190                 <groupId>org.slf4j</groupId>
191                 <artifactId>slf4j-api</artifactId>
192                 <version>${slf4j.version}</version>
193             </dependency>
194             <dependency>
195                 <groupId>com.google.guava</groupId>
196                 <artifactId>guava</artifactId>
197                 <version>${guava.version}</version>
198             </dependency>
199             <dependency>
200                 <groupId>org.eclipse.xtend</groupId>
201                 <artifactId>org.eclipse.xtend.lib</artifactId>
202                 <version>${xtend.version}</version>
203             </dependency>
204             <dependency>
205                 <groupId>org.osgi</groupId>
206                 <artifactId>org.osgi.core</artifactId>
207                 <version>${osgi.core.version}</version>
208             </dependency>
209             <!-- Testing Dependencies -->
210             <dependency>
211                 <groupId>junit</groupId>
212                 <artifactId>junit</artifactId>
213                 <version>${junit.version}</version>
214                 <scope>test</scope>
215             </dependency>
216             <dependency>
217                 <groupId>org.mockito</groupId>
218                 <artifactId>mockito-all</artifactId>
219                 <version>${mockito.version}</version>
220                 <scope>test</scope>
221             </dependency>
222             <dependency>
223                 <groupId>org.opendaylight.yangtools</groupId>
224                 <artifactId>binding-generator-impl</artifactId>
225                 <version>${yangtools.version}</version>
226             </dependency>
227             <dependency>
228                 <groupId>org.opendaylight.yangtools</groupId>
229                 <artifactId>yang-parser-impl</artifactId>
230                 <version>${yangtools.version}</version>
231             </dependency>
232         </dependencies>
233     </dependencyManagement>
234     <build>
235         <pluginManagement>
236             <plugins>
237                 <plugin>
238                     <groupId>org.apache.maven.plugins</groupId>
239                     <artifactId>maven-release-plugin</artifactId>
240                     <version>${releaseplugin.version}</version>
241                 </plugin>
242                 <plugin>
243                     <groupId>org.apache.felix</groupId>
244                     <artifactId>maven-bundle-plugin</artifactId>
245                     <version>${bundle.plugin.version}</version>
246                     <extensions>true</extensions>
247                     <!--executions> <execution> <id>bundle-manifest</id>
248                         <phase>process-classes</phase> <goals> <goal>manifest</goal> </goals> </execution>
249                         </executions -->
250                     <configuration>
251                         <instructions>
252                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
253                         </instructions>
254                         <manifestLocation>${project.basedir}/META-INF</manifestLocation>
255                     </configuration>
256                 </plugin>
257                 <plugin>
258                     <groupId>org.eclipse.xtend</groupId>
259                     <artifactId>xtend-maven-plugin</artifactId>
260                     <version>${xtend.version}</version>
261                     <executions>
262                         <execution>
263                             <goals>
264                                 <goal>compile</goal>
265                             </goals>
266                             <configuration>
267                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
268                             </configuration>
269                         </execution>
270                     </executions>
271                 </plugin>
272                 <plugin>
273                     <artifactId>maven-clean-plugin</artifactId>
274                     <version>${maven.clean.plugin.version}</version>
275                     <configuration>
276                         <filesets>
277                             <fileset>
278                                 <directory>${basedir}/src/main/xtend-gen</directory>
279                                 <includes>
280                                     <include>**</include>
281                                 </includes>
282                             </fileset>
283                         </filesets>
284                     </configuration>
285                 </plugin>
286                 <plugin>
287                     <groupId>org.jacoco</groupId>
288                     <artifactId>jacoco-maven-plugin</artifactId>
289                     <version>${jacoco.version}</version>
290                 </plugin>
291                 <!--This plugin's configuration is used to store Eclipse
292                     m2e settings only. It has no influence on the Maven build itself. -->
293                 <plugin>
294                     <groupId>org.eclipse.m2e</groupId>
295                     <artifactId>lifecycle-mapping</artifactId>
296                     <version>1.0.0</version>
297                     <configuration>
298                         <lifecycleMappingMetadata>
299                             <pluginExecutions>
300                                 <pluginExecution>
301                                     <pluginExecutionFilter>
302                                         <groupId>org.opendaylight.yangtools</groupId>
303                                         <artifactId>yang-maven-plugin</artifactId>
304                                         <versionRange>[0,)</versionRange>
305                                         <goals>
306                                             <goal>generate-sources</goal>
307                                         </goals>
308                                     </pluginExecutionFilter>
309                                     <action>
310                                         <ignore />
311                                     </action>
312                                 </pluginExecution>
313                                 <pluginExecution>
314                                     <pluginExecutionFilter>
315                                         <groupId>net.alchim31.maven</groupId>
316                                         <artifactId>scala-maven-plugin</artifactId>
317                                         <versionRange>[0,)</versionRange>
318                                         <goals>
319                                             <goal>compile</goal>
320                                             <goal>testCompile</goal>
321                                         </goals>
322                                     </pluginExecutionFilter>
323                                     <action>
324                                         <ignore />
325                                     </action>
326                                 </pluginExecution>
327                                 <pluginExecution>
328                                     <pluginExecutionFilter>
329                                         <groupId>org.jacoco</groupId>
330                                         <artifactId>jacoco-maven-plugin</artifactId>
331                                         <versionRange>[0,)</versionRange>
332                                         <goals>
333                                             <goal>prepare-agent</goal>
334                                         </goals>
335                                     </pluginExecutionFilter>
336                                     <action>
337                                         <ignore />
338                                     </action>
339                                 </pluginExecution>
340                             </pluginExecutions>
341                         </lifecycleMappingMetadata>
342                     </configuration>
343                 </plugin>
344             </plugins>
345
346         </pluginManagement>
347         <plugins>
348             <plugin>
349                 <groupId>org.apache.felix</groupId>
350                 <artifactId>maven-bundle-plugin</artifactId>
351             </plugin>
352             <plugin>
353                 <groupId>org.codehaus.mojo</groupId>
354                 <artifactId>build-helper-maven-plugin</artifactId>
355                 <version>1.8</version>
356                 <executions>
357                     <execution>
358                         <id>add-source</id>
359                         <phase>generate-sources</phase>
360                         <goals>
361                             <goal>add-source</goal>
362                         </goals>
363                         <configuration>
364                             <sources>
365                                 <source>${project.build.directory}/generated-sources/config</source>
366                                 <source>${project.build.directory}/generated-sources/sal</source>
367                                 <source>src/main/xtend-gen</source>
368                             </sources>
369                         </configuration>
370                     </execution>
371                 </executions>
372             </plugin>
373             <plugin>
374                 <groupId>org.apache.maven.plugins</groupId>
375                 <artifactId>maven-jar-plugin</artifactId>
376                 <version>2.4</version>
377             </plugin>
378             <plugin>
379                 <!-- FIXME: BUG-272: remove this configuration override -->
380                 <groupId>org.apache.maven.plugins</groupId>
381                 <artifactId>maven-checkstyle-plugin</artifactId>
382                 <version>${checkstyle.version}</version>
383                 <executions>
384                   <execution>
385                     <phase>none</phase>
386                   </execution>
387                 </executions>
388             </plugin>
389         </plugins>
390     </build>
391     <reporting>
392         <plugins>
393             <plugin>
394                 <groupId>org.codehaus.mojo</groupId>
395                 <artifactId>findbugs-maven-plugin</artifactId>
396                 <version>2.4.0</version>
397                 <configuration>
398                     <effort>Max</effort>
399                     <threshold>Low</threshold>
400                     <goal>site</goal>
401                 </configuration>
402             </plugin>
403             <plugin>
404                 <groupId>org.codehaus.mojo</groupId>
405                 <artifactId>jdepend-maven-plugin</artifactId>
406                 <version>2.0-beta-2</version>
407             </plugin>
408         </plugins>
409     </reporting>
410 </project>