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