Cleanup project structure and dependencies
[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.controller</groupId>
12     <artifactId>netconf-parent</artifactId>
13     <version>0.4.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     </modules>
21
22     <properties>
23         <config.netconf.client.configfile>01-netconf.xml</config.netconf.client.configfile>
24         <config.netconf.topology.configfile>02-netconf-topology.xml</config.netconf.topology.configfile>
25         <config.netconf.mdsal.configfile>08-mdsal-netconf.xml</config.netconf.mdsal.configfile>
26         <config.restconf.configfile>10-rest-connector.xml</config.restconf.configfile>
27         <config.netconf.connector.configfile>99-netconf-connector.xml</config.netconf.connector.configfile>
28
29         <aaa.version>0.3.0-SNAPSHOT</aaa.version>
30         <commons.logback_settings.version>0.2.0-SNAPSHOT</commons.logback_settings.version>
31         <commons.opendaylight.version>1.6.0-SNAPSHOT</commons.opendaylight.version>
32         <config.version>0.4.0-SNAPSHOT</config.version>
33         <exi.nagasena.version>0000.0002.0053.0</exi.nagasena.version>
34         <features.test.version>1.6.0-SNAPSHOT</features.test.version>
35         <ietf-inet-types.version>2010.09.24.8-SNAPSHOT</ietf-inet-types.version>
36         <ietf-restconf.version>2013.10.19.8-SNAPSHOT</ietf-restconf.version>
37         <ietf-topology.version>2013.10.21.8-SNAPSHOT</ietf-topology.version>
38         <ietf-yang-types.version>2010.09.24.8-SNAPSHOT</ietf-yang-types.version>
39         <mdsal.version>1.3.0-SNAPSHOT</mdsal.version>
40         <netconf.version>0.4.0-SNAPSHOT</netconf.version>
41         <protocol-framework.version>0.7.0-SNAPSHOT</protocol-framework.version>
42         <sshd-core.version>0.14.0</sshd-core.version>
43         <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
44
45         <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
46         <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
47
48     </properties>
49
50     <build>
51         <pluginManagement>
52             <plugins>
53                 <plugin>
54                     <groupId>org.apache.maven.plugins</groupId>
55                     <artifactId>maven-checkstyle-plugin</artifactId>
56                     <configuration>
57                         <failsOnError>true</failsOnError>
58                         <configLocation>controller/checkstyle.xml</configLocation>
59                         <consoleOutput>true</consoleOutput>
60                         <includeTestSourceDirectory>true</includeTestSourceDirectory>
61                         <sourceDirectory>${project.basedir}</sourceDirectory>
62                         <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat</includes>
63                         <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/,**\/protobuff\/,**\/src\/main\/resources\/archetype-resources\/**\/*.java</excludes>
64                     </configuration>
65                     <dependencies>
66                         <dependency>
67                             <groupId>org.opendaylight.controller</groupId>
68                             <artifactId>checkstyle</artifactId>
69                             <version>0.2.0-SNAPSHOT</version>
70                         </dependency>
71                     </dependencies>
72                     <executions>
73                         <execution>
74                             <goals>
75                                 <goal>check</goal>
76                             </goals>
77                             <phase>process-sources</phase>
78                         </execution>
79                     </executions>
80                 </plugin>
81                 <plugin>
82                     <groupId>org.apache.felix</groupId>
83                     <artifactId>maven-bundle-plugin</artifactId>
84                     <extensions>true</extensions>
85                     <configuration>
86                         <instructions>
87                             <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
88                         </instructions>
89                     </configuration>
90                 </plugin>
91                 <plugin>
92                     <groupId>org.opendaylight.yangtools</groupId>
93                     <artifactId>yang-maven-plugin</artifactId>
94                     <version>${yangtools.version}</version>
95                     <executions>
96                         <execution>
97                             <id>config</id>
98                             <goals>
99                                 <goal>generate-sources</goal>
100                             </goals>
101                             <configuration>
102                                 <codeGenerators>
103                                     <generator>
104                                         <codeGeneratorClass>org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator</codeGeneratorClass>
105                                         <outputBaseDir>${jmxGeneratorPath}</outputBaseDir>
106                                         <additionalConfiguration>
107                                             <namespaceToPackage1>urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang</namespaceToPackage1>
108                                         </additionalConfiguration>
109                                     </generator>
110                                     <generator>
111                                         <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
112                                         <outputBaseDir>${salGeneratorPath}</outputBaseDir>
113                                     </generator>
114                                 </codeGenerators>
115                                 <inspectDependencies>true</inspectDependencies>
116                             </configuration>
117                         </execution>
118                     </executions>
119                     <dependencies>
120                         <dependency>
121                             <groupId>org.opendaylight.controller</groupId>
122                             <artifactId>yang-jmx-generator-plugin</artifactId>
123                             <version>${config.version}</version>
124                         </dependency>
125                         <dependency>
126                             <groupId>org.opendaylight.yangtools</groupId>
127                             <artifactId>maven-sal-api-gen-plugin</artifactId>
128                             <version>${yangtools.version}</version>
129                             <type>jar</type>
130                         </dependency>
131                         <dependency>
132                             <groupId>org.opendaylight.yangtools</groupId>
133                             <artifactId>yang-binding</artifactId>
134                             <version>${yangtools.version}</version>
135                             <type>jar</type>
136                         </dependency>
137                     </dependencies>
138                 </plugin>
139                 <plugin>
140                     <groupId>org.codehaus.mojo</groupId>
141                     <artifactId>build-helper-maven-plugin</artifactId>
142                     <version>1.8</version>
143                     <executions>
144                         <execution>
145                             <id>add-source</id>
146                             <phase>generate-sources</phase>
147                             <goals>
148                                 <goal>add-source</goal>
149                             </goals>
150                             <configuration>
151                                 <sources>
152                                     <source>${project.build.directory}/generated-sources/config</source>;
153                                 </sources>
154                             </configuration>
155                         </execution>
156                     </executions>
157                 </plugin>
158             </plugins>
159         </pluginManagement>
160     </build>
161
162     <profiles>
163         <profile>
164             <id>integrationtests</id>
165             <activation>
166                 <activeByDefault>false</activeByDefault>
167             </activation>
168             <modules>
169                 <module>opendaylight/netconf/netconf-it</module>
170             </modules>
171         </profile>
172         <profile>
173             <id>doclint-java8-disable</id>
174             <activation>
175                 <jdk>[1.8,)</jdk>
176             </activation>
177             <build>
178                 <plugins>
179                     <plugin>
180                         <groupId>org.apache.maven.plugins</groupId>
181                         <artifactId>maven-javadoc-plugin</artifactId>
182                         <configuration>
183                             <additionalparam>-Xdoclint:none</additionalparam>
184                         </configuration>
185                     </plugin>
186                 </plugins>
187             </build>
188         </profile>
189     </profiles>
190 </project>