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