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