Merge "Fail on validation of checkstyle set to true"
[controller.git] / opendaylight / config / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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.5.0-SNAPSHOT</version>
9     <relativePath>../commons/opendaylight</relativePath>
10   </parent>
11   <artifactId>config-subsystem</artifactId>
12
13   <version>0.3.0-SNAPSHOT</version>
14   <packaging>pom</packaging>
15   <name>${project.artifactId}</name>
16   <prerequisites>
17     <maven>3.0.4</maven>
18   </prerequisites>
19   <modules>
20     <module>config-api</module>
21     <module>config-manager</module>
22     <module>config-plugin-parent</module>
23     <module>config-util</module>
24     <module>config-persister-api</module>
25     <module>config-persister-file-xml-adapter</module>
26     <module>config-persister-feature-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>netconf-config-dispatcher</module>
42     <module>config-module-archetype</module>
43     <module>config-netty-config</module>
44
45     <module>config-artifacts</module>
46     <module>config-parent</module>
47   </modules>
48
49   <dependencies>
50     <dependency>
51       <groupId>org.osgi</groupId>
52       <artifactId>org.osgi.compendium</artifactId>
53     </dependency>
54     <dependency>
55       <groupId>org.osgi</groupId>
56       <artifactId>org.osgi.core</artifactId>
57     </dependency>
58     <dependency>
59       <groupId>ch.qos.logback</groupId>
60       <artifactId>logback-classic</artifactId>
61       <scope>test</scope>
62     </dependency>
63     <dependency>
64       <groupId>junit</groupId>
65       <artifactId>junit</artifactId>
66       <scope>test</scope>
67     </dependency>
68   </dependencies>
69
70   <build>
71
72     <pluginManagement>
73       <plugins>
74         <plugin>
75           <groupId>org.apache.felix</groupId>
76           <artifactId>maven-bundle-plugin</artifactId>
77           <extensions>true</extensions>
78           <configuration>
79             <instructions>
80               <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
81             </instructions>
82           </configuration>
83         </plugin>
84         <plugin>
85           <groupId>org.apache.maven.plugins</groupId>
86           <artifactId>maven-antrun-plugin</artifactId>
87           <version>${maven.antrun.plugin.version}</version>
88         </plugin>
89         <plugin>
90           <groupId>org.apache.maven.plugins</groupId>
91           <artifactId>maven-jar-plugin</artifactId>
92           <executions>
93             <execution>
94               <goals>
95                 <goal>test-jar</goal>
96               </goals>
97               <phase>package</phase>
98             </execution>
99           </executions>
100         </plugin>
101         <plugin>
102           <groupId>org.codehaus.groovy.maven</groupId>
103           <artifactId>gmaven-plugin</artifactId>
104           <version>${gmaven.plugin.version}</version>
105         </plugin>
106         <plugin>
107           <groupId>org.opendaylight.yangtools</groupId>
108           <artifactId>yang-maven-plugin</artifactId>
109           <version>${yangtools.version}</version>
110           <dependencies>
111             <dependency>
112               <groupId>org.opendaylight.yangtools</groupId>
113               <artifactId>maven-sal-api-gen-plugin</artifactId>
114               <version>${yangtools.version}</version>
115               <type>jar</type>
116             </dependency>
117           </dependencies>
118           <executions>
119             <execution>
120               <id>sal</id>
121               <goals>
122                 <goal>generate-sources</goal>
123               </goals>
124               <configuration>
125                 <yangFilesRootDir>src/main/yang</yangFilesRootDir>
126                 <codeGenerators>
127                   <generator>
128                     <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
129                     <outputBaseDir>${salGeneratorPath}</outputBaseDir>
130                   </generator>
131                   <generator>
132                     <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
133                     <outputBaseDir>${project.build.directory}/site/models</outputBaseDir>
134                   </generator>
135                 </codeGenerators>
136                 <inspectDependencies>true</inspectDependencies>
137               </configuration>
138             </execution>
139           </executions>
140         </plugin>
141       </plugins>
142     </pluginManagement>
143     <plugins>
144       <plugin>
145         <groupId>org.apache.maven.plugins</groupId>
146         <artifactId>maven-checkstyle-plugin</artifactId>
147         <configuration>
148           <failsOnError>false</failsOnError>
149           <failOnViolation>true</failOnViolation>
150           <configLocation>checkstyle-logging.xml</configLocation>
151           <consoleOutput>true</consoleOutput>
152           <includeTestSourceDirectory>true</includeTestSourceDirectory>
153           <sourceDirectory>${project.basedir}</sourceDirectory>
154           <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
155           <!-- excluding logback-config, has several checkstyle warnings
156                regarding Logger/LoggerFactory, which couldn't be removed due necessity/intention
157                to use the particular implementation/library of Logger/LoggerFactory -->
158           <excludes>**\/config\/yang\/logback\/config\/**,**\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/</excludes>
159         </configuration>
160         <dependencies>
161           <dependency>
162             <groupId>org.opendaylight.yangtools</groupId>
163             <artifactId>checkstyle-logging</artifactId>
164             <version>${yangtools.version}</version>
165           </dependency>
166         </dependencies>
167         <executions>
168           <execution>
169             <goals>
170               <goal>check</goal>
171             </goals>
172           </execution>
173         </executions>
174       </plugin>
175       <plugin>
176         <groupId>org.apache.maven.plugins</groupId>
177         <artifactId>maven-compiler-plugin</artifactId>
178       </plugin>
179       <plugin>
180         <groupId>org.apache.maven.plugins</groupId>
181         <artifactId>maven-surefire-plugin</artifactId>
182       </plugin>
183       <plugin>
184         <groupId>org.jacoco</groupId>
185         <artifactId>jacoco-maven-plugin</artifactId>
186         <executions>
187           <execution>
188             <goals>
189               <goal>prepare-agent</goal>
190             </goals>
191           </execution>
192           <execution>
193             <id>report</id>
194             <goals>
195               <goal>check</goal>
196               <goal>report</goal>
197             </goals>
198             <phase>prepare-package</phase>
199             <configuration>
200               <outputDirectory>${project.build.directory}/jacoco</outputDirectory>
201               <haltOnFailure>false</haltOnFailure>
202               <rules>
203                 <rule>
204                   <element>CLASS</element>
205                   <excludes>
206                     <exclude>*Test</exclude>
207                   </excludes>
208                   <limits>
209                     <limit>
210                       <counter>LINE</counter>
211                       <value>COVEREDRATIO</value>
212                       <minimum>0.50</minimum>
213                     </limit>
214                   </limits>
215                 </rule>
216               </rules>
217             </configuration>
218           </execution>
219         </executions>
220       </plugin>
221
222     </plugins>
223   </build>
224
225   <profiles>
226     <profile>
227       <id>integrationtests</id>
228       <activation>
229         <activeByDefault>false</activeByDefault>
230       </activation>
231       <modules>
232         <module>yang-jmx-generator-it</module>
233       </modules>
234     </profile>
235   </profiles>
236 </project>