5cae8ae170516a46ad2cd55be1f86e142e726971
[mdsal.git] / common / parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12
13     <parent>
14         <groupId>org.opendaylight.odlparent</groupId>
15         <artifactId>odlparent</artifactId>
16         <version>1.6.0-SNAPSHOT</version>
17         <relativePath></relativePath>
18     </parent>
19
20     <modelVersion>4.0.0</modelVersion>
21     <artifactId>mdsal-parent</artifactId>
22     <groupId>org.opendaylight.mdsal</groupId>
23     <version>2.0.0-SNAPSHOT</version>
24     <packaging>pom</packaging>
25
26     <properties>
27         <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
28
29         <!-- FIXME: these will be upstreamed -->
30         <maven.depends.version>1.2</maven.depends.version>
31         <maven.javadoc.version>2.9.1</maven.javadoc.version>
32     </properties>
33
34     <dependencyManagement>
35         <dependencies>
36             <dependency>
37                  <groupId>org.opendaylight.mdsal</groupId>
38                  <artifactId>mdsal-artifacts</artifactId>
39                  <version>2.0.0-SNAPSHOT</version>
40                  <type>pom</type>
41                  <scope>import</scope>
42             </dependency>
43             <dependency>
44                  <groupId>org.opendaylight.yangtools</groupId>
45                  <artifactId>yangtools-artifacts</artifactId>
46                  <version>0.8.0-SNAPSHOT</version>
47                  <type>pom</type>
48                  <scope>import</scope>
49             </dependency>
50             <!-- Testing Dependencies -->
51             <dependency>
52                 <groupId>org.apache.maven.shared</groupId>
53                 <artifactId>maven-verifier</artifactId>
54                 <version>1.5</version>
55                 <scope>test</scope>
56             </dependency>
57             <dependency>
58                 <groupId>equinoxSDK381</groupId>
59                 <artifactId>org.eclipse.osgi</artifactId>
60                 <version>3.8.1.v20120830-144521</version>
61                 <scope>test</scope>
62             </dependency>
63             <dependency>
64                 <groupId>org.codehaus.groovy</groupId>
65                 <artifactId>groovy</artifactId>
66                 <version>2.1.6</version>
67                 <scope>test</scope>
68             </dependency>
69             <dependency>
70                 <groupId>org.codehaus.groovy</groupId>
71                 <artifactId>groovy-xml</artifactId>
72                 <version>2.1.6</version>
73                 <scope>test</scope>
74             </dependency>
75             <dependency>
76                 <groupId>xmlunit</groupId>
77                 <artifactId>xmlunit</artifactId>
78                 <version>1.5</version>
79                 <scope>test</scope>
80             </dependency>
81             <dependency>
82                 <groupId>org.apache.maven</groupId>
83                 <artifactId>maven-core</artifactId>
84                 <version>3.1.1</version>
85             </dependency>
86             <dependency>
87                 <groupId>org.apache.maven</groupId>
88                 <artifactId>maven-plugin-api</artifactId>
89                 <version>3.1.1</version>
90             </dependency>
91             <dependency>
92                 <groupId>org.javassist</groupId>
93                 <artifactId>javassist</artifactId>
94                 <version>${javassist.version}</version>
95             </dependency>
96             <dependency>
97                 <groupId>xml-apis</groupId>
98                 <artifactId>xml-apis</artifactId>
99                 <version>2.0.2</version>
100             </dependency>
101             <dependency>
102                 <groupId>org.eclipse.xtend</groupId>
103                 <artifactId>org.eclipse.xtend.lib</artifactId>
104                 <version>2.7.3</version>
105             </dependency>
106             <dependency>
107                 <groupId>org.osgi</groupId>
108                 <artifactId>org.osgi.core</artifactId>
109                 <version>5.0.0</version>
110                 <scope>provided</scope>
111             </dependency>
112             <dependency>
113                 <groupId>javax.ws.rs</groupId>
114                 <artifactId>javax.ws.rs-api</artifactId>
115                 <version>2.0</version>
116             </dependency>
117
118             <dependency>
119                 <groupId>org.glassfish.jersey.ext</groupId>
120                 <artifactId>jersey-proxy-client</artifactId>
121                 <version>2.0</version>
122             </dependency>
123             <dependency>
124                 <groupId>org.glassfish.jersey.core</groupId>
125                 <artifactId>jersey-client</artifactId>
126                 <version>2.0</version>
127             </dependency>
128             <dependency>
129               <groupId>com.lmax</groupId>
130               <artifactId>disruptor</artifactId>
131               <version>3.3.0</version>
132             </dependency>
133         </dependencies>
134     </dependencyManagement>
135
136     <dependencies>
137         <dependency>
138             <groupId>org.slf4j</groupId>
139             <artifactId>slf4j-simple</artifactId>
140             <scope>test</scope>
141         </dependency>
142     </dependencies>
143
144     <build>
145         <pluginManagement>
146             <plugins>
147                 <plugin>
148                     <groupId>org.apache.maven.plugins</groupId>
149                     <artifactId>maven-jar-plugin</artifactId>
150                     <version>${maven.jar.version}</version>
151                     <configuration>
152                         <archive>
153                             <!--
154                                  Bundle OSGi Manifest created by maven-bundle-plugin
155                                  into a jar file
156                                  -->
157                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
158                         </archive>
159                     </configuration>
160                 </plugin>
161                 <plugin>
162                     <groupId>org.apache.felix</groupId>
163                     <artifactId>maven-bundle-plugin</artifactId>
164                     <extensions>true</extensions>
165                     <executions>
166                         <execution>
167                             <id>bundle-manifest</id>
168                             <phase>process-classes</phase>
169                             <goals>
170                                 <goal>manifest</goal>
171                             </goals>
172                         </execution>
173                     </executions>
174                 </plugin>
175
176                 <plugin>
177                     <groupId>org.eclipse.m2e</groupId>
178                     <artifactId>lifecycle-mapping</artifactId>
179                     <version>1.0.0</version>
180                     <configuration>
181                         <lifecycleMappingMetadata>
182                             <pluginExecutions>
183                                 <pluginExecution>
184                                     <pluginExecutionFilter>
185                                         <groupId>org.apache.felix</groupId>
186                                         <artifactId>maven-bundle-plugin</artifactId>
187                                         <versionRange>[1.0,)</versionRange>
188                                         <goals>
189                                             <goal>manifest</goal>
190                                         </goals>
191                                     </pluginExecutionFilter>
192                                     <action>
193                                         <execute />
194                                     </action>
195                                 </pluginExecution>
196                                 <pluginExecution>
197                                     <pluginExecutionFilter>
198                                         <groupId>org.apache.maven.plugins</groupId>
199                                         <artifactId>maven-antrun-plugin</artifactId>
200                                         <versionRange>[1.0,)</versionRange>
201                                         <goals>
202                                             <goal>run</goal>
203                                         </goals>
204                                     </pluginExecutionFilter>
205                                     <action>
206                                         <execute/>
207                                     </action>
208                                 </pluginExecution>
209                                 <pluginExecution>
210                                     <pluginExecutionFilter>
211                                         <groupId>org.opendaylight.yangtools</groupId>
212                                         <artifactId>yang-maven-plugin</artifactId>
213                                         <versionRange>[0.5,)</versionRange>
214                                         <goals>
215                                             <goal>generate-sources</goal>
216                                         </goals>
217                                      </pluginExecutionFilter>
218                                      <action>
219                                          <execute/>
220                                      </action>
221                                  </pluginExecution>
222                                  <pluginExecution>
223                                     <pluginExecutionFilter>
224                                         <groupId>org.codehaus.mojo</groupId>
225                                         <artifactId>properties-maven-plugin</artifactId>
226                                         <versionRange>1.0-alpha-2</versionRange>
227                                         <goals>
228                                             <goal>write-project-properties</goal>
229                                         </goals>
230                                      </pluginExecutionFilter>
231                                      <action>
232                                          <ignore />
233                                      </action>
234                                  </pluginExecution>
235                                  <pluginExecution>
236                                     <pluginExecutionFilter>
237                                         <groupId>org.ops4j.pax.exam</groupId>
238                                         <artifactId>maven-paxexam-plugin</artifactId>
239                                         <versionRange>1.2.4</versionRange>
240                                         <goals>
241                                             <goal>generate-depends-file</goal>
242                                         </goals>
243                                      </pluginExecutionFilter>
244                                      <action>
245                                          <ignore />
246                                      </action>
247                                  </pluginExecution>
248                                  <pluginExecution>
249                                     <pluginExecutionFilter>
250                                         <groupId>org.jacoco</groupId>
251                                         <artifactId>jacoco-maven-plugin</artifactId>
252                                         <versionRange>[0.6,)</versionRange>
253                                         <goals>
254                                             <goal>prepare-agent</goal>
255                                         </goals>
256                                      </pluginExecutionFilter>
257                                      <action>
258                                          <ignore/>
259                                      </action>
260                                  </pluginExecution>
261                                  <pluginExecution>
262                                     <pluginExecutionFilter>
263                                         <groupId>org.apache.maven.plugins</groupId>
264                                         <artifactId>maven-checkstyle-plugin</artifactId>
265                                         <versionRange>[2.12,)</versionRange>
266                                         <goals>
267                                             <goal>check</goal>
268                                         </goals>
269                                      </pluginExecutionFilter>
270                                      <action>
271                                          <execute/>
272                                      </action>
273                                  </pluginExecution>
274                             </pluginExecutions>
275                         </lifecycleMappingMetadata>
276                     </configuration>
277                 </plugin>
278                 <plugin>
279                     <groupId>org.opendaylight.yangtools</groupId>
280                     <artifactId>yang-maven-plugin</artifactId>
281                     <version>0.8.0-SNAPSHOT</version>
282                     <executions>
283                         <execution>
284                             <goals>
285                                 <goal>generate-sources</goal>
286                             </goals>
287                             <configuration>
288                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
289                                 <codeGenerators>
290                                     <generator>
291                                         <codeGeneratorClass>
292                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
293                                         </codeGeneratorClass>
294                                         <outputBaseDir>
295                                             target/generated-sources/sal
296                                         </outputBaseDir>
297                                     </generator>
298                                     <generator>
299                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
300                                         <outputBaseDir>target/site/restconf</outputBaseDir>
301                                     </generator>
302                                     <generator>
303                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
304                                         <outputBaseDir>target/site/restconf</outputBaseDir>
305                                     </generator>
306                                 </codeGenerators>
307                                 <inspectDependencies>true</inspectDependencies>
308                             </configuration>
309                         </execution>
310                     </executions>
311                     <dependencies>
312                         <dependency>
313                             <groupId>org.opendaylight.mdsal</groupId>
314                             <artifactId>maven-sal-api-gen-plugin</artifactId>
315                             <version>0.8.0-SNAPSHOT</version>
316                             <type>jar</type>
317                         </dependency>
318                     </dependencies>
319                 </plugin>
320                 <plugin>
321                     <groupId>org.ops4j.pax.exam</groupId>
322                     <artifactId>maven-paxexam-plugin</artifactId>
323                     <version>1.2.4</version>
324                     <executions>
325                         <execution>
326                             <id>generate-config</id>
327                             <goals>
328                                 <goal>generate-depends-file</goal>
329                             </goals>
330                         </execution>
331                     </executions>
332                 </plugin>
333                 <plugin>
334                     <groupId>org.apache.maven.plugins</groupId>
335                     <artifactId>maven-javadoc-plugin</artifactId>
336                     <version>${maven.javadoc.version}</version>
337                     <configuration>
338                         <stylesheetfile>stylesheet.css</stylesheetfile>
339                     </configuration>
340                     <executions>
341                         <execution>
342                             <id>attach-javadocs</id>
343                             <goals>
344                                 <goal>jar</goal>
345                             </goals>
346                         </execution>
347                         <execution>
348                             <goals>
349                                 <goal>aggregate</goal>
350                             </goals>
351                             <phase>site</phase>
352                         </execution>
353                     </executions>
354                 </plugin>
355                 <plugin>
356                     <groupId>org.codehaus.mojo</groupId>
357                     <artifactId>build-helper-maven-plugin</artifactId>
358                     <version>1.8</version>
359                     <executions>
360                         <execution>
361                             <phase>generate-sources</phase>
362                             <goals>
363                                 <goal>add-source</goal>
364                             </goals>
365                             <configuration>
366                                 <sources>
367                                     <source>target/generated-sources/parser</source>
368                                     <source>target/generated-sources/sal</source>
369                                     <source>${basedir}/src/main/xtend-gen</source>
370                                 </sources>
371                             </configuration>
372                         </execution>
373                     </executions>
374                 </plugin>
375                 <plugin>
376                     <groupId>org.eclipse.xtend</groupId>
377                     <artifactId>xtend-maven-plugin</artifactId>
378                     <version>2.7.3</version>
379                     <executions>
380                         <execution>
381                             <goals>
382                                 <goal>compile</goal>
383                             </goals>
384                             <configuration>
385                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
386                             </configuration>
387                         </execution>
388                     </executions>
389                 </plugin>
390                 <plugin>
391                     <groupId>org.apache.servicemix.tooling</groupId>
392                     <artifactId>depends-maven-plugin</artifactId>
393                     <version>${maven.depends.version}</version>
394                     <executions>
395                         <execution>
396                             <id>generate-depends-file</id>
397                             <goals>
398                                 <goal>generate-depends-file</goal>
399                             </goals>
400                         </execution>
401                     </executions>
402                 </plugin>
403             </plugins>
404         </pluginManagement>
405
406         <plugins>
407             <plugin>
408                 <groupId>org.apache.maven.plugins</groupId>
409                 <artifactId>maven-enforcer-plugin</artifactId>
410                 <!--
411                 <executions>
412                     <execution>
413                         <id>enforce-dependencies</id>
414                         <configuration>
415                             <rules>
416                                 <DependencyConvergence />
417                             </rules>
418                         </configuration>
419                         <goals>
420                             <goal>enforce</goal>
421                         </goals>
422                     </execution>
423                 </executions>
424                 -->
425             </plugin>
426
427             <plugin>
428                 <artifactId>maven-clean-plugin</artifactId>
429                 <configuration>
430                     <filesets>
431                         <fileset>
432                             <directory>${basedir}/src/main/xtend-gen</directory>
433                             <includes>
434                                 <include>**</include>
435                             </includes>
436                         </fileset>
437                     </filesets>
438                 </configuration>
439             </plugin>
440             <plugin>
441                 <groupId>org.apache.maven.plugins</groupId>
442                 <artifactId>maven-jar-plugin</artifactId>
443             </plugin>
444             <plugin>
445                 <groupId>org.apache.felix</groupId>
446                 <artifactId>maven-bundle-plugin</artifactId>
447             </plugin>
448             <plugin>
449                 <groupId>org.apache.maven.plugins</groupId>
450                 <artifactId>maven-source-plugin</artifactId>
451                 <executions>
452                     <execution>
453                         <id>attach-sources</id>
454                         <goals>
455                             <goal>jar</goal>
456                         </goals>
457                     </execution>
458                 </executions>
459             </plugin>
460             <plugin>
461                 <groupId>org.apache.maven.plugins</groupId>
462                 <artifactId>maven-javadoc-plugin</artifactId>
463             </plugin>
464         </plugins>
465     </build>
466
467     <reporting>
468         <plugins>
469             <plugin>
470                 <groupId>org.codehaus.mojo</groupId>
471                 <artifactId>findbugs-maven-plugin</artifactId>
472                 <version>${findbugs.maven.plugin.version}</version>
473                 <configuration>
474                     <effort>Max</effort>
475                     <threshold>Low</threshold>
476                     <goal>site</goal>
477                 </configuration>
478             </plugin>
479             <plugin>
480                 <groupId>org.codehaus.mojo</groupId>
481                 <artifactId>jdepend-maven-plugin</artifactId>
482                 <version>${jdepend.maven.plugin.version}</version>
483             </plugin>
484         </plugins>
485     </reporting>
486 </project>