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