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