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