Added support for discovering YangModuleInfo via ServiceLoader.
[yangtools.git] / 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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11
12     <modelVersion>4.0.0</modelVersion>
13     <artifactId>yangtools</artifactId>
14     <groupId>org.opendaylight.yangtools</groupId>
15     <version>0.6.2-SNAPSHOT</version>
16     <packaging>pom</packaging>
17     <prerequisites>
18         <maven>3.0.4</maven>
19     </prerequisites>
20
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
24
25         <!-- Java Versions -->
26         <maven.compiler.source>1.7</maven.compiler.source>
27         <maven.compiler.target>1.7</maven.compiler.target>
28
29         <!-- Build Plugin Versions -->
30         <maven.bundle.version>2.4.0</maven.bundle.version>
31         <maven.jar.version>2.4</maven.jar.version>
32         <maven.javadoc.version>2.9.1</maven.javadoc.version>
33         <maven.release.version>2.4.2</maven.release.version>
34         <maven.source.version>2.2.1</maven.source.version>
35         <maven.surefire.version>2.16</maven.surefire.version>
36
37         <!-- Supporting Libraries -->
38         <commons.lang.version>3.1</commons.lang.version>
39         <junit.version>4.10</junit.version>
40         <slf4j.version>1.7.2</slf4j.version>
41         <guava.version>14.0.1</guava.version>
42         <xtend.version>2.4.3</xtend.version>
43         <groovy.version>2.1.6</groovy.version>
44         <mockito.version>1.9.5</mockito.version>
45         <javassist.version>3.17.1-GA</javassist.version>
46     </properties>
47
48     <scm>
49         <connection>scm:git:ssh://git.opendaylight.org:29418/yangtools.git</connection>
50         <developerConnection>scm:git:ssh://git.opendaylight.org:29418/yangtools.git</developerConnection>
51         <url>https://wiki.opendaylight.org/view/YANG_Tools:Main</url>
52         <tag>HEAD</tag>
53     </scm>
54
55     <modules>
56         <module>concepts</module>
57         <module>yang</module>
58         <module>code-generator</module>
59         <module>model</module>
60         <module>restconf</module>
61         <module>integration-test</module>
62         <module>mockito-configuration</module>
63         <!-- module>third-party</module -->
64     </modules>
65
66     <pluginRepositories>
67         <!-- OpenDayLight Repo Mirror -->
68         <pluginRepository>
69             <id>opendaylight-mirror</id>
70             <name>opendaylight-mirror</name>
71             <url>${nexusproxy}/groups/public/</url>
72             <snapshots>
73                 <enabled>false</enabled>
74             </snapshots>
75             <releases>
76                 <enabled>true</enabled>
77                 <updatePolicy>never</updatePolicy>
78             </releases>
79         </pluginRepository>
80
81         <!-- OpenDayLight Snapshot artifact -->
82         <pluginRepository>
83             <id>opendaylight-snapshot</id>
84             <name>opendaylight-snapshot</name>
85             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
86             <snapshots>
87                 <enabled>true</enabled>
88             </snapshots>
89             <releases>
90                 <enabled>false</enabled>
91             </releases>
92         </pluginRepository>
93     </pluginRepositories>
94
95     <repositories>
96         <!-- OpenDayLight Repo Mirror -->
97         <repository>
98             <id>opendaylight-mirror</id>
99             <name>opendaylight-mirror</name>
100             <url>${nexusproxy}/groups/public/</url>
101             <snapshots>
102                 <enabled>false</enabled>
103             </snapshots>
104             <releases>
105                 <enabled>true</enabled>
106                 <updatePolicy>never</updatePolicy>
107             </releases>
108         </repository>
109
110         <!-- OpenDayLight Snapshot artifact -->
111         <repository>
112             <id>opendaylight-snapshot</id>
113             <name>opendaylight-snapshot</name>
114             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
115             <snapshots>
116                 <enabled>true</enabled>
117             </snapshots>
118             <releases>
119                 <enabled>false</enabled>
120             </releases>
121         </repository>
122     </repositories>
123
124     <dependencyManagement>
125         <dependencies>
126             <!-- Testing Dependencies -->
127             <dependency>
128                 <groupId>junit</groupId>
129                 <artifactId>junit</artifactId>
130                 <version>${junit.version}</version>
131                 <scope>test</scope>
132             </dependency>
133             <dependency>
134                 <groupId>org.mockito</groupId>
135                 <artifactId>mockito-all</artifactId>
136                 <version>${mockito.version}</version>
137                 <scope>test</scope>
138             </dependency>
139             <dependency>
140                 <groupId>org.mockito</groupId>
141                 <artifactId>mockito-core</artifactId>
142                 <version>${mockito.version}</version>
143                 <scope>test</scope>
144             </dependency>
145             <dependency>
146                 <groupId>org.slf4j</groupId>
147                 <artifactId>slf4j-simple</artifactId>
148                 <version>${slf4j.version}</version>
149                 <scope>test</scope>
150             </dependency>
151
152             <!-- Supporting Libraries -->
153             <dependency>
154                 <groupId>org.slf4j</groupId>
155                 <artifactId>slf4j-api</artifactId>
156                 <version>${slf4j.version}</version>
157             </dependency>
158             <dependency>
159                 <groupId>com.google.guava</groupId>
160                 <artifactId>guava</artifactId>
161                 <version>${guava.version}</version>
162             </dependency>
163             <dependency>
164                 <groupId>org.eclipse.xtend</groupId>
165                 <artifactId>org.eclipse.xtend.lib</artifactId>
166                 <version>${xtend.version}</version>
167             </dependency>
168             <dependency>
169                 <groupId>org.apache.commons</groupId>
170                 <artifactId>commons-lang3</artifactId>
171                 <version>${commons.lang.version}</version>
172             </dependency>
173
174             <!-- Plugin integration -->
175             <dependency>
176                 <groupId>org.sonatype.plexus</groupId>
177                 <artifactId>plexus-build-api</artifactId>
178                 <version>0.0.7</version>
179             </dependency>
180             <dependency>
181                 <groupId>org.codehaus.plexus</groupId>
182                 <artifactId>plexus-slf4j-logging</artifactId>
183                 <version>1.1</version>
184             </dependency>
185
186             <!-- Our artifacts -->
187             <dependency>
188                     <groupId>${project.groupId}</groupId>
189                     <artifactId>concepts</artifactId>
190                     <version>${project.version}</version>
191             </dependency>
192         </dependencies>
193     </dependencyManagement>
194
195     <dependencies>
196         <dependency>
197             <groupId>org.slf4j</groupId>
198             <artifactId>slf4j-simple</artifactId>
199         </dependency>
200     </dependencies>
201
202     <distributionManagement>
203         <!-- OpenDayLight Released artifact -->
204         <repository>
205             <id>opendaylight-release</id>
206             <url>${nexusproxy}/repositories/opendaylight.release/</url>
207         </repository>
208         <!-- OpenDayLight Snapshot artifact -->
209         <snapshotRepository>
210             <id>opendaylight-snapshot</id>
211             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
212         </snapshotRepository>
213         <site>
214             <id>${project.artifactId}-site</id>
215             <url>./</url>
216         </site>
217     </distributionManagement>
218
219     <build>
220         <pluginManagement>
221             <plugins>
222                 <plugin>
223                     <groupId>org.apache.maven.plugins</groupId>
224                     <artifactId>maven-jar-plugin</artifactId>
225                     <version>${maven.jar.version}</version>
226                     <configuration>
227                         <archive>
228                             <!-- Bundle OSGi Manifest created by maven-bundle-plugin
229                                 into jar file -->
230                             <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
231                         </archive>
232                     </configuration>
233                 </plugin>
234                 <plugin>
235                     <groupId>org.apache.felix</groupId>
236                     <artifactId>maven-bundle-plugin</artifactId>
237                     <version>${maven.bundle.version}</version>
238                     <extensions>true</extensions>
239                     <executions>
240                         <execution>
241                             <id>bundle-manifest</id>
242                             <phase>process-classes</phase>
243                             <goals>
244                                 <goal>manifest</goal>
245                             </goals>
246                         </execution>
247                     </executions>
248                     <configuration>
249                         <instructions>
250                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
251                             <Export-Package>*</Export-Package>
252                         </instructions>
253                     </configuration>
254                 </plugin>
255                 <plugin>
256                     <groupId>org.eclipse.xtend</groupId>
257                     <artifactId>xtend-maven-plugin</artifactId>
258                     <version>${xtend.version}</version>
259                     <executions>
260                         <execution>
261                             <goals>
262                                 <goal>compile</goal>
263                             </goals>
264                             <configuration>
265                                 <outputDirectory>${basedir}/src/main/xtend-gen</outputDirectory>
266                             </configuration>
267                         </execution>
268                     </executions>
269                 </plugin>
270                 <plugin>
271                     <artifactId>maven-clean-plugin</artifactId>
272                     <version>2.5</version>
273                     <configuration>
274                         <filesets>
275                             <fileset>
276                                 <directory>${basedir}/src/main/xtend-gen</directory>
277                                 <includes>
278                                     <include>**</include>
279                                 </includes>
280                             </fileset>
281                         </filesets>
282                     </configuration>
283                 </plugin>
284                 <plugin>
285                     <groupId>org.eclipse.m2e</groupId>
286                     <artifactId>lifecycle-mapping</artifactId>
287                     <version>1.0.0</version>
288                     <configuration>
289                         <lifecycleMappingMetadata>
290                             <pluginExecutions>
291                                 <pluginExecution>
292                                     <pluginExecutionFilter>
293                                         <groupId>org.apache.felix</groupId>
294                                         <artifactId>maven-bundle-plugin</artifactId>
295                                         <versionRange>[1.0,)</versionRange>
296                                         <goals>
297                                             <goal>manifest</goal>
298                                         </goals>
299                                     </pluginExecutionFilter>
300                                     <action>
301                                         <execute />
302                                     </action>
303                                 </pluginExecution>
304                             </pluginExecutions>
305                         </lifecycleMappingMetadata>
306                     </configuration>
307                 </plugin>
308                 <plugin>
309                     <groupId>org.apache.maven.plugins</groupId>
310                     <artifactId>maven-javadoc-plugin</artifactId>
311                     <version>${maven.javadoc.version}</version>
312                     <configuration>
313                         <stylesheetfile>stylesheet.css</stylesheetfile>
314                     </configuration>
315                     <executions>
316                         <execution>
317                             <id>attach-javadocs</id>
318                             <goals>
319                                 <goal>jar</goal>
320                             </goals>
321                         </execution>
322                         <execution>
323                             <goals>
324                                 <goal>aggregate</goal>
325                             </goals>
326                             <phase>site</phase>
327                         </execution>
328                     </executions>
329                 </plugin>
330                 <plugin>
331                     <groupId>org.apache.maven.plugins</groupId>
332                     <artifactId>maven-release-plugin</artifactId>
333                     <version>${maven.release.version}</version>
334
335                     <!-- Since we have a maven plugin, we need to install it -->
336                     <configuration>
337                         <preparationGoals>clean install</preparationGoals>
338                         <completionGoals>clean install</completionGoals>
339                     </configuration>
340                 </plugin>
341             </plugins>
342         </pluginManagement>
343         <plugins>
344             <plugin>
345                 <groupId>org.apache.maven.plugins</groupId>
346                 <artifactId>maven-jar-plugin</artifactId>
347             </plugin>
348             <plugin>
349                 <groupId>org.apache.felix</groupId>
350                 <artifactId>maven-bundle-plugin</artifactId>
351             </plugin>
352             <plugin>
353                 <groupId>org.apache.maven.plugins</groupId>
354                 <artifactId>maven-source-plugin</artifactId>
355                 <version>${maven.source.version}</version>
356                 <executions>
357                     <execution>
358                         <id>attach-sources</id>
359                         <goals>
360                             <goal>jar</goal>
361                         </goals>
362                     </execution>
363                 </executions>
364             </plugin>
365             <plugin>
366                 <groupId>org.apache.maven.plugins</groupId>
367                 <artifactId>maven-javadoc-plugin</artifactId>
368             </plugin>
369         </plugins>
370     </build>
371
372     <reporting>
373         <plugins>
374             <plugin>
375                 <groupId>org.codehaus.mojo</groupId>
376                 <artifactId>findbugs-maven-plugin</artifactId>
377                 <version>2.5.3</version>
378                 <configuration>
379                     <effort>Max</effort>
380                     <threshold>Low</threshold>
381                     <goal>site</goal>
382                 </configuration>
383             </plugin>
384             <plugin>
385                 <groupId>org.codehaus.mojo</groupId>
386                 <artifactId>jdepend-maven-plugin</artifactId>
387                 <version>2.0-beta-2</version>
388             </plugin>
389         </plugins>
390     </reporting>
391 </project>