Unify version management: BGP and its dependencies
[bgpcep.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set smarttab sw=4 tabstop=4: -->
3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5         <name>OpenDaylight protocols</name>
6         <url>index.html</url>
7         <modelVersion>4.0.0</modelVersion>
8         <groupId>org.opendaylight.bgpcep</groupId>
9         <artifactId>protocol-parent</artifactId>
10         <description>OpenDaylight BGP+PCEP protocol parent</description>
11         <version>0.3.0-SNAPSHOT</version>
12         <packaging>pom</packaging>
13
14         <properties>
15                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16                 <commonscodec.version>1.7</commonscodec.version>
17                 <dependency.version>2.8</dependency.version>
18                 <guava.version>14.0.1</guava.version>
19                 <java.version.source>1.7</java.version.source>
20                 <java.version.target>1.7</java.version.target>
21                 <junit.version>4.10</junit.version>
22                 <logback.version>1.0.7</logback.version>
23                 <maven.bundle.version>2.4.0</maven.bundle.version>
24                 <maven.compiler.version>3.1</maven.compiler.version>
25                 <maven.jar.version>2.4</maven.jar.version>
26                 <maven.shade.version>2.1</maven.shade.version>
27                 <mockito.version>1.9.5</mockito.version>
28                 <netty.version>4.0.10.Final</netty.version>
29                 <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
30                 <slf4j.version>1.7.2</slf4j.version>
31                 <surefire.version>2.15</surefire.version>
32                 <osgi.version>5.0.0</osgi.version>
33
34                 <yangtools.version>0.5.9-SNAPSHOT</yangtools.version>
35         <controller.config.version>0.2.3-SNAPSHOT</controller.config.version>
36                 <yang.binding.version>0.6.0-SNAPSHOT</yang.binding.version>
37                 <ietf.types.version>2010.09.24.1</ietf.types.version>
38         </properties>
39         <prerequisites>
40                 <maven>3.0.4</maven>
41         </prerequisites>
42
43         <modules>
44                 <!-- Common infra -->
45                 <module>concepts</module>
46                 <module>framework</module>
47                 <module>mockito-configuration</module>
48                 <module>util</module>
49
50                 <!-- Subsystems -->
51                 <module>bgp</module>
52                 <module>pcep</module>
53                 <module>programming</module>
54                 <module>rsvp</module>
55                 <module>topology</module>
56
57                 <!-- Integration tests -->
58                 <module>integration-tests</module>
59         </modules>
60
61     <dependencyManagement>
62                 <dependencies>
63                         <!-- This project -->
64             <dependency>
65                 <groupId>${project.groupId}</groupId>
66                 <artifactId>concepts</artifactId>
67                 <version>${project.version}</version>
68             </dependency>
69             <dependency>
70                 <groupId>${project.groupId}</groupId>
71                 <artifactId>framework</artifactId>
72                 <version>${project.version}</version>
73             </dependency>
74             <dependency>
75                 <groupId>${project.groupId}</groupId>
76                 <artifactId>util</artifactId>
77                 <version>${project.version}</version>
78             </dependency>
79
80                         <!-- Testing Dependencies -->
81             <dependency>
82                 <groupId>junit</groupId>
83                 <artifactId>junit</artifactId>
84                 <version>${junit.version}</version>
85                 <scope>test</scope>
86                         </dependency>
87                         <dependency>
88                                 <groupId>org.mockito</groupId>
89                                 <artifactId>mockito-core</artifactId>
90                                 <version>${mockito.version}</version>
91                                 <scope>test</scope>
92                         </dependency>
93                         <dependency>
94                                 <groupId>${project.groupId}</groupId>
95                                 <artifactId>mockito-configuration</artifactId>
96                                 <version>${project.version}</version>
97                                 <scope>test</scope>
98                         </dependency>
99
100                         <!-- Supporting Libraries -->
101             <dependency>
102                 <groupId>org.slf4j</groupId>
103                 <artifactId>slf4j-api</artifactId>
104                 <version>${slf4j.version}</version>
105             </dependency>
106             <dependency>
107                 <groupId>com.google.guava</groupId>
108                 <artifactId>guava</artifactId>
109                 <version>${guava.version}</version>
110             </dependency>
111                         <dependency>
112                                 <groupId>com.google.code.findbugs</groupId>
113                                 <artifactId>jsr305</artifactId>
114                                 <version>2.0.1</version>
115                         </dependency>
116
117                         <!-- Netty -->
118                         <dependency>
119                                 <groupId>io.netty</groupId>
120                                 <artifactId>netty-codec</artifactId>
121                                 <version>${netty.version}</version>
122                         </dependency>
123                         <dependency>
124                                 <groupId>io.netty</groupId>
125                                 <artifactId>netty-common</artifactId>
126                                 <version>${netty.version}</version>
127                         </dependency>
128                         <dependency>
129                                 <groupId>io.netty</groupId>
130                                 <artifactId>netty-transport</artifactId>
131                                 <version>${netty.version}</version>
132                         </dependency>
133
134                         <!-- YANG tools -->
135                         <dependency>
136                                 <groupId>org.opendaylight.yangtools</groupId>
137                                 <artifactId>yang-binding</artifactId>
138                                 <version>${yang.binding.version}</version>
139                         </dependency>
140                         <dependency>
141                                 <groupId>org.opendaylight.yangtools</groupId>
142                                 <artifactId>yang-common</artifactId>
143                                 <version>${yangtools.version}</version>
144                         </dependency>
145
146                         <!-- Controller infrastructure -->
147                         <dependency>
148                                 <groupId>org.opendaylight.controller</groupId>
149                                 <artifactId>config-api</artifactId>
150                                 <version>${controller.config.version}</version>
151                         </dependency>
152         </dependencies>
153     </dependencyManagement>
154
155         <dependencies>
156                 <dependency>
157                         <groupId>ch.qos.logback</groupId>
158                         <artifactId>logback-classic</artifactId>
159                         <version>${logback.version}</version>
160                         <scope>test</scope>
161                 </dependency>
162         </dependencies>
163         
164         <reporting>
165                 <plugins>
166                         <plugin>
167                                 <groupId>org.apache.maven.plugins</groupId>
168                                 <artifactId>maven-javadoc-plugin</artifactId>
169                                 <version>2.9.1</version>
170                         </plugin>
171                 </plugins>
172         </reporting>
173
174         <distributionManagement>
175                 <!-- OpenDayLight Released artifact -->
176                 <repository>
177                         <id>opendaylight-release</id>
178                         <url>${nexusproxy}/repositories/opendaylight.release/</url>
179                 </repository>
180                 <!-- OpenDayLight Snapshot artifact -->
181                 <snapshotRepository>
182                         <id>opendaylight-snapshot</id>
183                         <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
184                 </snapshotRepository>
185                 <site>
186                         <id>${project.artifactId}-site</id>
187                         <url>./</url>
188                 </site>
189         </distributionManagement>
190
191         <build>
192                 <plugins>
193                         <plugin>
194                                 <groupId>org.apache.maven.plugins</groupId>
195                                 <artifactId>maven-compiler-plugin</artifactId>
196                                 <version>${maven.compiler.version}</version>
197                                 <configuration>
198                                         <source>${java.version.source}</source>
199                                         <target>${java.version.target}</target>
200                                         <testSource>${java.version.source}</testSource>
201                                         <testTarget>${java.version.target}</testTarget>
202                                 </configuration>
203                         </plugin>
204                         <plugin>
205                                 <groupId>org.apache.maven.plugins</groupId>
206                                 <artifactId>maven-surefire-plugin</artifactId>
207                                 <version>${surefire.version}</version>
208                                 <configuration>
209                                         <redirectTestOutputToFile>true</redirectTestOutputToFile>
210                                         <!--parallel>classes</parallel>
211                                         <forkCount>1C</forkCount>
212                                         <reuseForks>false</reuseForks>
213                                         <perCoreThreadCount>true</perCoreThreadCount-->
214                                         <threadCount>1</threadCount>
215                                 </configuration>
216                         </plugin>
217
218                         <plugin>
219                                 <groupId>org.apache.maven.plugins</groupId>
220                                 <artifactId>maven-dependency-plugin</artifactId>
221                                 <version>${dependency.version}</version>
222                                 <configuration>
223                                         <failOnWarning>true</failOnWarning>
224                                         <ignoreNonCompile>true</ignoreNonCompile>
225                                 </configuration>
226                         </plugin>
227             <plugin>
228                 <!-- Let eclipse know about the generated sources -->
229                 <groupId>org.codehaus.mojo</groupId>
230                 <artifactId>build-helper-maven-plugin</artifactId>
231                                 <version>1.8</version>
232                 <executions>
233                     <execution>
234                         <phase>generate-sources</phase>
235                         <goals>
236                             <goal>add-source</goal>
237                         </goals>
238                         <configuration>
239                             <sources>
240                                 <source>target/generated-sources/sal</source>
241                                 <source>target/generated-sources/config</source>
242                             </sources>
243                         </configuration>
244                     </execution>
245                 </executions>
246             </plugin>
247                 </plugins>
248                 <pluginManagement>
249                         <plugins>
250                                 <!--This plugin's configuration is used to store Eclipse m2e settings
251                                         only. It has no influence on the Maven build itself. -->
252                                 <plugin>
253                                         <groupId>org.eclipse.m2e</groupId>
254                                         <artifactId>lifecycle-mapping</artifactId>
255                                         <version>1.0.0</version>
256                                         <configuration>
257                                                 <lifecycleMappingMetadata>
258                                                         <pluginExecutions>
259                                                                 <pluginExecution>
260                                                                         <pluginExecutionFilter>
261                                                                                 <groupId>pl.project13.maven</groupId>
262                                                                                 <artifactId>git-commit-id-plugin</artifactId>
263                                                                                 <versionRange>[2.1.4,)</versionRange>
264                                                                                 <goals>
265                                                                                         <goal>revision</goal>
266                                                                                 </goals>
267                                                                         </pluginExecutionFilter>
268                                                                         <action>
269                                                                                 <ignore></ignore>
270                                                                         </action>
271                                                                 </pluginExecution>
272                                 <pluginExecution>
273                                     <pluginExecutionFilter>
274                                         <groupId>org.opendaylight.yangtools</groupId>
275                                         <artifactId>yang-maven-plugin</artifactId>
276                                         <versionRange>[0.5,)</versionRange>
277                                         <goals>
278                                             <goal>generate-sources</goal>
279                                         </goals>
280                                     </pluginExecutionFilter>
281                                     <action>
282                                         <ignore></ignore>
283                                     </action>
284                                 </pluginExecution>
285                                                         </pluginExecutions>
286                                                 </lifecycleMappingMetadata>
287                                         </configuration>
288                                 </plugin>
289                         </plugins>
290                 </pluginManagement>
291         </build>
292
293         <repositories>
294                 <repository>
295                         <id>opendaylight-release</id>
296                         <name>opendaylight-release</name>
297                         <url>${nexusproxy}/repositories/opendaylight.release/</url>
298                 </repository>
299                 <repository>
300                         <id>opendaylight-snapshot</id>
301                         <name>opendaylight-snapshot</name>
302                         <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
303                 </repository>
304         </repositories>
305
306         <pluginRepositories>
307                 <pluginRepository>
308                         <id>opendaylight-release</id>
309                         <name>opendaylight-release</name>
310                         <url>${nexusproxy}/repositories/opendaylight.release/</url>
311                 </pluginRepository>
312                 <pluginRepository>
313                         <id>opendaylight-snapshot</id>
314                         <name>opendaylight-snapshot</name>
315                         <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
316                 </pluginRepository>
317         </pluginRepositories>
318 </project>