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