Remove duplicate BC provider jars
[odlparent.git] / karaf / karaf4-parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  Copyright © 2016 Red Hat, Inc. and others.  All rights reserved.
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  and is available at http://www.eclipse.org/legal/epl-v10.html
8  -->
9 <project xmlns="http://maven.apache.org/POM/4.0.0"
10          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     <modelVersion>4.0.0</modelVersion>
13
14     <parent>
15         <groupId>org.opendaylight.odlparent</groupId>
16         <artifactId>odlparent</artifactId>
17         <version>4.0.8-SNAPSHOT</version>
18         <relativePath>../../odlparent</relativePath>
19     </parent>
20
21     <groupId>org.opendaylight.odlparent</groupId>
22     <artifactId>karaf4-parent</artifactId>
23     <version>4.0.8-SNAPSHOT</version>
24     <packaging>pom</packaging>
25     <name>ODL :: odlparent :: ${project.artifactId}</name>
26
27     <properties>
28         <!-- Projects can override this to add their own boot feature -->
29         <karaf.localFeature>standard</karaf.localFeature>
30         <karaf.archiveZip>true</karaf.archiveZip>
31         <karaf.archiveTarGz>true</karaf.archiveTarGz>
32     </properties>
33
34     <dependencyManagement>
35         <dependencies>
36             <dependency>
37                 <groupId>org.apache.karaf.features</groupId>
38                 <artifactId>framework</artifactId>
39                 <version>${karaf.version}</version>
40                 <type>kar</type>
41             </dependency>
42             <dependency>
43                 <groupId>org.apache.karaf.features</groupId>
44                 <artifactId>framework</artifactId>
45                 <version>${karaf.version}</version>
46                 <classifier>features</classifier>
47                 <type>xml</type>
48             </dependency>
49             <dependency>
50                 <groupId>org.apache.karaf.features</groupId>
51                 <artifactId>standard</artifactId>
52                 <version>${karaf.version}</version>
53                 <classifier>features</classifier>
54                 <type>xml</type>
55             </dependency>
56         </dependencies>
57     </dependencyManagement>
58
59     <dependencies>
60         <dependency>
61             <groupId>org.apache.karaf.features</groupId>
62             <artifactId>framework</artifactId>
63             <type>kar</type>
64         </dependency>
65         <dependency>
66             <groupId>org.apache.karaf.features</groupId>
67             <artifactId>framework</artifactId>
68             <classifier>features</classifier>
69             <type>xml</type>
70             <scope>runtime</scope>
71         </dependency>
72         <dependency>
73             <groupId>org.apache.karaf.features</groupId>
74             <artifactId>standard</artifactId>
75             <classifier>features</classifier>
76             <type>xml</type>
77             <scope>runtime</scope>
78         </dependency>
79         <dependency>
80             <groupId>org.apache.aries.quiesce</groupId>
81             <artifactId>org.apache.aries.quiesce.api</artifactId>
82         </dependency>
83         <dependency>
84             <groupId>org.osgi</groupId>
85             <!-- for https://bugs.opendaylight.org/show_bug.cgi?id=4290 -->
86             <artifactId>org.osgi.service.event</artifactId>
87         </dependency>
88         <dependency>
89             <groupId>org.bouncycastle</groupId>
90             <artifactId>bcpkix-jdk15on</artifactId>
91         </dependency>
92         <dependency>
93             <groupId>org.bouncycastle</groupId>
94             <artifactId>bcprov-ext-jdk15on</artifactId>
95         </dependency>
96
97         <!-- Optional dependency of karaf.config.core -->
98         <dependency>
99             <groupId>org.apache.felix</groupId>
100             <artifactId>org.apache.felix.metatype</artifactId>
101         </dependency>
102
103         <!-- ODL Branding -->
104         <dependency>
105             <groupId>org.opendaylight.odlparent</groupId>
106             <artifactId>karaf.branding</artifactId>
107         </dependency>
108         <!-- ODL configuration -->
109         <dependency>
110             <groupId>org.opendaylight.odlparent</groupId>
111             <artifactId>opendaylight-karaf-resources</artifactId>
112         </dependency>
113
114         <!-- Patched dependencies (see opendaylight-karaf-resources) -->
115         <dependency>
116             <groupId>org.ow2.asm</groupId>
117             <artifactId>asm-all</artifactId>
118             <version>5.0.4</version>
119             <scope>provided</scope>
120         </dependency>
121         <dependency>
122             <groupId>commons-collections</groupId>
123             <artifactId>commons-collections</artifactId>
124             <version>3.2.2</version>
125             <scope>provided</scope>
126         </dependency>
127         <dependency>
128             <groupId>javax.mail</groupId>
129             <artifactId>mail</artifactId>
130             <version>1.4.4</version>
131             <scope>provided</scope>
132         </dependency>
133     </dependencies>
134
135     <build>
136         <plugins>
137             <plugin>
138                 <artifactId>maven-remote-resources-plugin</artifactId>
139                 <configuration>
140                     <skip>true</skip>
141                 </configuration>
142             </plugin>
143             <plugin>
144                 <groupId>org.opendaylight.odlparent</groupId>
145                 <artifactId>karaf-plugin</artifactId>
146                 <version>4.0.8-SNAPSHOT</version>
147                 <executions>
148                     <execution>
149                         <id>populate-local-repo</id>
150                         <phase>prepare-package</phase>
151                         <goals>
152                             <goal>populate-local-repo</goal>
153                         </goals>
154                         <configuration>
155                             <localRepo>${project.build.directory}/assembly/system</localRepo>
156                         </configuration>
157                     </execution>
158                 </executions>
159             </plugin>
160             <plugin>
161                 <groupId>org.apache.maven.plugins</groupId>
162                 <artifactId>maven-dependency-plugin</artifactId>
163                 <executions>
164                     <execution>
165                         <id>copy</id>
166                         <goals>
167                             <goal>copy</goal>
168                         </goals>
169                         <phase>prepare-package</phase>
170                         <configuration>
171                             <artifactItems>
172                                 <artifactItem>
173                                     <groupId>org.opendaylight.odlparent</groupId>
174                                     <artifactId>karaf.branding</artifactId>
175                                     <version>4.0.8-SNAPSHOT</version>
176                                     <outputDirectory>target/assembly/lib</outputDirectory>
177                                     <destFileName>karaf.branding-3.0.0-SNAPSHOT.jar</destFileName>
178                                 </artifactItem>
179                             </artifactItems>
180                         </configuration>
181                     </execution>
182                     <execution>
183                         <id>unpack-karaf-resources</id>
184                         <goals>
185                             <goal>unpack-dependencies</goal>
186                         </goals>
187                         <phase>prepare-package</phase>
188                         <configuration>
189                             <outputDirectory>${project.build.directory}/assembly</outputDirectory>
190                             <groupId>org.opendaylight.odlparent</groupId>
191                             <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
192                             <excludes>META-INF\/**</excludes>
193                             <excludeTransitive>true</excludeTransitive>
194                             <ignorePermissions>false</ignorePermissions>
195                         </configuration>
196                     </execution>
197                     <execution>
198                         <id>org.ops4j.pax.url.mvn.cfg</id>
199                         <goals>
200                             <goal>copy</goal>
201                         </goals>
202                         <phase>prepare-package</phase>
203                         <configuration>
204                             <artifactItems>
205                                 <artifactItem>
206                                     <groupId>org.opendaylight.odlparent</groupId>
207                                     <artifactId>opendaylight-karaf-resources</artifactId>
208                                     <type>properties</type>
209                                     <classifier>config</classifier>
210                                     <overWrite>true</overWrite>
211                                     <outputDirectory>${project.build.directory}/assembly/etc/</outputDirectory>
212                                     <destFileName>org.ops4j.pax.url.mvn.cfg</destFileName>
213                                 </artifactItem>
214                             </artifactItems>
215                             <overWriteReleases>true</overWriteReleases>
216                             <overWriteSnapshots>true</overWriteSnapshots>
217                         </configuration>
218                     </execution>
219                 </executions>
220             </plugin>
221             <plugin>
222                 <artifactId>maven-resources-plugin</artifactId>
223                 <executions>
224                     <execution>
225                         <id>copy-resources</id>
226                         <phase>prepare-package</phase>
227                         <goals>
228                             <goal>copy-resources</goal>
229                         </goals>
230                         <configuration>
231                             <outputDirectory>${basedir}/target/assembly</outputDirectory>
232                             <resources>
233                                 <resource>
234                                     <directory>src/main/assembly</directory>
235                                 </resource>
236                             </resources>
237                             <overwrite>true</overwrite>
238                         </configuration>
239                     </execution>
240                     <execution>
241                         <id>process-resources</id>
242                         <goals>
243                             <goal>resources</goal>
244                         </goals>
245                     </execution>
246                 </executions>
247             </plugin>
248             <plugin>
249                 <artifactId>maven-antrun-plugin</artifactId>
250                 <executions>
251                     <execution>
252                         <id>fix-permissions</id>
253                         <phase>prepare-package</phase>
254                         <goals>
255                             <goal>run</goal>
256                         </goals>
257                         <configuration>
258                             <target>
259                                 <chmod perm="755">
260                                     <fileset dir="${project.build.directory}/assembly/bin">
261                                         <!-- Ensure that all the shell scripts are executable -->
262                                         <exclude name="*.bat"/>
263                                         <exclude name="contrib/*"/>
264                                     </fileset>
265                                 </chmod>
266                             </target>
267                         </configuration>
268                     </execution>
269                 </executions>
270             </plugin>
271             <plugin>
272                 <groupId>org.apache.karaf.tooling</groupId>
273                 <artifactId>karaf-maven-plugin</artifactId>
274                 <!-- Revert to ${karaf.version} once the POM deployment issue is fixed -->
275                 <version>4.2.1</version>
276                 <executions>
277                     <execution>
278                         <id>process-resources</id>
279                         <phase>process-resources</phase>
280                         <goals>
281                             <goal>assembly</goal>
282                         </goals>
283                     </execution>
284                     <execution>
285                         <id>package</id>
286                         <goals>
287                             <goal>archive</goal>
288                         </goals>
289                     </execution>
290                 </executions>
291                 <configuration>
292                     <installedFeatures>
293                         <feature>wrapper</feature>
294                     </installedFeatures>
295                     <bootFeatures>
296                         <feature>standard</feature>
297                         <!-- Features always assumed to be present. Keep in sync with feature parent exclusions. -->
298                         <feature>ssh</feature>
299                         <!-- Local feature if any -->
300                         <feature>${karaf.localFeature}</feature>
301                     </bootFeatures>
302                     <javase>1.8</javase>
303                     <archiveTarGz>${karaf.archiveTarGz}</archiveTarGz>
304                     <archiveZip>${karaf.archiveZip}</archiveZip>
305                 </configuration>
306             </plugin>
307         </plugins>
308     </build>
309 </project>