d700075e950030e77856de1b84a2382878653055
[controller.git] / opendaylight / config / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: --><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">
3     <modelVersion>4.0.0</modelVersion>
4
5     <parent>
6         <groupId>org.opendaylight.controller</groupId>
7         <artifactId>commons.opendaylight</artifactId>
8         <version>1.4.2-SNAPSHOT</version>
9         <relativePath>../commons/opendaylight</relativePath>
10     </parent>
11
12
13     <version>0.2.5-SNAPSHOT</version>
14     <artifactId>config-subsystem</artifactId>
15     <packaging>pom</packaging>
16     <name>${project.artifactId}</name>
17     <prerequisites>
18         <maven>3.0.4</maven>
19     </prerequisites>
20     <modules>
21         <module>config-api</module>
22         <module>config-manager</module>
23         <module>config-plugin-parent</module>
24         <module>config-util</module>
25         <module>config-persister-api</module>
26         <module>config-persister-file-xml-adapter</module>
27         <module>yang-jmx-generator</module>
28         <module>yang-jmx-generator-plugin</module>
29         <module>yang-test</module>
30         <module>logback-config</module>
31         <module>threadpool-config-api</module>
32         <module>netty-config-api</module>
33         <module>threadpool-config-impl</module>
34         <module>netty-threadgroup-config</module>
35         <module>netty-event-executor-config</module>
36         <module>netty-timer-config</module>
37         <module>config-persister-directory-xml-adapter</module>
38         <module>yang-test-plugin</module>
39         <module>shutdown-api</module>
40         <module>shutdown-impl</module>
41         <module>config-module-archetype</module>
42     </modules>
43
44     <profiles>
45       <profile>
46         <id>integrationtests</id>
47         <activation>
48           <activeByDefault>false</activeByDefault>
49         </activation>
50         <modules>
51           <module>yang-jmx-generator-it</module>
52         </modules>
53       </profile>
54     </profiles>
55
56     <properties>
57         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
58         <java.version.source>1.7</java.version.source>
59         <java.version.target>1.7</java.version.target>
60         <junit.version>4.10</junit.version>
61         <maven.bundle.version>2.4.0</maven.bundle.version>
62         <osgi.version>5.0.0</osgi.version>
63         <jacoco.version>0.6.2.201302030002</jacoco.version>
64         <slf4j.version>1.7.2</slf4j.version>
65         <salGeneratorPath>${project.build.directory}/generated-sources/sal</salGeneratorPath>
66     </properties>
67
68     <dependencies>
69         <dependency>
70             <groupId>junit</groupId>
71             <artifactId>junit</artifactId>
72             <scope>test</scope>
73         </dependency>
74         <dependency>
75             <groupId>ch.qos.logback</groupId>
76             <artifactId>logback-classic</artifactId>
77             <scope>test</scope>
78         </dependency>
79     </dependencies>
80
81     <dependencyManagement>
82         <dependencies>
83             <dependency>
84                 <groupId>org.slf4j</groupId>
85                 <artifactId>slf4j-api</artifactId>
86                 <version>${slf4j.version}</version>
87             </dependency>
88             <dependency>
89                 <groupId>org.osgi</groupId>
90                 <artifactId>org.osgi.core</artifactId>
91                 <version>${osgi.version}</version>
92             </dependency>
93             <dependency>
94                 <groupId>commons-io</groupId>
95                 <artifactId>commons-io</artifactId>
96                 <version>2.4</version>
97             </dependency>
98             <dependency>
99                 <groupId>com.google.guava</groupId>
100                 <artifactId>guava</artifactId>
101                 <version>14.0.1</version>
102             </dependency>
103             <dependency>
104                 <groupId>junit</groupId>
105                 <artifactId>junit</artifactId>
106                 <version>${junit.version}</version>
107             </dependency>
108             <dependency>
109                 <groupId>org.apache.commons</groupId>
110                 <artifactId>commons-lang3</artifactId>
111                 <version>${commons.lang.version}</version>
112             </dependency>
113
114             <dependency>
115                 <groupId>${project.groupId}</groupId>
116                 <artifactId>config-api</artifactId>
117                 <version>${config.version}</version>
118             </dependency>
119
120             <dependency>
121                 <groupId>${project.groupId}</groupId>
122                 <artifactId>config-util</artifactId>
123                 <version>${config.version}</version>
124             </dependency>
125             <dependency>
126                 <groupId>${project.groupId}</groupId>
127                 <artifactId>config-util</artifactId>
128                 <version>${config.version}</version>
129                 <type>test-jar</type>
130             </dependency>
131             <dependency>
132                 <groupId>${project.groupId}</groupId>
133                 <artifactId>config-manager</artifactId>
134                 <version>${config.version}</version>
135             </dependency>
136             <dependency>
137                 <groupId>${project.groupId}</groupId>
138                 <artifactId>config-manager</artifactId>
139                 <version>${config.version}</version>
140                 <type>test-jar</type>
141             </dependency>
142             <dependency>
143                 <groupId>${project.groupId}</groupId>
144                 <artifactId>config-persister-api</artifactId>
145                 <version>${config.version}</version>
146             </dependency>
147             <dependency>
148                 <groupId>${project.groupId}</groupId>
149                 <artifactId>config-persister-api</artifactId>
150                 <version>${config.version}</version>
151                 <type>test-jar</type>
152             </dependency>
153             <dependency>
154                 <groupId>org.opendaylight.yangtools</groupId>
155                 <artifactId>binding-generator-spi</artifactId>
156                 <version>${yangtools.version}</version>
157             </dependency>
158             <dependency>
159                 <groupId>org.opendaylight.yangtools</groupId>
160                 <artifactId>binding-generator-util</artifactId>
161                 <version>${yangtools.version}</version>
162             </dependency>
163             <dependency>
164                 <groupId>org.opendaylight.yangtools</groupId>
165                 <artifactId>yang-parser-impl</artifactId>
166                 <version>${yangtools.version}</version>
167             </dependency>
168             <dependency>
169                 <groupId>org.opendaylight.yangtools</groupId>
170                 <artifactId>binding-generator-impl</artifactId>
171                 <version>${yangtools.version}</version>
172             </dependency>
173             <dependency>
174                 <groupId>${project.groupId}</groupId>
175                 <artifactId>yang-test</artifactId>
176                 <version>${config.version}</version>
177             </dependency>
178             <dependency>
179                 <groupId>org.opendaylight.controller</groupId>
180                 <artifactId>yang-jmx-generator</artifactId>
181                 <version>${config.version}</version>
182             </dependency>
183             <dependency>
184                 <groupId>org.opendaylight.controller</groupId>
185                 <artifactId>yang-jmx-generator</artifactId>
186                 <version>${config.version}</version>
187                 <type>test-jar</type>
188             </dependency>
189             <dependency>
190                 <groupId>org.opendaylight.yangtools</groupId>
191                 <artifactId>binding-type-provider</artifactId>
192                 <version>${yangtools.version}</version>
193             </dependency>
194             <dependency>
195                 <groupId>org.opendaylight.yangtools</groupId>
196                 <artifactId>yang-maven-plugin-spi</artifactId>
197                 <version>${yangtools.version}</version>
198             </dependency>
199
200             <dependency>
201                 <groupId>org.opendaylight.controller</groupId>
202                 <artifactId>shutdown-api</artifactId>
203                 <version>${config.version}</version>
204             </dependency>
205
206             <!-- MD-SAL -->
207             <dependency>
208                 <groupId>org.opendaylight.yangtools</groupId>
209                 <artifactId>yang-binding</artifactId>
210                 <version>${yangtools.version}</version>
211             </dependency>
212             <dependency>
213                 <groupId>org.opendaylight.yangtools</groupId>
214                 <artifactId>yang-common</artifactId>
215                 <version>${yangtools.version}</version>
216             </dependency>
217             <dependency>
218                 <groupId>org.opendaylight.yangtools</groupId>
219                 <artifactId>concepts</artifactId>
220                 <version>${yangtools.version}</version>
221             </dependency>
222         </dependencies>
223     </dependencyManagement>
224
225
226     <build>
227         <plugins>
228             <plugin>
229                 <groupId>org.apache.maven.plugins</groupId>
230                 <artifactId>maven-compiler-plugin</artifactId>
231             </plugin>
232             <plugin>
233                 <groupId>org.jacoco</groupId>
234                 <artifactId>jacoco-maven-plugin</artifactId>
235                 <version>${jacoco.version}</version>
236                 <executions>
237                     <execution>
238                         <goals>
239                             <goal>prepare-agent</goal>
240                         </goals>
241                     </execution>
242                     <execution>
243                         <id>report</id>
244                         <phase>prepare-package</phase>
245                         <goals>
246                             <goal>check</goal>
247                             <goal>report</goal>
248                         </goals>
249                         <configuration>
250                             <outputDirectory>${project.build.directory}/jacoco</outputDirectory>
251                             <haltOnFailure>false</haltOnFailure>
252                             <check>
253                                 <classRatio>80</classRatio>
254                             </check>
255                         </configuration>
256                     </execution>
257                 </executions>
258             </plugin>
259             <plugin>
260                 <groupId>org.apache.maven.plugins</groupId>
261                 <artifactId>maven-surefire-plugin</artifactId>
262             </plugin>
263
264
265         </plugins>
266
267         <pluginManagement>
268             <plugins>
269                 <plugin>
270                     <groupId>org.opendaylight.yangtools</groupId>
271                     <artifactId>yang-maven-plugin</artifactId>
272                     <version>${yangtools.version}</version>
273                     <executions>
274                         <execution>
275                             <id>sal</id>
276                             <goals>
277                                 <goal>generate-sources</goal>
278                             </goals>
279                             <configuration>
280                                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
281                                 <codeGenerators>
282                                     <generator>
283                                         <codeGeneratorClass>
284                                             org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
285                                         </codeGeneratorClass>
286                                         <outputBaseDir>
287                                             ${salGeneratorPath}
288                                         </outputBaseDir>
289                                     </generator>
290                                     <generator>
291                                         <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
292                                         <outputBaseDir>${project.build.directory}/site/models</outputBaseDir>
293                                     </generator>
294                                 </codeGenerators>
295                                 <inspectDependencies>true</inspectDependencies>
296                             </configuration>
297                         </execution>
298                     </executions>
299                     <dependencies>
300                         <dependency>
301                             <groupId>org.opendaylight.yangtools</groupId>
302                             <artifactId>maven-sal-api-gen-plugin</artifactId>
303                             <version>${yangtools.version}</version>
304                             <type>jar</type>
305                         </dependency>
306                     </dependencies>
307                 </plugin>
308                 <!-- tell eclipse about generated source folders -->
309                 <plugin>
310                     <groupId>org.codehaus.mojo</groupId>
311                     <artifactId>build-helper-maven-plugin</artifactId>
312                     <version>1.8</version>
313                     <executions>
314                         <execution>
315                             <id>add-source</id>
316                             <phase>generate-sources</phase>
317                             <goals>
318                                 <goal>add-source</goal>
319                             </goals>
320                             <configuration>
321                                 <sources>
322                                     <source>${salGeneratorPath}</source>
323                                 </sources>
324                             </configuration>
325                         </execution>
326                     </executions>
327                 </plugin>
328                 <plugin>
329                     <groupId>org.apache.maven.plugins</groupId>
330                     <artifactId>maven-jar-plugin</artifactId>
331                     <version>2.4</version>
332                     <executions>
333                         <execution>
334                             <phase>package</phase>
335                             <goals>
336                                 <goal>test-jar</goal>
337                             </goals>
338                         </execution>
339                     </executions>
340                 </plugin>
341                 <plugin>
342                     <groupId>org.apache.felix</groupId>
343                     <artifactId>maven-bundle-plugin</artifactId>
344                     <version>${maven.bundle.version}</version>
345                     <extensions>true</extensions>
346                     <configuration>
347                         <instructions>
348                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
349                         </instructions>
350                     </configuration>
351                 </plugin>
352                 <plugin>
353                     <groupId>org.apache.maven.plugins</groupId>
354                     <artifactId>maven-surefire-plugin</artifactId>
355                     <version>2.14.1</version>
356                     <configuration>
357                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
358                         <parallel>classes</parallel>
359                         <forkCount>1C</forkCount>
360                         <reuseForks>false</reuseForks>
361                         <perCoreThreadCount>true</perCoreThreadCount>
362                         <threadCount>2</threadCount>
363                     </configuration>
364                 </plugin>
365                 <plugin>
366                     <groupId>org.apache.maven.plugins</groupId>
367                     <artifactId>maven-antrun-plugin</artifactId>
368                     <version>1.3</version>
369                 </plugin>
370                 <plugin>
371                     <groupId>org.codehaus.groovy.maven</groupId>
372                     <artifactId>gmaven-plugin</artifactId>
373                     <version>1.0</version>
374                 </plugin>
375                 <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
376                 <plugin>
377                     <groupId>org.eclipse.m2e</groupId>
378                     <artifactId>lifecycle-mapping</artifactId>
379                     <version>1.0.0</version>
380                     <configuration>
381                         <lifecycleMappingMetadata>
382                             <pluginExecutions>
383                                 <pluginExecution>
384                                     <pluginExecutionFilter>
385                                         <groupId>
386                                             org.opendaylight.yangtools
387                                         </groupId>
388                                         <artifactId>
389                                             yang-maven-plugin
390                                         </artifactId>
391                                         <versionRange>
392                                             [0.5.7-SNAPSHOT,)
393                                         </versionRange>
394                                         <goals>
395                                             <goal>
396                                                 generate-sources
397                                             </goal>
398                                         </goals>
399                                     </pluginExecutionFilter>
400                                     <action>
401                                         <ignore/>
402                                     </action>
403                                 </pluginExecution>
404                             </pluginExecutions>
405                         </lifecycleMappingMetadata>
406                     </configuration>
407                 </plugin>
408             </plugins>
409         </pluginManagement>
410     </build>
411 </project>