Cleaned up Java Binding code from YANG Tools
[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         <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
33         <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
34         <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
35         <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
36     </properties>
37
38     <dependencyManagement>
39         <dependencies>
40             <dependency>
41                  <groupId>org.opendaylight.mdsal</groupId>
42                  <artifactId>mdsal-artifacts</artifactId>
43                  <version>2.0.0-SNAPSHOT</version>
44                  <type>pom</type>
45                  <scope>import</scope>
46             </dependency>
47             <dependency>
48                  <groupId>org.opendaylight.yangtools</groupId>
49                  <artifactId>yangtools-artifacts</artifactId>
50                  <version>0.8.0-SNAPSHOT</version>
51                  <type>pom</type>
52                  <scope>import</scope>
53             </dependency>
54             <!-- Testing Dependencies -->
55             <dependency>
56                 <groupId>org.apache.maven.shared</groupId>
57                 <artifactId>maven-verifier</artifactId>
58                 <version>1.5</version>
59                 <scope>test</scope>
60             </dependency>
61             <dependency>
62                 <groupId>equinoxSDK381</groupId>
63                 <artifactId>org.eclipse.osgi</artifactId>
64                 <version>3.8.1.v20120830-144521</version>
65                 <scope>test</scope>
66             </dependency>
67             <dependency>
68                 <groupId>org.codehaus.groovy</groupId>
69                 <artifactId>groovy</artifactId>
70                 <version>2.1.6</version>
71                 <scope>test</scope>
72             </dependency>
73             <dependency>
74                 <groupId>org.codehaus.groovy</groupId>
75                 <artifactId>groovy-xml</artifactId>
76                 <version>2.1.6</version>
77                 <scope>test</scope>
78             </dependency>
79             <dependency>
80                 <groupId>xmlunit</groupId>
81                 <artifactId>xmlunit</artifactId>
82                 <version>1.5</version>
83                 <scope>test</scope>
84             </dependency>
85             <dependency>
86                 <groupId>org.apache.maven</groupId>
87                 <artifactId>maven-core</artifactId>
88                 <version>3.1.1</version>
89             </dependency>
90             <dependency>
91                 <groupId>org.apache.maven</groupId>
92                 <artifactId>maven-plugin-api</artifactId>
93                 <version>3.1.1</version>
94             </dependency>
95             <dependency>
96                 <groupId>org.javassist</groupId>
97                 <artifactId>javassist</artifactId>
98                 <version>${javassist.version}</version>
99             </dependency>
100             <dependency>
101                 <groupId>xml-apis</groupId>
102                 <artifactId>xml-apis</artifactId>
103                 <version>2.0.2</version>
104             </dependency>
105             <dependency>
106                 <groupId>org.eclipse.xtend</groupId>
107                 <artifactId>org.eclipse.xtend.lib</artifactId>
108                 <version>2.7.3</version>
109             </dependency>
110             <dependency>
111                 <groupId>org.osgi</groupId>
112                 <artifactId>org.osgi.core</artifactId>
113                 <version>5.0.0</version>
114                 <scope>provided</scope>
115             </dependency>
116             <dependency>
117                 <groupId>javax.ws.rs</groupId>
118                 <artifactId>javax.ws.rs-api</artifactId>
119                 <version>2.0</version>
120             </dependency>
121
122             <dependency>
123                 <groupId>org.glassfish.jersey.ext</groupId>
124                 <artifactId>jersey-proxy-client</artifactId>
125                 <version>2.0</version>
126             </dependency>
127             <dependency>
128                 <groupId>org.glassfish.jersey.core</groupId>
129                 <artifactId>jersey-client</artifactId>
130                 <version>2.0</version>
131             </dependency>
132
133             <dependency>
134                 <groupId>org.opendaylight.yangtools</groupId>
135                 <artifactId>yangtools-artifacts</artifactId>
136                 <version>${yangtools.version}</version>
137                 <scope>import</scope>
138                 <type>pom</type>
139             </dependency>
140         </dependencies>
141     </dependencyManagement>
142
143     <dependencies>
144         <!-- Sonar -->
145         <dependency>
146             <groupId>org.codehaus.sonar-plugins.java</groupId>
147             <artifactId>sonar-jacoco-listeners</artifactId>
148             <version>${sonar-jacoco-listeners.version}</version>
149             <scope>test</scope>
150         </dependency>
151         <dependency>
152             <groupId>org.slf4j</groupId>
153             <artifactId>slf4j-simple</artifactId>
154             <scope>test</scope>
155         </dependency>
156     </dependencies>
157
158     <build>
159         <pluginManagement>
160             <plugins>
161                 <plugin>
162                     <groupId>org.apache.maven.plugins</groupId>
163                     <artifactId>maven-jar-plugin</artifactId>
164                     <version>${maven.jar.version}</version>
165                     <configuration>
166                         <archive>
167                             <!--
168                                  Bundle OSGi Manifest created by maven-bundle-plugin
169                                  into a jar file
170                                  -->
171                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
172                         </archive>
173                     </configuration>
174                 </plugin>
175                 <plugin>
176                     <groupId>org.apache.felix</groupId>
177                     <artifactId>maven-bundle-plugin</artifactId>
178                     <extensions>true</extensions>
179                     <executions>
180                         <execution>
181                             <id>bundle-manifest</id>
182                             <phase>process-classes</phase>
183                             <goals>
184                                 <goal>manifest</goal>
185                             </goals>
186                         </execution>
187                     </executions>
188                 </plugin>
189                 <plugin>
190                     <groupId>org.apache.maven.plugins</groupId>
191                     <artifactId>maven-failsafe-plugin</artifactId>
192                     <configuration>
193                         <!-- Specific to generate mapping between tests and covered code -->
194                         <argLine>${jacoco.agent.it.arg}</argLine>
195                         <properties>
196                             <property>
197                                 <name>listener</name>
198                                 <value>org.sonar.java.jacoco.JUnitListener</value>
199                             </property>
200                         </properties>
201                         <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
202                         <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
203                     </configuration>
204                 </plugin>
205                 <plugin>
206                     <groupId>org.apache.maven.plugins</groupId>
207                     <artifactId>maven-surefire-plugin</artifactId>
208                     <version>${maven.surefire.version}</version>
209                     <configuration>
210                         <!-- Specific to generate mapping between tests and covered code -->
211                         <argLine>${jacoco.agent.ut.arg}</argLine>
212                         <properties>
213                             <property>
214                                 <name>listener</name>
215                                 <value>org.sonar.java.jacoco.JUnitListener</value>
216                             </property>
217                         </properties>
218                     </configuration>
219                 </plugin>
220
221                 <plugin>
222                     <groupId>org.eclipse.m2e</groupId>
223                     <artifactId>lifecycle-mapping</artifactId>
224                     <version>1.0.0</version>
225                     <configuration>
226                         <lifecycleMappingMetadata>
227                             <pluginExecutions>
228                                 <pluginExecution>
229                                     <pluginExecutionFilter>
230                                         <groupId>org.apache.felix</groupId>
231                                         <artifactId>maven-bundle-plugin</artifactId>
232                                         <versionRange>[1.0,)</versionRange>
233                                         <goals>
234                                             <goal>manifest</goal>
235                                         </goals>
236                                     </pluginExecutionFilter>
237                                     <action>
238                                         <execute />
239                                     </action>
240                                 </pluginExecution>
241                                 <pluginExecution>
242                                     <pluginExecutionFilter>
243                                         <groupId>org.apache.maven.plugins</groupId>
244                                         <artifactId>maven-antrun-plugin</artifactId>
245                                         <versionRange>[1.0,)</versionRange>
246                                         <goals>
247                                             <goal>run</goal>
248                                         </goals>
249                                     </pluginExecutionFilter>
250                                     <action>
251                                         <execute/>
252                                     </action>
253                                 </pluginExecution>
254                                 <pluginExecution>
255                                     <pluginExecutionFilter>
256                                         <groupId>org.opendaylight.yangtools</groupId>
257                                         <artifactId>yang-maven-plugin</artifactId>
258                                         <versionRange>[0.5,)</versionRange>
259                                         <goals>
260                                             <goal>generate-sources</goal>
261                                         </goals>
262                                      </pluginExecutionFilter>
263                                      <action>
264                                          <execute/>
265                                      </action>
266                                  </pluginExecution>
267                                  <pluginExecution>
268                                     <pluginExecutionFilter>
269                                         <groupId>org.codehaus.mojo</groupId>
270                                         <artifactId>properties-maven-plugin</artifactId>
271                                         <versionRange>1.0-alpha-2</versionRange>
272                                         <goals>
273                                             <goal>write-project-properties</goal>
274                                         </goals>
275                                      </pluginExecutionFilter>
276                                      <action>
277                                          <ignore />
278                                      </action>
279                                  </pluginExecution>
280                                  <pluginExecution>
281                                     <pluginExecutionFilter>
282                                         <groupId>org.ops4j.pax.exam</groupId>
283                                         <artifactId>maven-paxexam-plugin</artifactId>
284                                         <versionRange>1.2.4</versionRange>
285                                         <goals>
286                                             <goal>generate-depends-file</goal>
287                                         </goals>
288                                      </pluginExecutionFilter>
289                                      <action>
290                                          <ignore />
291                                      </action>
292                                  </pluginExecution>
293                                  <pluginExecution>
294                                     <pluginExecutionFilter>
295                                         <groupId>org.jacoco</groupId>
296                                         <artifactId>jacoco-maven-plugin</artifactId>
297                                         <versionRange>[0.6,)</versionRange>
298                                         <goals>
299                                             <goal>prepare-agent</goal>
300                                         </goals>
301                                      </pluginExecutionFilter>
302                                      <action>
303                                          <ignore/>
304                                      </action>
305                                  </pluginExecution>
306                                  <pluginExecution>
307                                     <pluginExecutionFilter>
308                                         <groupId>org.apache.maven.plugins</groupId>
309                                         <artifactId>maven-checkstyle-plugin</artifactId>
310                                         <versionRange>[2.12,)</versionRange>
311                                         <goals>
312                                             <goal>check</goal>
313                                         </goals>
314                                      </pluginExecutionFilter>
315                                      <action>
316                                          <execute/>
317                                      </action>
318                                  </pluginExecution>
319                             </pluginExecutions>
320                         </lifecycleMappingMetadata>
321                     </configuration>
322                 </plugin>
323                 <plugin>
324                     <groupId>org.opendaylight.yangtools</groupId>
325                     <artifactId>yang-maven-plugin</artifactId>
326                     <version>0.8.0-SNAPSHOT</version>
327                     <executions>
328                         <execution>
329                             <goals>
330                                 <goal>generate-sources</goal>
331                             </goals>
332                             <configuration>
333                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
334                                 <codeGenerators>
335                                     <generator>
336                                         <codeGeneratorClass>
337                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
338                                         </codeGeneratorClass>
339                                         <outputBaseDir>
340                                             target/generated-sources/sal
341                                         </outputBaseDir>
342                                     </generator>
343                                     <generator>
344                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
345                                         <outputBaseDir>target/site/restconf</outputBaseDir>
346                                     </generator>
347                                     <generator>
348                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.wadl.generator.maven.WadlGenerator</codeGeneratorClass>
349                                         <outputBaseDir>target/site/restconf</outputBaseDir>
350                                     </generator>
351                                 </codeGenerators>
352                                 <inspectDependencies>true</inspectDependencies>
353                             </configuration>
354                         </execution>
355                     </executions>
356                     <dependencies>
357                         <dependency>
358                             <groupId>org.opendaylight.yangtools</groupId>
359                             <artifactId>maven-sal-api-gen-plugin</artifactId>
360                             <version>0.8.0-SNAPSHOT</version>
361                             <type>jar</type>
362                         </dependency>
363                     </dependencies>
364                 </plugin>
365                 <plugin>
366                     <groupId>org.ops4j.pax.exam</groupId>
367                     <artifactId>maven-paxexam-plugin</artifactId>
368                     <version>1.2.4</version>
369                     <executions>
370                         <execution>
371                             <id>generate-config</id>
372                             <goals>
373                                 <goal>generate-depends-file</goal>
374                             </goals>
375                         </execution>
376                     </executions>
377                 </plugin>
378                 <plugin>
379                     <groupId>org.apache.maven.plugins</groupId>
380                     <artifactId>maven-javadoc-plugin</artifactId>
381                     <version>${maven.javadoc.version}</version>
382                     <configuration>
383                         <stylesheetfile>stylesheet.css</stylesheetfile>
384                     </configuration>
385                     <executions>
386                         <execution>
387                             <id>attach-javadocs</id>
388                             <goals>
389                                 <goal>jar</goal>
390                             </goals>
391                         </execution>
392                         <execution>
393                             <goals>
394                                 <goal>aggregate</goal>
395                             </goals>
396                             <phase>site</phase>
397                         </execution>
398                     </executions>
399                 </plugin>
400                 <plugin>
401                     <groupId>org.codehaus.mojo</groupId>
402                     <artifactId>build-helper-maven-plugin</artifactId>
403                     <version>1.8</version>
404                     <executions>
405                         <execution>
406                             <phase>generate-sources</phase>
407                             <goals>
408                                 <goal>add-source</goal>
409                             </goals>
410                             <configuration>
411                                 <sources>
412                                     <source>target/generated-sources/parser</source>
413                                     <source>target/generated-sources/sal</source>
414                                     <source>${basedir}/src/main/xtend-gen</source>
415                                 </sources>
416                             </configuration>
417                         </execution>
418                     </executions>
419                 </plugin>
420                 <plugin>
421                     <groupId>org.eclipse.xtend</groupId>
422                     <artifactId>xtend-maven-plugin</artifactId>
423                     <version>2.7.3</version>
424                     <executions>
425                         <execution>
426                             <goals>
427                                 <goal>compile</goal>
428                             </goals>
429                             <configuration>
430                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
431                             </configuration>
432                         </execution>
433                     </executions>
434                 </plugin>
435                 <plugin>
436                     <groupId>org.apache.servicemix.tooling</groupId>
437                     <artifactId>depends-maven-plugin</artifactId>
438                     <version>${maven.depends.version}</version>
439                     <executions>
440                         <execution>
441                             <id>generate-depends-file</id>
442                             <goals>
443                                 <goal>generate-depends-file</goal>
444                             </goals>
445                         </execution>
446                     </executions>
447                 </plugin>
448             </plugins>
449         </pluginManagement>
450
451         <plugins>
452             <plugin>
453                 <groupId>org.apache.maven.plugins</groupId>
454                 <artifactId>maven-enforcer-plugin</artifactId>
455                 <!--
456                 <executions>
457                     <execution>
458                         <id>enforce-dependencies</id>
459                         <configuration>
460                             <rules>
461                                 <DependencyConvergence />
462                             </rules>
463                         </configuration>
464                         <goals>
465                             <goal>enforce</goal>
466                         </goals>
467                     </execution>
468                 </executions>
469                 -->
470             </plugin>
471
472             <plugin>
473                 <artifactId>maven-clean-plugin</artifactId>
474                 <configuration>
475                     <filesets>
476                         <fileset>
477                             <directory>${basedir}/src/main/xtend-gen</directory>
478                             <includes>
479                                 <include>**</include>
480                             </includes>
481                         </fileset>
482                     </filesets>
483                 </configuration>
484             </plugin>
485             <plugin>
486                 <groupId>org.apache.maven.plugins</groupId>
487                 <artifactId>maven-jar-plugin</artifactId>
488             </plugin>
489             <plugin>
490                 <groupId>org.apache.felix</groupId>
491                 <artifactId>maven-bundle-plugin</artifactId>
492             </plugin>
493             <plugin>
494                 <groupId>org.apache.maven.plugins</groupId>
495                 <artifactId>maven-source-plugin</artifactId>
496                 <executions>
497                     <execution>
498                         <id>attach-sources</id>
499                         <goals>
500                             <goal>jar</goal>
501                         </goals>
502                     </execution>
503                 </executions>
504             </plugin>
505             <plugin>
506                 <groupId>org.apache.maven.plugins</groupId>
507                 <artifactId>maven-javadoc-plugin</artifactId>
508             </plugin>
509             <plugin>
510                 <groupId>org.jacoco</groupId>
511                 <artifactId>jacoco-maven-plugin</artifactId>
512                 <executions>
513                     <execution>
514                         <id>prepare-ut-agent</id>
515                         <phase>process-test-classes</phase>
516                         <goals>
517                             <goal>prepare-agent</goal>
518                         </goals>
519                         <configuration>
520                             <destFile>${sonar.jacoco.reportPath}</destFile>
521                             <propertyName>jacoco.agent.ut.arg</propertyName>
522                         </configuration>
523                     </execution>
524                     <execution>
525                         <id>prepare-it-agent</id>
526                         <phase>pre-integration-test</phase>
527                         <goals>
528                             <goal>prepare-agent</goal>
529                         </goals>
530                         <configuration>
531                             <destFile>${sonar.jacoco.itReportPath}</destFile>
532                             <propertyName>jacoco.agent.it.arg</propertyName>
533                         </configuration>
534                     </execution>
535                 </executions>
536             </plugin>
537         </plugins>
538     </build>
539
540     <reporting>
541         <plugins>
542             <plugin>
543                 <groupId>org.codehaus.mojo</groupId>
544                 <artifactId>findbugs-maven-plugin</artifactId>
545                 <version>${findbugs.maven.plugin.version}</version>
546                 <configuration>
547                     <effort>Max</effort>
548                     <threshold>Low</threshold>
549                     <goal>site</goal>
550                 </configuration>
551             </plugin>
552             <plugin>
553                 <groupId>org.codehaus.mojo</groupId>
554                 <artifactId>jdepend-maven-plugin</artifactId>
555                 <version>${jdepend.maven.plugin.version}</version>
556             </plugin>
557         </plugins>
558     </reporting>
559 </project>