22ced656dd6313a5db043a090b078f7fb58ffe38
[l2switch.git] / parent / 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"
3          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4   <modelVersion>4.0.0</modelVersion>
5   <parent>
6     <groupId>org.opendaylight.odlparent</groupId>
7     <artifactId>odlparent</artifactId>
8     <version>1.5.0-SNAPSHOT</version>
9     <relativePath/>
10   </parent>
11   <groupId>org.opendaylight.l2switch</groupId>
12   <artifactId>l2switch-parent</artifactId>
13   <version>0.2.0-SNAPSHOT</version>
14   <packaging>pom</packaging>
15
16   <properties>
17     <codeGeneratorPath>src/main/yang-gen-code</codeGeneratorPath>
18     <configCodeGeneratorPath>src/main/yang-gen-config</configCodeGeneratorPath>
19     <nexus_proxy>http://nexus.opendaylight.org/content</nexus_proxy>
20     <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
21     <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
22     <jung2.version>2.0.1</jung2.version>
23     <config.version>0.3.0-SNAPSHOT</config.version>
24     <openflow.plugin.version>0.1.0-SNAPSHOT</openflow.plugin.version>
25     <dlux.version>0.2.0-SNAPSHOT</dlux.version>
26     <config.configfile.directory>etc/opendaylight/karaf</config.configfile.directory>
27     <config.packethandler.configfile>50-packethandler.xml</config.packethandler.configfile>
28     <config.loopremover.configfile>52-loopremover.xml</config.loopremover.configfile>
29     <config.arphandler.configfile>54-arphandler.xml</config.arphandler.configfile>
30     <config.addresstracker.configfile>56-addresstracker.xml</config.addresstracker.configfile>
31     <config.hosttracker.configfile>57-hosttracker.xml</config.hosttracker.configfile>
32     <config.l2switchmain.configfile>58-l2switchmain.xml</config.l2switchmain.configfile>
33   </properties>
34
35   <dependencyManagement>
36     <dependencies>
37       <dependency>
38         <groupId>org.opendaylight.yangtools</groupId>
39         <artifactId>yangtools-artifacts</artifactId>
40         <version>${yangtools.version}</version>
41         <scope>import</scope>
42         <type>pom</type>
43       </dependency>
44       <dependency>
45         <groupId>org.opendaylight.controller</groupId>
46         <artifactId>config-artifacts</artifactId>
47         <version>${config.version}</version>
48         <scope>import</scope>
49         <type>pom</type>
50       </dependency>
51       <dependency>
52         <groupId>org.opendaylight.controller</groupId>
53         <artifactId>mdsal-artifacts</artifactId>
54         <version>${mdsal.version}</version>
55         <scope>import</scope>
56         <type>pom</type>
57       </dependency>
58       <dependency>
59         <groupId>org.opendaylight.openflowplugin</groupId>
60         <artifactId>openflowplugin-artifacts</artifactId>
61         <version>${openflow.plugin.version}</version>
62         <scope>import</scope>
63         <type>pom</type>
64       </dependency>
65
66       <dependency>
67         <groupId>org.opendaylight.controller.thirdparty</groupId>
68         <artifactId>net.sf.jung2</artifactId>
69         <version>${jung2.version}</version>
70       </dependency>
71     </dependencies>
72   </dependencyManagement>
73
74   <repositories>
75     <!-- OpenDayLight Repo Mirror -->
76     <repository>
77       <id>opendaylight-mirror</id>
78       <name>opendaylight-mirror</name>
79       <url>http://nexus.opendaylight.org/content/groups/public/</url>
80       <snapshots>
81         <enabled>false</enabled>
82       </snapshots>
83       <releases>
84         <enabled>true</enabled>
85         <updatePolicy>never</updatePolicy>
86       </releases>
87     </repository>
88
89     <!-- OpenDayLight Snapshot artifact -->
90     <repository>
91       <id>opendaylight-snapshot</id>
92       <name>opendaylight-snapshot</name>
93       <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
94       <snapshots>
95         <enabled>true</enabled>
96       </snapshots>
97       <releases>
98         <enabled>false</enabled>
99       </releases>
100     </repository>
101
102   </repositories>
103
104   <distributionManagement>
105     <!-- OpenDayLight Released artifact -->
106     <repository>
107       <id>opendaylight-release</id>
108       <url>${nexusproxy}/repositories/opendaylight.release/</url>
109     </repository>
110     <!-- OpenDayLight Snapshot artifact -->
111     <snapshotRepository>
112       <id>opendaylight-snapshot</id>
113       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
114     </snapshotRepository>
115     <site>
116       <id>${project.artifactId}-site</id>
117       <url>./</url>
118     </site>
119   </distributionManagement>
120
121   <build>
122       <pluginManagement>
123           <plugins>
124               <plugin>
125                   <groupId>org.apache.maven.plugins</groupId>
126                   <artifactId>maven-compiler-plugin</artifactId>
127                   <version>${maven.compile.plugin.version}</version>
128                   <configuration>
129                       <source>${java.version.source}</source>
130                       <target>${java.version.target}</target>
131                   </configuration>
132               </plugin>
133
134               <plugin>
135                 <groupId>org.apache.maven.plugins</groupId>
136                 <artifactId>maven-checkstyle-plugin</artifactId>
137                 <version>${checkstyle.version}</version>
138                 <configuration>
139                   <failsOnError>true</failsOnError>
140                   <configLocation>controller/checkstyle.xml</configLocation>
141                   <consoleOutput>true</consoleOutput>
142                   <includeTestSourceDirectory>true</includeTestSourceDirectory>
143                   <sourceDirectory>${project.basedir}</sourceDirectory>
144                   <includes>**\/*.java,**\/*.yang,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat</includes>
145                   <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,\/,**\/xtend-gen\/,**\/yang-gen-code\/,**\/${codeGeneratorPath}\/,**\/${configCodeGeneratorPath}\/,</excludes>
146                 </configuration>
147                 <dependencies>
148                   <dependency>
149                     <groupId>org.opendaylight.controller</groupId>
150                     <artifactId>checkstyle</artifactId>
151                     <version>0.1.0-SNAPSHOT</version>
152                   </dependency>
153                 </dependencies>
154                 <executions>
155                   <execution>
156                     <id>check</id>
157                     <goals>
158                       <goal>check</goal>
159                     </goals>
160                     <phase>process-sources</phase>
161                   </execution>
162                 </executions>
163               </plugin>
164
165               <!--  tells eclipse to import these folders into the package explorer as "source" folders
166                     which allows eclipse to resolve the classes correctly during an eclipse build -->
167               <plugin>
168                   <groupId>org.codehaus.mojo</groupId>
169                   <artifactId>build-helper-maven-plugin</artifactId>
170                   <version>1.8</version>
171                   <executions>
172                       <execution>
173                           <id>add-source</id>
174                           <goals>
175                               <goal>add-source</goal>
176                           </goals>
177                           <phase>generate-sources</phase>
178                           <configuration>
179                               <sources>
180                                   <source>src/main/yang</source>
181                                   <source>${codeGeneratorPath}</source>
182                                   <source>${configCodeGeneratorPath}</source>
183                               </sources>
184                           </configuration>
185                       </execution>
186                   </executions>
187               </plugin>
188               <!--  cleans up auto generated code  -->
189               <plugin>
190                   <artifactId>maven-clean-plugin</artifactId>
191                   <configuration>
192                       <filesets>
193                           <fileset>
194                               <directory>${codeGeneratorPath}</directory>
195                               <directory>${configCodeGeneratorPath}</directory>
196                               <includes>
197                                   <include>**</include>
198                               </includes>
199                           </fileset>
200                       </filesets>
201                   </configuration>
202               </plugin>
203
204               <!-- Ignore/Execute plugin execution -->
205               <plugin>
206                   <groupId>org.eclipse.m2e</groupId>
207                   <artifactId>lifecycle-mapping</artifactId>
208                   <version>1.0.0</version>
209                   <configuration>
210                       <lifecycleMappingMetadata>
211                           <pluginExecutions>
212                               <pluginExecution>
213                                   <pluginExecutionFilter>
214                                       <groupId>org.codehaus.mojo</groupId>
215                                       <artifactId>properties-maven-plugin</artifactId>
216                                       <versionRange>[0.0,)</versionRange>
217                                       <goals>
218                                           <goal>set-system-properties</goal>
219                                       </goals>
220                                   </pluginExecutionFilter>
221                                   <action>
222                                       <ignore />
223                                   </action>
224                               </pluginExecution>
225                               <pluginExecution>
226                                   <pluginExecutionFilter>
227                                       <groupId>org.jacoco</groupId>
228                                       <artifactId>jacoco-maven-plugin</artifactId>
229                                       <versionRange>[0.0,)</versionRange>
230                                       <goals>
231                                           <goal>prepare-agent</goal>
232                                           <goal>pre-test</goal>
233                                           <goal>post-test</goal>
234                                       </goals>
235                                   </pluginExecutionFilter>
236                                   <action>
237                                       <ignore />
238                                   </action>
239                               </pluginExecution>
240                               <pluginExecution>
241                                   <pluginExecutionFilter>
242                                       <groupId>org.ops4j.pax.exam</groupId>
243                                       <artifactId>maven-paxexam-plugin</artifactId>
244                                       <versionRange>[1.2.4,)</versionRange>
245                                       <goals>
246                                           <goal>generate-depends-file</goal>
247                                       </goals>
248                                   </pluginExecutionFilter>
249                                   <action>
250                                       <execute>
251                                           <runOnIncremental>false</runOnIncremental>
252                                       </execute>
253                                   </action>
254                               </pluginExecution>
255                               <pluginExecution>
256                                   <pluginExecutionFilter>
257                                       <groupId>org.apache.maven.plugins</groupId>
258                                       <artifactId>maven-checkstyle-plugin</artifactId>
259                                       <versionRange>[2.0,)</versionRange>
260                                       <goals>
261                                           <goal>check</goal>
262                                       </goals>
263                                   </pluginExecutionFilter>
264                                   <action>
265                                       <ignore />
266                                   </action>
267                               </pluginExecution>
268                               <pluginExecution>
269                                   <pluginExecutionFilter>
270                                       <groupId>org.opendaylight.yangtools</groupId>
271                                       <artifactId>yang-maven-plugin</artifactId>
272                                       <versionRange>[0.5,)</versionRange>
273                                       <goals>
274                                           <goal>generate-sources</goal>
275                                       </goals>
276                                   </pluginExecutionFilter>
277                                   <action>
278                                       <execute />
279                                   </action>
280                               </pluginExecution>
281                               <pluginExecution>
282                                   <pluginExecutionFilter>
283                                       <groupId>org.codehaus.groovy.maven</groupId>
284                                       <artifactId>gmaven-plugin</artifactId>
285                                       <versionRange>1.0</versionRange>
286                                       <goals>
287                                           <goal>execute</goal>
288                                       </goals>
289                                   </pluginExecutionFilter>
290                                   <action>
291                                       <ignore />
292                                   </action>
293                               </pluginExecution>
294                               <pluginExecution>
295                                   <pluginExecutionFilter>
296                                       <groupId>org.apache.maven.plugins</groupId>
297                                       <artifactId>maven-enforcer-plugin</artifactId>
298                                       <versionRange>${enforcer.version}</versionRange>
299                                       <goals>
300                                           <goal>enforce</goal>
301                                       </goals>
302                                   </pluginExecutionFilter>
303                                   <action>
304                                       <ignore />
305                                   </action>
306                               </pluginExecution>
307                           </pluginExecutions>
308                       </lifecycleMappingMetadata>
309                   </configuration>
310               </plugin>
311           </plugins>
312       </pluginManagement>
313       <plugins>
314           <plugin>
315             <groupId>org.codehaus.mojo</groupId>
316             <artifactId>build-helper-maven-plugin</artifactId>
317           </plugin>
318           <plugin>
319               <groupId>org.apache.maven.plugins</groupId>
320               <artifactId>maven-checkstyle-plugin</artifactId>
321           </plugin>
322           <plugin>
323             <groupId>org.jacoco</groupId>
324             <artifactId>jacoco-maven-plugin</artifactId>
325             <configuration>
326               <includes>
327                 <include>org.opendaylight.l2switch.*</include>
328               </includes>
329             </configuration>
330             <executions>
331               <execution>
332                 <id>pre-test</id>
333                 <goals>
334                   <goal>prepare-agent</goal>
335                 </goals>
336               </execution>
337               <execution>
338                 <id>post-test</id>
339                 <goals>
340                   <goal>report</goal>
341                 </goals>
342                 <phase>test</phase>
343               </execution>
344             </executions>
345           </plugin>
346       </plugins>
347   </build>
348
349
350 </project>