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