643ab61ab6343ab35914822e8986033a5ab12bac
[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.8.4</version>
105             </dependency>
106             <dependency>
107                 <groupId>org.eclipse.xtend</groupId>
108                 <artifactId>org.eclipse.xtend.lib.macro</artifactId>
109                 <version>2.8.4</version>
110             </dependency>
111             <dependency>
112                 <groupId>org.eclipse.xtext</groupId>
113                 <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
114                 <version>2.8.4</version>
115             </dependency>
116             <dependency>
117                 <groupId>org.osgi</groupId>
118                 <artifactId>org.osgi.core</artifactId>
119                 <version>5.0.0</version>
120                 <scope>provided</scope>
121             </dependency>
122             <dependency>
123                 <groupId>javax.ws.rs</groupId>
124                 <artifactId>javax.ws.rs-api</artifactId>
125                 <version>2.0</version>
126             </dependency>
127
128             <dependency>
129                 <groupId>org.glassfish.jersey.ext</groupId>
130                 <artifactId>jersey-proxy-client</artifactId>
131                 <version>2.0</version>
132             </dependency>
133             <dependency>
134                 <groupId>org.glassfish.jersey.core</groupId>
135                 <artifactId>jersey-client</artifactId>
136                 <version>2.0</version>
137             </dependency>
138             <dependency>
139               <groupId>com.lmax</groupId>
140               <artifactId>disruptor</artifactId>
141               <version>3.3.0</version>
142             </dependency>
143         </dependencies>
144     </dependencyManagement>
145
146     <dependencies>
147         <dependency>
148             <groupId>org.slf4j</groupId>
149             <artifactId>slf4j-simple</artifactId>
150             <scope>test</scope>
151         </dependency>
152     </dependencies>
153
154     <build>
155         <pluginManagement>
156             <plugins>
157                 <plugin>
158                     <groupId>org.apache.maven.plugins</groupId>
159                     <artifactId>maven-jar-plugin</artifactId>
160                     <version>${maven.jar.version}</version>
161                     <configuration>
162                         <archive>
163                             <!--
164                                  Bundle OSGi Manifest created by maven-bundle-plugin
165                                  into a jar file
166                                  -->
167                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
168                         </archive>
169                     </configuration>
170                 </plugin>
171                 <plugin>
172                     <groupId>org.apache.felix</groupId>
173                     <artifactId>maven-bundle-plugin</artifactId>
174                     <extensions>true</extensions>
175                     <executions>
176                         <execution>
177                             <id>bundle-manifest</id>
178                             <phase>process-classes</phase>
179                             <goals>
180                                 <goal>manifest</goal>
181                             </goals>
182                         </execution>
183                     </executions>
184                 </plugin>
185
186                 <plugin>
187                     <groupId>org.eclipse.m2e</groupId>
188                     <artifactId>lifecycle-mapping</artifactId>
189                     <version>1.0.0</version>
190                     <configuration>
191                         <lifecycleMappingMetadata>
192                             <pluginExecutions>
193                                 <pluginExecution>
194                                     <pluginExecutionFilter>
195                                         <groupId>org.apache.felix</groupId>
196                                         <artifactId>maven-bundle-plugin</artifactId>
197                                         <versionRange>[1.0,)</versionRange>
198                                         <goals>
199                                             <goal>manifest</goal>
200                                         </goals>
201                                     </pluginExecutionFilter>
202                                     <action>
203                                         <execute />
204                                     </action>
205                                 </pluginExecution>
206                                 <pluginExecution>
207                                     <pluginExecutionFilter>
208                                         <groupId>org.apache.maven.plugins</groupId>
209                                         <artifactId>maven-antrun-plugin</artifactId>
210                                         <versionRange>[1.0,)</versionRange>
211                                         <goals>
212                                             <goal>run</goal>
213                                         </goals>
214                                     </pluginExecutionFilter>
215                                     <action>
216                                         <execute/>
217                                     </action>
218                                 </pluginExecution>
219                                 <pluginExecution>
220                                     <pluginExecutionFilter>
221                                         <groupId>org.opendaylight.yangtools</groupId>
222                                         <artifactId>yang-maven-plugin</artifactId>
223                                         <versionRange>[0.5,)</versionRange>
224                                         <goals>
225                                             <goal>generate-sources</goal>
226                                         </goals>
227                                      </pluginExecutionFilter>
228                                      <action>
229                                          <execute/>
230                                      </action>
231                                  </pluginExecution>
232                                  <pluginExecution>
233                                     <pluginExecutionFilter>
234                                         <groupId>org.codehaus.mojo</groupId>
235                                         <artifactId>properties-maven-plugin</artifactId>
236                                         <versionRange>1.0-alpha-2</versionRange>
237                                         <goals>
238                                             <goal>write-project-properties</goal>
239                                         </goals>
240                                      </pluginExecutionFilter>
241                                      <action>
242                                          <ignore />
243                                      </action>
244                                  </pluginExecution>
245                                  <pluginExecution>
246                                     <pluginExecutionFilter>
247                                         <groupId>org.ops4j.pax.exam</groupId>
248                                         <artifactId>maven-paxexam-plugin</artifactId>
249                                         <versionRange>1.2.4</versionRange>
250                                         <goals>
251                                             <goal>generate-depends-file</goal>
252                                         </goals>
253                                      </pluginExecutionFilter>
254                                      <action>
255                                          <ignore />
256                                      </action>
257                                  </pluginExecution>
258                                  <pluginExecution>
259                                     <pluginExecutionFilter>
260                                         <groupId>org.jacoco</groupId>
261                                         <artifactId>jacoco-maven-plugin</artifactId>
262                                         <versionRange>[0.6,)</versionRange>
263                                         <goals>
264                                             <goal>prepare-agent</goal>
265                                         </goals>
266                                      </pluginExecutionFilter>
267                                      <action>
268                                          <ignore/>
269                                      </action>
270                                  </pluginExecution>
271                                  <pluginExecution>
272                                     <pluginExecutionFilter>
273                                         <groupId>org.apache.maven.plugins</groupId>
274                                         <artifactId>maven-checkstyle-plugin</artifactId>
275                                         <versionRange>[2.12,)</versionRange>
276                                         <goals>
277                                             <goal>check</goal>
278                                         </goals>
279                                      </pluginExecutionFilter>
280                                      <action>
281                                          <execute/>
282                                      </action>
283                                  </pluginExecution>
284                             </pluginExecutions>
285                         </lifecycleMappingMetadata>
286                     </configuration>
287                 </plugin>
288                 <plugin>
289                     <groupId>org.opendaylight.yangtools</groupId>
290                     <artifactId>yang-maven-plugin</artifactId>
291                     <version>0.8.0-SNAPSHOT</version>
292                     <executions>
293                         <execution>
294                             <goals>
295                                 <goal>generate-sources</goal>
296                             </goals>
297                             <configuration>
298                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
299                                 <codeGenerators>
300                                     <generator>
301                                         <codeGeneratorClass>
302                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
303                                         </codeGeneratorClass>
304                                         <outputBaseDir>
305                                             target/generated-sources/sal
306                                         </outputBaseDir>
307                                     </generator>
308                                     <generator>
309                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
310                                         <outputBaseDir>target/site/restconf</outputBaseDir>
311                                     </generator>
312                                     <generator>
313                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
314                                         <outputBaseDir>target/site/restconf</outputBaseDir>
315                                     </generator>
316                                 </codeGenerators>
317                                 <inspectDependencies>true</inspectDependencies>
318                             </configuration>
319                         </execution>
320                     </executions>
321                     <dependencies>
322                         <dependency>
323                             <groupId>org.opendaylight.mdsal</groupId>
324                             <artifactId>maven-sal-api-gen-plugin</artifactId>
325                             <version>0.8.0-SNAPSHOT</version>
326                             <type>jar</type>
327                         </dependency>
328                     </dependencies>
329                 </plugin>
330                 <plugin>
331                     <groupId>org.ops4j.pax.exam</groupId>
332                     <artifactId>maven-paxexam-plugin</artifactId>
333                     <version>1.2.4</version>
334                     <executions>
335                         <execution>
336                             <id>generate-config</id>
337                             <goals>
338                                 <goal>generate-depends-file</goal>
339                             </goals>
340                         </execution>
341                     </executions>
342                 </plugin>
343                 <plugin>
344                     <groupId>org.apache.maven.plugins</groupId>
345                     <artifactId>maven-javadoc-plugin</artifactId>
346                     <version>${maven.javadoc.version}</version>
347                     <configuration>
348                         <stylesheetfile>stylesheet.css</stylesheetfile>
349                     </configuration>
350                     <executions>
351                         <execution>
352                             <id>attach-javadocs</id>
353                             <goals>
354                                 <goal>jar</goal>
355                             </goals>
356                         </execution>
357                         <execution>
358                             <goals>
359                                 <goal>aggregate</goal>
360                             </goals>
361                             <phase>site</phase>
362                         </execution>
363                     </executions>
364                 </plugin>
365                 <plugin>
366                     <groupId>org.codehaus.mojo</groupId>
367                     <artifactId>build-helper-maven-plugin</artifactId>
368                     <version>1.8</version>
369                     <executions>
370                         <execution>
371                             <phase>generate-sources</phase>
372                             <goals>
373                                 <goal>add-source</goal>
374                             </goals>
375                             <configuration>
376                                 <sources>
377                                     <source>target/generated-sources/parser</source>
378                                     <source>target/generated-sources/sal</source>
379                                     <source>${basedir}/src/main/xtend-gen</source>
380                                 </sources>
381                             </configuration>
382                         </execution>
383                     </executions>
384                 </plugin>
385                 <plugin>
386                     <groupId>org.eclipse.xtend</groupId>
387                     <artifactId>xtend-maven-plugin</artifactId>
388                     <version>2.8.4</version>
389                     <executions>
390                         <execution>
391                             <goals>
392                                 <goal>compile</goal>
393                             </goals>
394                             <configuration>
395                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
396                             </configuration>
397                         </execution>
398                     </executions>
399                 </plugin>
400                 <plugin>
401                     <groupId>org.apache.servicemix.tooling</groupId>
402                     <artifactId>depends-maven-plugin</artifactId>
403                     <version>${maven.depends.version}</version>
404                     <executions>
405                         <execution>
406                             <id>generate-depends-file</id>
407                             <goals>
408                                 <goal>generate-depends-file</goal>
409                             </goals>
410                         </execution>
411                     </executions>
412                 </plugin>
413             </plugins>
414         </pluginManagement>
415
416         <plugins>
417             <plugin>
418                 <groupId>org.apache.maven.plugins</groupId>
419                 <artifactId>maven-enforcer-plugin</artifactId>
420                 <!--
421                 <executions>
422                     <execution>
423                         <id>enforce-dependencies</id>
424                         <configuration>
425                             <rules>
426                                 <DependencyConvergence />
427                             </rules>
428                         </configuration>
429                         <goals>
430                             <goal>enforce</goal>
431                         </goals>
432                     </execution>
433                 </executions>
434                 -->
435             </plugin>
436
437             <plugin>
438                 <artifactId>maven-clean-plugin</artifactId>
439                 <configuration>
440                     <filesets>
441                         <fileset>
442                             <directory>${basedir}/src/main/xtend-gen</directory>
443                             <includes>
444                                 <include>**</include>
445                             </includes>
446                         </fileset>
447                     </filesets>
448                 </configuration>
449             </plugin>
450             <plugin>
451                 <groupId>org.apache.maven.plugins</groupId>
452                 <artifactId>maven-jar-plugin</artifactId>
453             </plugin>
454             <plugin>
455                 <groupId>org.apache.felix</groupId>
456                 <artifactId>maven-bundle-plugin</artifactId>
457             </plugin>
458             <plugin>
459                 <groupId>org.apache.maven.plugins</groupId>
460                 <artifactId>maven-javadoc-plugin</artifactId>
461             </plugin>
462         </plugins>
463     </build>
464
465     <reporting>
466         <plugins>
467             <plugin>
468                 <groupId>org.codehaus.mojo</groupId>
469                 <artifactId>findbugs-maven-plugin</artifactId>
470                 <version>${findbugs.maven.plugin.version}</version>
471                 <configuration>
472                     <effort>Max</effort>
473                     <threshold>Low</threshold>
474                     <goal>site</goal>
475                 </configuration>
476             </plugin>
477             <plugin>
478                 <groupId>org.codehaus.mojo</groupId>
479                 <artifactId>jdepend-maven-plugin</artifactId>
480                 <version>${jdepend.maven.plugin.version}</version>
481             </plugin>
482         </plugins>
483     </reporting>
484 </project>