Delete yang-generated files in mvn clean phase
[netconf.git] / 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.odlparent</groupId>
7         <artifactId>odlparent</artifactId>
8         <version>1.6.0-SNAPSHOT</version>
9     </parent>
10
11     <groupId>org.opendaylight.netconf</groupId>
12     <artifactId>netconf-parent</artifactId>
13     <version>1.0.0-SNAPSHOT</version>
14     <packaging>pom</packaging>
15     <name>${project.artifactId}</name>
16
17     <modules>
18         <module>opendaylight/netconf</module>
19         <module>opendaylight/restconf</module>
20
21         <module>features</module>
22         <module>karaf</module>
23     </modules>
24
25     <properties>
26         <config.netconf.client.configfile>01-netconf.xml</config.netconf.client.configfile>
27         <config.netconf.topology.configfile>02-netconf-topology.xml</config.netconf.topology.configfile>
28         <config.netconf.mdsal.configfile>08-mdsal-netconf.xml</config.netconf.mdsal.configfile>
29         <config.restconf.configfile>10-rest-connector.xml</config.restconf.configfile>
30          <config.restconf.service.configfile>10-restconf-service.xml</config.restconf.service.configfile>
31         <config.netconf.connector.configfile>99-netconf-connector.xml</config.netconf.connector.configfile>
32
33         <aaa.version>0.3.0-SNAPSHOT</aaa.version>
34         <commons.logback_settings.version>0.2.0-SNAPSHOT</commons.logback_settings.version>
35         <commons.opendaylight.version>1.6.0-SNAPSHOT</commons.opendaylight.version>
36         <config.version>0.4.0-SNAPSHOT</config.version>
37         <config.configfile.directory>etc/opendaylight/karaf</config.configfile.directory>
38         <exi.nagasena.version>0000.0002.0053.0</exi.nagasena.version>
39         <features.test.version>1.6.0-SNAPSHOT</features.test.version>
40         <ietf-inet-types.version>2010.09.24.8-SNAPSHOT</ietf-inet-types.version>
41         <ietf-restconf.version>2013.10.19.8-SNAPSHOT</ietf-restconf.version>
42         <ietf-topology.version>2013.10.21.8-SNAPSHOT</ietf-topology.version>
43         <ietf-yang-types.version>2010.09.24.8-SNAPSHOT</ietf-yang-types.version>
44         <jersey-servlet.version>1.17</jersey-servlet.version>
45
46         <mdsal.version>2.0.0-SNAPSHOT</mdsal.version>
47         <mdsal.model.version>0.8.0-SNAPSHOT</mdsal.model.version>
48         <controller.mdsal.version>1.3.0-SNAPSHOT</controller.mdsal.version>
49         <netconf.version>1.0.0-SNAPSHOT</netconf.version>
50         <restconf.version>1.3.0-SNAPSHOT</restconf.version>
51         <protocol-framework.version>0.7.0-SNAPSHOT</protocol-framework.version>
52         <sshd-core.version>0.14.0</sshd-core.version>
53         <surefire.version>2.15</surefire.version>
54         <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
55
56         <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
57         <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
58
59     </properties>
60
61
62     <dependencyManagement>
63       <dependencies>
64         <dependency>
65             <groupId>org.opendaylight.yangtools</groupId>
66             <artifactId>yangtools-artifacts</artifactId>
67             <version>${yangtools.version}</version>
68             <type>pom</type>
69             <scope>import</scope>
70         </dependency>
71         <dependency>
72           <groupId>org.opendaylight.mdsal</groupId>
73           <artifactId>mdsal-artifacts</artifactId>
74           <version>${mdsal.version}</version>
75           <type>pom</type>
76           <scope>import</scope>
77         </dependency>
78         <dependency>
79           <groupId>org.opendaylight.mdsal.model</groupId>
80           <artifactId>mdsal-model-artifacts</artifactId>
81           <version>${mdsal.model.version}</version>
82           <type>pom</type>
83           <scope>import</scope>
84         </dependency>
85         <dependency>
86           <groupId>org.opendaylight.aaa</groupId>
87           <artifactId>aaa-artifacts</artifactId>
88           <version>${aaa.version}</version>
89           <type>pom</type>
90           <scope>import</scope>
91         </dependency>
92         <dependency>
93           <groupId>org.opendaylight.controller</groupId>
94           <artifactId>config-artifacts</artifactId>
95           <version>${config.version}</version>
96           <type>pom</type>
97           <scope>import</scope>
98         </dependency>
99         <dependency>
100           <groupId>org.opendaylight.controller</groupId>
101           <artifactId>mdsal-artifacts</artifactId>
102           <version>${controller.mdsal.version}</version>
103           <type>pom</type>
104           <scope>import</scope>
105         </dependency>
106       </dependencies>
107     </dependencyManagement>
108
109     <build>
110         <pluginManagement>
111             <plugins>
112                 <plugin>
113                     <groupId>org.apache.maven.plugins</groupId>
114                     <artifactId>maven-checkstyle-plugin</artifactId>
115                     <configuration>
116                         <failsOnError>true</failsOnError>
117                         <configLocation>controller/checkstyle.xml</configLocation>
118                         <consoleOutput>true</consoleOutput>
119                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
120                         <sourceDirectory>${project.basedir}</sourceDirectory>
121                         <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat</includes>
122                         <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/,**\/protobuff\/,**\/src\/main\/resources\/archetype-resources\/**\/*.java</excludes>
123                     </configuration>
124                     <dependencies>
125                         <dependency>
126                             <groupId>org.opendaylight.controller</groupId>
127                             <artifactId>checkstyle</artifactId>
128                             <version>0.2.0-SNAPSHOT</version>
129                         </dependency>
130                     </dependencies>
131                     <executions>
132                         <execution>
133                             <goals>
134                                 <goal>check</goal>
135                             </goals>
136                             <phase>process-sources</phase>
137                         </execution>
138                     </executions>
139                 </plugin>
140                 <plugin>
141                     <groupId>org.apache.felix</groupId>
142                     <artifactId>maven-bundle-plugin</artifactId>
143                     <extensions>true</extensions>
144                     <configuration>
145                         <instructions>
146                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
147                         </instructions>
148                     </configuration>
149                 </plugin>
150                 <plugin>
151                     <groupId>org.opendaylight.yangtools</groupId>
152                     <artifactId>yang-maven-plugin</artifactId>
153                     <version>${yangtools.version}</version>
154                     <executions>
155                         <execution>
156                             <id>config</id>
157                             <goals>
158                                 <goal>generate-sources</goal>
159                             </goals>
160                             <configuration>
161                                 <codeGenerators>
162                                     <generator>
163                                         <codeGeneratorClass>org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator</codeGeneratorClass>
164                                         <outputBaseDir>${jmxGeneratorPath}</outputBaseDir>
165                                         <additionalConfiguration>
166                                             <namespaceToPackage1>urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang</namespaceToPackage1>
167                                         </additionalConfiguration>
168                                     </generator>
169                                     <generator>
170                                         <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
171                                         <outputBaseDir>${salGeneratorPath}</outputBaseDir>
172                                     </generator>
173                                 </codeGenerators>
174                                 <inspectDependencies>true</inspectDependencies>
175                             </configuration>
176                         </execution>
177                     </executions>
178                     <dependencies>
179                         <dependency>
180                             <groupId>org.opendaylight.controller</groupId>
181                             <artifactId>yang-jmx-generator-plugin</artifactId>
182                             <version>${config.version}</version>
183                         </dependency>
184                         <dependency>
185                             <groupId>org.opendaylight.mdsal</groupId>
186                             <artifactId>maven-sal-api-gen-plugin</artifactId>
187                             <version>${yangtools.version}</version>
188                             <type>jar</type>
189                         </dependency>
190                         <dependency>
191                             <groupId>org.opendaylight.mdsal</groupId>
192                             <artifactId>yang-binding</artifactId>
193                             <version>${yangtools.version}</version>
194                             <type>jar</type>
195                         </dependency>
196                     </dependencies>
197                 </plugin>
198                 <plugin>
199                     <groupId>org.codehaus.mojo</groupId>
200                     <artifactId>build-helper-maven-plugin</artifactId>
201                     <version>1.8</version>
202                     <executions>
203                         <execution>
204                             <id>add-source</id>
205                             <phase>generate-sources</phase>
206                             <goals>
207                                 <goal>add-source</goal>
208                             </goals>
209                             <configuration>
210                                 <sources>
211                                     <source>${project.build.directory}/generated-sources/config</source>;
212                                 </sources>
213                             </configuration>
214                         </execution>
215                     </executions>
216                 </plugin>
217                 <plugin>
218                    <artifactId>maven-clean-plugin</artifactId>
219                    <configuration>
220                        <filesets>
221                          <fileset>
222                             <directory>${jmxGeneratorPath}</directory>
223                             <includes>
224                                <include>**</include>
225                             </includes>
226                          </fileset>
227                          <fileset>
228                             <directory>${salGeneratorPath}</directory>
229                             <includes>
230                                <include>**</include>
231                             </includes>
232                          </fileset>
233                       </filesets>
234                    </configuration>
235                 </plugin>
236             </plugins>
237         </pluginManagement>
238     </build>
239
240     <profiles>
241         <profile>
242             <id>integrationtests</id>
243             <activation>
244                 <activeByDefault>false</activeByDefault>
245             </activation>
246             <modules>
247                 <!-- module>opendaylight/netconf/netconf-it</module -->
248             </modules>
249         </profile>
250         <profile>
251             <id>doclint-java8-disable</id>
252             <activation>
253                 <jdk>[1.8,)</jdk>
254             </activation>
255             <build>
256                 <plugins>
257                     <plugin>
258                         <groupId>org.apache.maven.plugins</groupId>
259                         <artifactId>maven-javadoc-plugin</artifactId>
260                         <configuration>
261                             <additionalparam>-Xdoclint:none</additionalparam>
262                         </configuration>
263                     </plugin>
264                 </plugins>
265             </build>
266         </profile>
267     </profiles>
268 </project>