1 <?xml version="1.0" encoding="UTF-8"?>
3 Copyright © 2016 Red Hat, Inc. and others. All rights reserved.
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
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>
15 <groupId>org.opendaylight.odlparent</groupId>
16 <artifactId>odlparent</artifactId>
17 <version>13.1.3-SNAPSHOT</version>
18 <relativePath>../../odlparent</relativePath>
21 <groupId>org.opendaylight.odlparent</groupId>
22 <artifactId>karaf4-parent</artifactId>
23 <version>13.1.3-SNAPSHOT</version>
24 <packaging>pom</packaging>
25 <name>ODL :: odlparent :: ${project.artifactId}</name>
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>
34 <dependencyManagement>
37 <groupId>org.apache.karaf.features</groupId>
38 <artifactId>framework</artifactId>
39 <version>${karaf.version}</version>
43 <groupId>org.apache.karaf.features</groupId>
44 <artifactId>framework</artifactId>
45 <version>${karaf.version}</version>
46 <classifier>features</classifier>
50 <groupId>org.apache.karaf.features</groupId>
51 <artifactId>standard</artifactId>
52 <version>${karaf.version}</version>
53 <classifier>features</classifier>
57 </dependencyManagement>
61 <groupId>org.apache.karaf.features</groupId>
62 <artifactId>framework</artifactId>
66 <groupId>org.apache.karaf.features</groupId>
67 <artifactId>framework</artifactId>
68 <classifier>features</classifier>
70 <scope>runtime</scope>
73 <groupId>org.apache.karaf.features</groupId>
74 <artifactId>standard</artifactId>
75 <classifier>features</classifier>
77 <scope>runtime</scope>
80 <groupId>org.apache.aries.quiesce</groupId>
81 <artifactId>org.apache.aries.quiesce.api</artifactId>
84 <groupId>org.osgi</groupId>
85 <!-- for https://jira.opendaylight.org/browse/ODLPARENT-24 -->
86 <artifactId>org.osgi.service.event</artifactId>
89 <!-- Optional dependency of karaf.config.core -->
91 <groupId>org.apache.felix</groupId>
92 <artifactId>org.apache.felix.metatype</artifactId>
97 <groupId>org.opendaylight.odlparent</groupId>
98 <artifactId>karaf.branding</artifactId>
100 <!-- ODL configuration -->
102 <groupId>org.opendaylight.odlparent</groupId>
103 <artifactId>opendaylight-karaf-resources</artifactId>
106 <!-- BouncyCastle Framework Extension Bundles -->
108 <groupId>org.opendaylight.odlparent</groupId>
109 <artifactId>bcpkix-framework-ext</artifactId>
110 <scope>runtime</scope>
113 <groupId>org.opendaylight.odlparent</groupId>
114 <artifactId>bcprov-framework-ext</artifactId>
115 <scope>runtime</scope>
118 <groupId>org.opendaylight.odlparent</groupId>
119 <artifactId>bcutil-framework-ext</artifactId>
120 <scope>runtime</scope>
128 <groupId>org.opendaylight.odlparent</groupId>
129 <artifactId>karaf-plugin</artifactId>
130 <version>13.1.3-SNAPSHOT</version>
137 <artifactId>maven-remote-resources-plugin</artifactId>
143 <groupId>org.apache.maven.plugins</groupId>
144 <artifactId>maven-dependency-plugin</artifactId>
147 <id>apply-branding</id>
151 <phase>prepare-package</phase>
155 <groupId>org.opendaylight.odlparent</groupId>
156 <artifactId>karaf.branding</artifactId>
157 <version>13.1.3-SNAPSHOT</version>
158 <outputDirectory>target/assembly/lib</outputDirectory>
159 <destFileName>karaf.branding-13.1.3-SNAPSHOT.jar</destFileName>
162 <silent>true</silent>
166 <id>unpack-karaf-resources</id>
168 <goal>unpack-dependencies</goal>
170 <phase>prepare-package</phase>
172 <outputDirectory>${project.build.directory}/assembly</outputDirectory>
173 <groupId>org.opendaylight.odlparent</groupId>
174 <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
175 <excludes>META-INF\/**</excludes>
176 <excludeTransitive>true</excludeTransitive>
177 <ignorePermissions>false</ignorePermissions>
178 <silent>true</silent>
182 <id>org.ops4j.pax.url.mvn.cfg</id>
186 <phase>prepare-package</phase>
190 <groupId>org.opendaylight.odlparent</groupId>
191 <artifactId>opendaylight-karaf-resources</artifactId>
192 <type>properties</type>
193 <classifier>config</classifier>
194 <overWrite>true</overWrite>
195 <outputDirectory>${project.build.directory}/assembly/etc/</outputDirectory>
196 <destFileName>org.ops4j.pax.url.mvn.cfg</destFileName>
199 <overWriteReleases>true</overWriteReleases>
200 <overWriteSnapshots>true</overWriteSnapshots>
206 <artifactId>maven-resources-plugin</artifactId>
209 <id>copy-resources</id>
210 <phase>prepare-package</phase>
212 <goal>copy-resources</goal>
215 <outputDirectory>${basedir}/target/assembly</outputDirectory>
218 <directory>src/main/assembly</directory>
221 <overwrite>true</overwrite>
225 <id>process-resources</id>
227 <goal>resources</goal>
233 <groupId>org.opendaylight.odlparent</groupId>
234 <artifactId>karaf-plugin</artifactId>
237 <id>populate-local-repo</id>
238 <phase>prepare-package</phase>
240 <goal>populate-local-repo</goal>
243 <localRepo>${project.build.directory}/assembly/system</localRepo>
249 <artifactId>maven-antrun-plugin</artifactId>
252 <id>remove-system-process-compile</id>
253 <phase>compile</phase>
258 <target xmlns:if="ant:if">
259 <!-- Check if pax-jdbc-features file exists -->
260 <condition property="pax.jdbc.exist" else="false">
261 <available type="file"
262 file="${project.build.directory}/assembly/system/org/ops4j/pax/jdbc/pax-jdbc-features/1.5.7/pax-jdbc-features-1.5.7-features.xml"/>
265 <!-- FIXME: ODLPARENT-311: Remove this when we require Java 21 runtime and upgrade to Derby 10.17.1.0+ -->
266 <!-- Remove Derby client jar-->
267 <replace if:true="${pax.jdbc.exist}" failOnNoReplacements="true" value=""
268 token="<bundle dependency="true">mvn:org.apache.derby/derbyclient/10.14.2.0</bundle>"
269 file="${project.build.directory}/assembly/system/org/ops4j/pax/jdbc/pax-jdbc-features/1.5.7/pax-jdbc-features-1.5.7-features.xml"/>
270 <replace if:true="${pax.jdbc.exist}" failOnNoReplacements="true" value=""
271 token="<bundle>mvn:org.ops4j.pax.jdbc/pax-jdbc-derbyclient/1.5.7</bundle>"
272 file="${project.build.directory}/assembly/system/org/ops4j/pax/jdbc/pax-jdbc-features/1.5.7/pax-jdbc-features-1.5.7-features.xml"/>
273 <!-- Remove Derby jar-->
274 <replace if:true="${pax.jdbc.exist}" failOnNoReplacements="true" value=""
275 token="<bundle dependency="true">mvn:org.apache.derby/derby/10.14.2.0</bundle>"
276 file="${project.build.directory}/assembly/system/org/ops4j/pax/jdbc/pax-jdbc-features/1.5.7/pax-jdbc-features-1.5.7-features.xml"/>
277 <replace if:true="${pax.jdbc.exist}" failOnNoReplacements="true" value=""
278 token="<bundle>mvn:org.ops4j.pax.jdbc/pax-jdbc-derby/1.5.7</bundle>"
279 file="${project.build.directory}/assembly/system/org/ops4j/pax/jdbc/pax-jdbc-features/1.5.7/pax-jdbc-features-1.5.7-features.xml"/>
284 <id>fix-permissions</id>
285 <phase>prepare-package</phase>
292 <fileset dir="${project.build.directory}/assembly/bin">
293 <!-- Ensure that all the shell scripts are executable -->
294 <exclude name="*.bat"/>
295 <exclude name="contrib/*"/>
302 <id>remove-system-bc</id>
303 <phase>prepare-package</phase>
309 <delete dir="${project.build.directory}/assembly/system/org/bouncycastle"
310 includeemptydirs="true" failonerror="true"/>
317 <groupId>org.apache.karaf.tooling</groupId>
318 <artifactId>karaf-maven-plugin</artifactId>
319 <version>${karaf.version}</version>
322 <id>process-resources</id>
323 <phase>process-resources</phase>
325 <goal>assembly</goal>
337 <feature>wrapper</feature>
340 <feature>standard</feature>
341 <!-- Features always assumed to be present. Keep in sync with feature parent exclusions. -->
342 <feature>ssh</feature>
343 <feature>scr</feature>
344 <!-- Local feature if any -->
345 <feature>${karaf.localFeature}</feature>
347 <javase>${maven.compiler.release}</javase>
348 <archiveTarGz>${karaf.archiveTarGz}</archiveTarGz>
349 <archiveZip>${karaf.archiveZip}</archiveZip>