399074e243486a0007237351de61b07a4779e52f
[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.7.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.1.0-SNAPSHOT</version>
24     <packaging>pom</packaging>
25
26     <properties>
27         <yangtools.version>1.0.0-SNAPSHOT</yangtools.version>
28         <salGeneratorPath>target/generated-sources/sal</salGeneratorPath>
29
30         <!-- FIXME: these will be upstreamed -->
31         <maven.depends.version>1.2</maven.depends.version>
32     </properties>
33
34     <dependencyManagement>
35         <dependencies>
36             <dependency>
37                  <groupId>org.opendaylight.odlparent</groupId>
38                  <artifactId>odlparent-artifacts</artifactId>
39                  <version>1.7.0-SNAPSHOT</version>
40                  <type>pom</type>
41                  <scope>import</scope>
42             </dependency>
43             <dependency>
44                  <groupId>org.opendaylight.mdsal</groupId>
45                  <artifactId>mdsal-artifacts</artifactId>
46                  <version>2.1.0-SNAPSHOT</version>
47                  <type>pom</type>
48                  <scope>import</scope>
49             </dependency>
50             <dependency>
51                  <groupId>org.opendaylight.yangtools</groupId>
52                  <artifactId>yangtools-artifacts</artifactId>
53                  <version>1.0.0-SNAPSHOT</version>
54                  <type>pom</type>
55                  <scope>import</scope>
56             </dependency>
57             <!-- Testing Dependencies -->
58             <dependency>
59                 <groupId>org.apache.maven.shared</groupId>
60                 <artifactId>maven-verifier</artifactId>
61                 <version>1.6</version>
62                 <scope>test</scope>
63             </dependency>
64             <dependency>
65                 <groupId>org.codehaus.groovy</groupId>
66                 <artifactId>groovy</artifactId>
67                 <version>2.4.5</version>
68                 <scope>test</scope>
69             </dependency>
70             <dependency>
71                 <groupId>org.codehaus.groovy</groupId>
72                 <artifactId>groovy-xml</artifactId>
73                 <version>2.4.5</version>
74                 <scope>test</scope>
75             </dependency>
76             <dependency>
77                 <groupId>org.apache.maven</groupId>
78                 <artifactId>maven-core</artifactId>
79                 <version>3.3.3</version>
80             </dependency>
81             <dependency>
82                 <groupId>org.apache.maven</groupId>
83                 <artifactId>maven-plugin-api</artifactId>
84                 <version>3.3.3</version>
85             </dependency>
86             <dependency>
87                 <groupId>org.eclipse.xtend</groupId>
88                 <artifactId>org.eclipse.xtend.lib</artifactId>
89                 <version>2.9.2</version>
90             </dependency>
91             <dependency>
92                 <groupId>org.eclipse.xtend</groupId>
93                 <artifactId>org.eclipse.xtend.lib.macro</artifactId>
94                 <version>2.9.2</version>
95             </dependency>
96             <dependency>
97                 <groupId>org.eclipse.xtext</groupId>
98                 <artifactId>org.eclipse.xtext.xbase.lib</artifactId>
99                 <version>2.9.2</version>
100             </dependency>
101
102             <dependency>
103                 <groupId>org.glassfish.jersey.ext</groupId>
104                 <artifactId>jersey-proxy-client</artifactId>
105                 <version>2.22</version>
106             </dependency>
107             <dependency>
108                 <groupId>org.glassfish.jersey.core</groupId>
109                 <artifactId>jersey-client</artifactId>
110                 <version>2.0</version>
111             </dependency>
112         </dependencies>
113     </dependencyManagement>
114
115     <dependencies>
116         <dependency>
117             <groupId>org.slf4j</groupId>
118             <artifactId>slf4j-simple</artifactId>
119             <scope>test</scope>
120         </dependency>
121     </dependencies>
122
123     <build>
124         <pluginManagement>
125             <plugins>
126                 <plugin>
127                     <groupId>org.apache.maven.plugins</groupId>
128                     <artifactId>maven-jar-plugin</artifactId>
129                     <version>${maven.jar.version}</version>
130                     <configuration>
131                         <archive>
132                             <!--
133                                  Bundle OSGi Manifest created by maven-bundle-plugin
134                                  into a jar file
135                                  -->
136                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
137                         </archive>
138                     </configuration>
139                 </plugin>
140                 <plugin>
141                     <groupId>org.apache.felix</groupId>
142                     <artifactId>maven-bundle-plugin</artifactId>
143                     <extensions>true</extensions>
144                     <executions>
145                         <execution>
146                             <id>bundle-manifest</id>
147                             <phase>process-classes</phase>
148                             <goals>
149                                 <goal>manifest</goal>
150                             </goals>
151                         </execution>
152                     </executions>
153                 </plugin>
154
155                 <plugin>
156                     <groupId>org.eclipse.m2e</groupId>
157                     <artifactId>lifecycle-mapping</artifactId>
158                     <version>1.0.0</version>
159                     <configuration>
160                         <lifecycleMappingMetadata>
161                             <pluginExecutions>
162                                 <pluginExecution>
163                                     <pluginExecutionFilter>
164                                         <groupId>org.apache.felix</groupId>
165                                         <artifactId>maven-bundle-plugin</artifactId>
166                                         <versionRange>[1.0,)</versionRange>
167                                         <goals>
168                                             <goal>manifest</goal>
169                                         </goals>
170                                     </pluginExecutionFilter>
171                                     <action>
172                                         <execute />
173                                     </action>
174                                 </pluginExecution>
175                                 <pluginExecution>
176                                     <pluginExecutionFilter>
177                                         <groupId>org.apache.maven.plugins</groupId>
178                                         <artifactId>maven-antrun-plugin</artifactId>
179                                         <versionRange>[1.0,)</versionRange>
180                                         <goals>
181                                             <goal>run</goal>
182                                         </goals>
183                                     </pluginExecutionFilter>
184                                     <action>
185                                         <execute/>
186                                     </action>
187                                 </pluginExecution>
188                                 <pluginExecution>
189                                     <pluginExecutionFilter>
190                                         <groupId>org.opendaylight.yangtools</groupId>
191                                         <artifactId>yang-maven-plugin</artifactId>
192                                         <versionRange>[0.5,)</versionRange>
193                                         <goals>
194                                             <goal>generate-sources</goal>
195                                         </goals>
196                                      </pluginExecutionFilter>
197                                      <action>
198                                          <execute/>
199                                      </action>
200                                  </pluginExecution>
201                                  <pluginExecution>
202                                     <pluginExecutionFilter>
203                                         <groupId>org.codehaus.mojo</groupId>
204                                         <artifactId>properties-maven-plugin</artifactId>
205                                         <versionRange>1.0-alpha-2</versionRange>
206                                         <goals>
207                                             <goal>write-project-properties</goal>
208                                         </goals>
209                                      </pluginExecutionFilter>
210                                      <action>
211                                          <ignore />
212                                      </action>
213                                  </pluginExecution>
214                                  <pluginExecution>
215                                     <pluginExecutionFilter>
216                                         <groupId>org.ops4j.pax.exam</groupId>
217                                         <artifactId>maven-paxexam-plugin</artifactId>
218                                         <versionRange>1.2.4</versionRange>
219                                         <goals>
220                                             <goal>generate-depends-file</goal>
221                                         </goals>
222                                      </pluginExecutionFilter>
223                                      <action>
224                                          <ignore />
225                                      </action>
226                                  </pluginExecution>
227                                  <pluginExecution>
228                                     <pluginExecutionFilter>
229                                         <groupId>org.jacoco</groupId>
230                                         <artifactId>jacoco-maven-plugin</artifactId>
231                                         <versionRange>[0.6,)</versionRange>
232                                         <goals>
233                                             <goal>prepare-agent</goal>
234                                         </goals>
235                                      </pluginExecutionFilter>
236                                      <action>
237                                          <ignore/>
238                                      </action>
239                                  </pluginExecution>
240                                  <pluginExecution>
241                                     <pluginExecutionFilter>
242                                         <groupId>org.apache.maven.plugins</groupId>
243                                         <artifactId>maven-checkstyle-plugin</artifactId>
244                                         <versionRange>[2.12,)</versionRange>
245                                         <goals>
246                                             <goal>check</goal>
247                                         </goals>
248                                      </pluginExecutionFilter>
249                                      <action>
250                                          <execute/>
251                                      </action>
252                                  </pluginExecution>
253                             </pluginExecutions>
254                         </lifecycleMappingMetadata>
255                     </configuration>
256                 </plugin>
257                 <plugin>
258                     <groupId>org.opendaylight.yangtools</groupId>
259                     <artifactId>yang-maven-plugin</artifactId>
260                     <version>0.9.0-SNAPSHOT</version>
261                     <executions>
262                         <execution>
263                             <goals>
264                                 <goal>generate-sources</goal>
265                             </goals>
266                             <configuration>
267                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
268                                 <codeGenerators>
269                                     <generator>
270                                         <codeGeneratorClass>
271                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
272                                         </codeGeneratorClass>
273                                         <outputBaseDir>
274                                             ${salGeneratorPath}
275                                         </outputBaseDir>
276                                     </generator>
277                                     <generator>
278                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
279                                         <outputBaseDir>target/site/models</outputBaseDir>
280                                     </generator>
281                                     <generator>
282                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
283                                         <outputBaseDir>target/site/models</outputBaseDir>
284                                     </generator>
285                                 </codeGenerators>
286                                 <inspectDependencies>true</inspectDependencies>
287                             </configuration>
288                         </execution>
289                     </executions>
290                     <dependencies>
291                         <dependency>
292                             <groupId>org.opendaylight.mdsal</groupId>
293                             <artifactId>maven-sal-api-gen-plugin</artifactId>
294                             <version>0.9.0-SNAPSHOT</version>
295                             <type>jar</type>
296                         </dependency>
297                     </dependencies>
298                 </plugin>
299                 <plugin>
300                     <groupId>org.ops4j.pax.exam</groupId>
301                     <artifactId>maven-paxexam-plugin</artifactId>
302                     <version>1.2.4</version>
303                     <executions>
304                         <execution>
305                             <id>generate-config</id>
306                             <goals>
307                                 <goal>generate-depends-file</goal>
308                             </goals>
309                         </execution>
310                     </executions>
311                 </plugin>
312                 <plugin>
313                     <groupId>org.apache.maven.plugins</groupId>
314                     <artifactId>maven-javadoc-plugin</artifactId>
315                     <version>${maven.javadoc.version}</version>
316                     <configuration>
317                         <stylesheetfile>stylesheet.css</stylesheetfile>
318                     </configuration>
319                     <executions>
320                         <execution>
321                             <id>attach-javadocs</id>
322                             <goals>
323                                 <goal>jar</goal>
324                             </goals>
325                         </execution>
326                         <execution>
327                             <goals>
328                                 <goal>aggregate</goal>
329                             </goals>
330                             <phase>site</phase>
331                         </execution>
332                     </executions>
333                 </plugin>
334                 <plugin>
335                     <groupId>org.codehaus.mojo</groupId>
336                     <artifactId>build-helper-maven-plugin</artifactId>
337                     <version>1.9.1</version>
338                     <executions>
339                         <execution>
340                             <phase>generate-sources</phase>
341                             <goals>
342                                 <goal>add-source</goal>
343                             </goals>
344                             <configuration>
345                                 <sources>
346                                     <source>target/generated-sources/parser</source>
347                                     <source>${salGeneratorPath}</source>
348                                     <source>${basedir}/src/main/xtend-gen</source>
349                                 </sources>
350                             </configuration>
351                         </execution>
352                     </executions>
353                 </plugin>
354                 <plugin>
355                     <groupId>org.eclipse.xtend</groupId>
356                     <artifactId>xtend-maven-plugin</artifactId>
357                     <version>2.9.2</version>
358                     <executions>
359                         <execution>
360                             <goals>
361                                 <goal>compile</goal>
362                             </goals>
363                             <configuration>
364                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
365                             </configuration>
366                         </execution>
367                     </executions>
368                 </plugin>
369                 <plugin>
370                     <groupId>org.apache.servicemix.tooling</groupId>
371                     <artifactId>depends-maven-plugin</artifactId>
372                     <version>${maven.depends.version}</version>
373                     <executions>
374                         <execution>
375                             <id>generate-depends-file</id>
376                             <goals>
377                                 <goal>generate-depends-file</goal>
378                             </goals>
379                         </execution>
380                     </executions>
381                 </plugin>
382             </plugins>
383         </pluginManagement>
384
385         <plugins>
386             <plugin>
387                 <groupId>org.apache.maven.plugins</groupId>
388                 <artifactId>maven-enforcer-plugin</artifactId>
389                 <!--
390                 <executions>
391                     <execution>
392                         <id>enforce-dependencies</id>
393                         <configuration>
394                             <rules>
395                                 <DependencyConvergence />
396                             </rules>
397                         </configuration>
398                         <goals>
399                             <goal>enforce</goal>
400                         </goals>
401                     </execution>
402                 </executions>
403                 -->
404             </plugin>
405
406             <plugin>
407                 <artifactId>maven-clean-plugin</artifactId>
408                 <configuration>
409                     <filesets>
410                         <fileset>
411                             <directory>${basedir}/src/main/xtend-gen</directory>
412                             <includes>
413                                 <include>**</include>
414                             </includes>
415                         </fileset>
416                     </filesets>
417                 </configuration>
418             </plugin>
419             <plugin>
420                 <groupId>org.apache.maven.plugins</groupId>
421                 <artifactId>maven-jar-plugin</artifactId>
422             </plugin>
423             <plugin>
424                 <groupId>org.apache.felix</groupId>
425                 <artifactId>maven-bundle-plugin</artifactId>
426             </plugin>
427             <plugin>
428                 <groupId>org.apache.maven.plugins</groupId>
429                 <artifactId>maven-javadoc-plugin</artifactId>
430             </plugin>
431             <plugin>
432               <groupId>org.codehaus.mojo</groupId>
433               <artifactId>build-helper-maven-plugin</artifactId>
434             </plugin>
435         </plugins>
436     </build>
437
438   <!--
439       Maven Site Configuration
440
441       The following configuration is necessary for maven-site-plugin to
442       correctly identify the correct deployment path for OpenDaylight Maven
443       sites.
444   -->
445   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
446
447   <distributionManagement>
448     <site>
449       <id>opendaylight-site</id>
450       <url>${nexus.site.url}/${project.artifactId}/</url>
451     </site>
452   </distributionManagement>
453
454 </project>