Fail build if classpath contains duplicates
[odlparent.git] / features-test / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright © 2014, 2017 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"
11     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12
13     <parent>
14         <groupId>org.opendaylight.odlparent</groupId>
15         <artifactId>bundle-parent</artifactId>
16         <version>3.0.0-SNAPSHOT</version>
17         <relativePath>../bundle-parent</relativePath>
18     </parent>
19
20     <modelVersion>4.0.0</modelVersion>
21     <artifactId>features-test</artifactId>
22     <packaging>bundle</packaging>
23     <name>ODL :: odlparent :: ${project.artifactId}</name>
24
25     <dependencies>
26         <!-- Dependencies for pax exam karaf container -->
27         <dependency>
28             <groupId>org.ops4j.pax.exam</groupId>
29             <artifactId>pax-exam-container-karaf</artifactId>
30             <scope>compile</scope>
31         </dependency>
32         <dependency>
33             <groupId>org.ops4j.pax.exam</groupId>
34             <artifactId>pax-exam-junit4</artifactId>
35             <scope>compile</scope>
36         </dependency>
37         <dependency>
38             <groupId>org.ops4j.pax.exam</groupId>
39             <artifactId>pax-exam</artifactId>
40             <scope>compile</scope>
41         </dependency>
42         <dependency>
43             <groupId>org.ops4j.pax.url</groupId>
44             <artifactId>pax-url-aether</artifactId>
45             <scope>compile</scope>
46         </dependency>
47         <dependency>
48             <groupId>org.apache.karaf.features</groupId>
49             <artifactId>standard</artifactId>
50             <version>${karaf.version}</version>
51             <classifier>features</classifier>
52             <type>xml</type>
53         </dependency>
54         <dependency>
55             <groupId>junit</groupId>
56             <artifactId>junit</artifactId>
57             <scope>compile</scope>
58         </dependency>
59         <dependency>
60             <groupId>org.apache.karaf.deployer</groupId>
61             <artifactId>org.apache.karaf.deployer.blueprint</artifactId>
62             <version>${karaf.version}</version>
63             <scope>compile</scope>
64         </dependency>
65         <dependency>
66             <groupId>org.apache.karaf.deployer</groupId>
67             <artifactId>org.apache.karaf.deployer.features</artifactId>
68             <version>${karaf.version}</version>
69             <scope>compile</scope>
70         </dependency>
71         <dependency>
72             <groupId>org.ops4j.pax.url</groupId>
73             <artifactId>pax-url-wrap</artifactId>
74             <scope>compile</scope>
75         </dependency>
76         <dependency>
77             <groupId>org.slf4j</groupId>
78             <artifactId>slf4j-api</artifactId>
79             <scope>compile</scope>
80         </dependency>
81         <dependency>
82             <groupId>javax.inject</groupId>
83             <artifactId>javax.inject</artifactId>
84             <scope>compile</scope>
85         </dependency>
86         <dependency>
87             <groupId>org.osgi</groupId>
88             <artifactId>org.osgi.core</artifactId>
89             <scope>compile</scope>
90         </dependency>
91         <dependency>
92             <groupId>org.opendaylight.odlparent</groupId>
93             <artifactId>opendaylight-karaf-empty</artifactId>
94             <type>zip</type>
95             <exclusions>
96               <exclusion>
97                 <groupId>*</groupId>
98                 <artifactId>*</artifactId>
99               </exclusion>
100             </exclusions>
101         </dependency>
102         <!-- BEWARE of adding additional dependencies here...
103              It will cause weird issues e.g. in integration/distribution/features/repos/distribution -->
104         <dependency>
105           <groupId>org.opendaylight.odlparent</groupId>
106           <artifactId>karaf-util</artifactId>
107           <version>${project.version}</version>
108         </dependency>
109         <dependency>
110             <groupId>${project.groupId}</groupId>
111             <artifactId>bundles4-test</artifactId>
112             <version>${project.version}</version>
113             <scope>provided</scope>
114         </dependency>
115         <dependency>
116             <groupId>org.apache.karaf.bundle</groupId>
117             <artifactId>org.apache.karaf.bundle.core</artifactId>
118             <version>${karaf.version}</version>
119             <scope>provided</scope>
120         </dependency>
121         <dependency>
122           <groupId>com.google.guava</groupId>
123           <artifactId>guava</artifactId>
124           <scope>compile</scope>
125         </dependency>
126         <!-- The following, which are just transitive dependencies of bundles4-test,
127              have to be repeated here so that the Embed-Dependency below for maven-bundle-plugin works: -->
128         <dependency>
129           <groupId>org.hamcrest</groupId>
130           <artifactId>hamcrest-core</artifactId>
131           <scope>provided</scope>
132         </dependency>
133         <dependency>
134           <groupId>org.awaitility</groupId>
135           <artifactId>awaitility</artifactId>
136           <scope>provided</scope>
137           <exclusions>
138             <exclusion>
139               <groupId>cglib</groupId>
140               <artifactId>cglib-nodep</artifactId>
141             </exclusion>
142             <exclusion>
143               <groupId>org.objenesis</groupId>
144               <artifactId>objenesis</artifactId>
145             </exclusion>
146           </exclusions>
147         </dependency>
148         <!-- Real <scope>test dependencies, just for SingleFeatureTestUnitTest -->
149         <dependency>
150           <groupId>com.google.truth</groupId>
151           <artifactId>truth</artifactId>
152           <scope>test</scope>
153         </dependency>
154     </dependencies>
155
156     <build>
157         <resources>
158             <resource>
159                 <directory>src/main/resources</directory>
160                 <filtering>true</filtering>
161             </resource>
162         </resources>
163         <plugins>
164             <plugin>
165                 <groupId>org.apache.felix</groupId>
166                 <artifactId>maven-bundle-plugin</artifactId>
167                 <configuration>
168                   <instructions>
169                     <Embed-Dependency>bundles4-test;inline=true,awaitility;inline=true,hamcrest-core;inline=true</Embed-Dependency>
170                     <!-- same as in bundles4-test/pom.xml: -->
171                     <Import-Package>!net.sf.cglib.proxy,!org.objenesis,*</Import-Package>
172                   </instructions>
173                 </configuration>
174             </plugin>
175             <plugin>
176                 <artifactId>maven-checkstyle-plugin</artifactId>
177                 <configuration>
178                     <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
179                 </configuration>
180                 <executions>
181                     <execution>
182                         <id>check-license</id>
183                         <configuration>
184                             <excludes>
185                                 <!-- Skip Apache Licensed files -->
186                                 org/opendaylight/odlparent/featuretest/CustomBundleUrlStreamHandlerFactory.java
187                             </excludes>
188                         </configuration>
189                     </execution>
190                 </executions>
191             </plugin>
192         </plugins>
193     </build>
194
195   <!--
196     Maven Site Configuration
197
198     The following configuration is necessary for maven-site-plugin to
199     correctly identify the correct deployment path for OpenDaylight Maven
200     sites.
201   -->
202   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
203
204   <distributionManagement>
205     <site>
206       <id>opendaylight-site</id>
207       <url>${nexus.site.url}/${project.artifactId}/</url>
208     </site>
209   </distributionManagement>
210 </project>