7f835bd9d3a55f87f1a189bf063f0d9059bc153f
[controller.git] / opendaylight / md-sal / mdsal-it-parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4 Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
5
6 This program and the accompanying materials are made available under the
7 terms of the Eclipse Public License v1.0 which accompanies this distribution,
8 and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <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">
11   <modelVersion>4.0.0</modelVersion>
12
13   <parent>
14     <groupId>org.opendaylight.odlparent</groupId>
15     <artifactId>bundle-parent</artifactId>
16     <version>3.1.0</version>
17     <relativePath/>
18   </parent>
19
20   <groupId>org.opendaylight.controller</groupId>
21   <artifactId>mdsal-it-parent</artifactId>
22   <version>1.8.0-SNAPSHOT</version>
23   <packaging>pom</packaging>
24
25   <properties>
26     <mdsal.version>1.8.0-SNAPSHOT</mdsal.version>
27     <karaf.distro.groupId>org.opendaylight.odlparent</karaf.distro.groupId>
28     <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId>
29     <karaf.distro.version>3.1.0</karaf.distro.version>
30     <karaf.distro.type>zip</karaf.distro.type>
31     <karaf.keep.unpack>false</karaf.keep.unpack>
32   </properties>
33
34   <dependencyManagement>
35     <dependencies>
36       <dependency>
37         <groupId>org.opendaylight.controller</groupId>
38         <artifactId>mdsal-artifacts</artifactId>
39         <version>${mdsal.version}</version>
40         <type>pom</type>
41         <scope>import</scope>
42       </dependency>
43     </dependencies>
44   </dependencyManagement>
45
46   <dependencies>
47     <dependency>
48       <groupId>org.opendaylight.controller</groupId>
49       <artifactId>mdsal-it-base</artifactId>
50       <version>${mdsal.version}</version>
51     </dependency>
52
53     <!-- Dependencies for pax exam karaf container -->
54     <dependency>
55         <groupId>org.ops4j.pax.exam</groupId>
56         <artifactId>pax-exam-container-karaf</artifactId>
57     </dependency>
58     <dependency>
59         <groupId>org.ops4j.pax.exam</groupId>
60         <artifactId>pax-exam-junit4</artifactId>
61     </dependency>
62     <dependency>
63         <groupId>org.ops4j.pax.exam</groupId>
64         <artifactId>pax-exam</artifactId>
65     </dependency>
66     <dependency>
67         <groupId>org.ops4j.pax.exam</groupId>
68         <artifactId>pax-exam-features</artifactId>
69         <type>xml</type>
70
71         <!-- FIXME: remove version declaration and scope once odlparent has this -->
72         <version>${exam.version}</version>
73         <scope>test</scope>
74     </dependency>
75     <dependency>
76         <groupId>org.ops4j.pax.exam</groupId>
77         <artifactId>pax-exam-extender-service</artifactId>
78
79         <!-- FIXME: remove version declaration and scope once odlparent has this -->
80         <version>${exam.version}</version>
81         <scope>test</scope>
82     </dependency>
83     <dependency>
84         <groupId>org.ops4j.pax.exam</groupId>
85         <artifactId>pax-exam-inject</artifactId>
86
87         <!-- FIXME: remove version declaration and scope once odlparent has this -->
88         <version>${exam.version}</version>
89         <scope>test</scope>
90     </dependency>
91
92     <dependency>
93         <groupId>org.ops4j.pax.exam</groupId>
94         <artifactId>pax-exam-invoker-junit</artifactId>
95
96         <!-- FIXME: remove version declaration and scope once odlparent has this -->
97         <version>${exam.version}</version>
98         <scope>test</scope>
99     </dependency>
100
101     <dependency>
102         <groupId>org.ops4j.pax.url</groupId>
103         <artifactId>pax-url-aether</artifactId>
104     </dependency>
105     <dependency>
106         <groupId>javax.inject</groupId>
107         <artifactId>javax.inject</artifactId>
108         <version>1</version>
109     </dependency>
110     <dependency>
111         <groupId>org.apache.karaf.features</groupId>
112         <artifactId>org.apache.karaf.features.core</artifactId>
113         <version>${karaf.version}</version>
114     </dependency>
115     <dependency>
116         <groupId>org.osgi</groupId>
117         <artifactId>org.osgi.core</artifactId>
118     </dependency>
119     <dependency>
120         <groupId>junit</groupId>
121         <artifactId>junit</artifactId>
122     </dependency>
123
124     <!-- Testing Dependencies -->
125     <dependency>
126       <groupId>org.mockito</groupId>
127       <artifactId>mockito-core</artifactId>
128       <scope>test</scope>
129     </dependency>
130   </dependencies>
131   <build>
132     <plugins>
133       <plugin>
134           <artifactId>maven-surefire-plugin</artifactId>
135           <version>${maven.surefire.version}</version>
136           <configuration>
137               <systemPropertyVariables>
138                 <!-- CONTROLLER-1799: Use the same repository for Pax Exam as is used for Maven -->
139                 <org.ops4j.pax.url.mvn.localRepository>${settings.localRepository}</org.ops4j.pax.url.mvn.localRepository>
140               </systemPropertyVariables>
141           </configuration>
142       </plugin>
143       <plugin>
144         <groupId>org.apache.maven.plugins</groupId>
145         <artifactId>maven-failsafe-plugin</artifactId>
146         <executions>
147           <execution>
148             <goals>
149               <goal>integration-test</goal>
150               <goal>verify</goal>
151             </goals>
152             <configuration>
153               <systemProperties>
154                 <property>
155                  <name>karaf.distro.groupId</name>
156                  <value>${karaf.distro.groupId}</value>
157                 </property>
158                 <property>
159                  <name>karaf.distro.artifactId</name>
160                  <value>${karaf.distro.artifactId}</value>
161                 </property>
162                 <property>
163                  <name>karaf.distro.version</name>
164                  <value>${karaf.distro.version}</value>
165                 </property>
166                 <property>
167                  <name>karaf.distro.type</name>
168                  <value>${karaf.distro.type}</value>
169                 </property>
170                 <property>
171                  <name>karaf.keep.unpack</name>
172                  <value>${karaf.keep.unpack}</value>
173                 </property>
174               </systemProperties>
175               <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
176             </configuration>
177           </execution>
178         </executions>
179       </plugin>
180       <!-- Needed if you use versionAsInProject() -->
181       <plugin>
182           <groupId>org.apache.servicemix.tooling</groupId>
183           <artifactId>depends-maven-plugin</artifactId>
184           <executions>
185               <execution>
186                   <id>generate-depends-file</id>
187                   <goals>
188                       <goal>generate-depends-file</goal>
189                   </goals>
190               </execution>
191           </executions>
192       </plugin>
193
194       <!-- Copy the Base Test classes into test-classes so they can become available in the karaf container -->
195       <plugin>
196         <groupId>org.apache.maven.plugins</groupId>
197         <artifactId>maven-dependency-plugin</artifactId>
198         <executions>
199           <execution>
200            <id>unpack-karaf-resources</id>
201            <goals>
202             <goal>unpack-dependencies</goal>
203            </goals>
204            <phase>process-test-resources</phase>
205            <configuration>
206             <outputDirectory>${project.build.directory}/test-classes</outputDirectory>
207             <groupId>org.opendaylight.controller</groupId>
208             <includeArtifactIds>mockito-core,objenesis,config-it-base,mdsal-it-base</includeArtifactIds>
209             <excludes>META-INF\/**</excludes>
210             <ignorePermissions>false</ignorePermissions>
211            </configuration>
212           </execution>
213          </executions>
214       </plugin>
215     </plugins>
216   </build>
217 </project>