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