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>1.9.1-SNAPSHOT</version>
18 <relativePath>../../odlparent</relativePath>
21 <groupId>org.opendaylight.odlparent</groupId>
22 <artifactId>karaf4-parent</artifactId>
23 <version>1.9.1-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>
32 <dependencyManagement>
35 <groupId>org.apache.karaf.features</groupId>
36 <artifactId>framework</artifactId>
37 <version>${karaf4.version}</version>
41 <groupId>org.apache.karaf.features</groupId>
42 <artifactId>framework</artifactId>
43 <version>${karaf4.version}</version>
44 <classifier>features</classifier>
48 <groupId>org.apache.karaf.features</groupId>
49 <artifactId>standard</artifactId>
50 <version>${karaf4.version}</version>
51 <classifier>features</classifier>
55 </dependencyManagement>
59 <groupId>org.apache.karaf.features</groupId>
60 <artifactId>framework</artifactId>
64 <groupId>org.apache.karaf.features</groupId>
65 <artifactId>framework</artifactId>
66 <classifier>features</classifier>
68 <scope>runtime</scope>
71 <groupId>org.apache.karaf.features</groupId>
72 <artifactId>standard</artifactId>
73 <classifier>features</classifier>
75 <scope>runtime</scope>
78 <groupId>org.apache.aries.quiesce</groupId>
79 <artifactId>org.apache.aries.quiesce.api</artifactId>
82 <groupId>org.osgi</groupId>
83 <!-- for https://bugs.opendaylight.org/show_bug.cgi?id=4290 -->
84 <artifactId>org.osgi.service.event</artifactId>
89 <groupId>org.opendaylight.odlparent</groupId>
90 <artifactId>karaf.branding</artifactId>
92 <!-- ODL configuration -->
94 <groupId>org.opendaylight.odlparent</groupId>
95 <artifactId>opendaylight-karaf4-resources</artifactId>
102 <artifactId>maven-resources-plugin</artifactId>
105 <id>process-resources</id>
107 <goal>resources</goal>
113 <artifactId>maven-remote-resources-plugin</artifactId>
119 <groupId>org.apache.maven.plugins</groupId>
120 <artifactId>maven-dependency-plugin</artifactId>
127 <phase>prepare-package</phase>
131 <groupId>org.opendaylight.odlparent</groupId>
132 <artifactId>karaf.branding</artifactId>
133 <version>1.9.1-SNAPSHOT</version>
134 <outputDirectory>target/assembly/lib</outputDirectory>
135 <destFileName>karaf.branding-1.9.1-SNAPSHOT.jar</destFileName>
141 <id>unpack-karaf-resources</id>
143 <goal>unpack-dependencies</goal>
145 <phase>prepare-package</phase>
147 <outputDirectory>${project.build.directory}/assembly</outputDirectory>
148 <groupId>org.opendaylight.odlparent</groupId>
149 <includeArtifactIds>opendaylight-karaf4-resources</includeArtifactIds>
150 <excludes>META-INF\/**</excludes>
151 <excludeTransitive>true</excludeTransitive>
152 <ignorePermissions>false</ignorePermissions>
156 <id>org.ops4j.pax.url.mvn.cfg</id>
160 <phase>prepare-package</phase>
164 <groupId>org.opendaylight.odlparent</groupId>
165 <artifactId>opendaylight-karaf4-resources</artifactId>
166 <type>properties</type>
167 <classifier>config</classifier>
168 <overWrite>true</overWrite>
169 <outputDirectory>${project.build.directory}/assembly/etc/</outputDirectory>
170 <destFileName>org.ops4j.pax.url.mvn.cfg</destFileName>
173 <overWriteReleases>true</overWriteReleases>
174 <overWriteSnapshots>true</overWriteSnapshots>
180 <!-- This needs to execute before patching, otherwise the feature will be left unpatched -->
182 <groupId>org.opendaylight.odlparent</groupId>
183 <artifactId>karaf4-plugin</artifactId>
184 <version>1.9.1-SNAPSHOT</version>
187 <id>populate-local-repo</id>
189 <goal>populate-local-repo</goal>
192 <localRepo>${project.build.directory}/assembly/system</localRepo>
198 <artifactId>maven-antrun-plugin</artifactId>
201 <id>patch-karaf-scripts</id>
202 <phase>prepare-package</phase>
208 <!-- Patches only work with LF line endings from ant -->
209 <fixcrlf srcdir="${project.build.directory}/assembly/bin"
210 includes="*.bat" eol="lf"/>
211 <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.patch"
212 originalfile="${project.build.directory}/assembly/bin/instance"
214 <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.bat.patch"
215 originalfile="${project.build.directory}/assembly/bin/instance.bat"
216 failonerror="true" ignorewhitespace="true"/>
217 <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf-${karaf4.version}.patch"
218 originalfile="${project.build.directory}/assembly/bin/karaf"
220 <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf.bat.patch"
221 originalfile="${project.build.directory}/assembly/bin/karaf.bat"
223 <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv-${karaf4.version}.patch"
224 originalfile="${project.build.directory}/assembly/bin/setenv"
226 <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv.bat.patch"
227 originalfile="${project.build.directory}/assembly/bin/setenv.bat"
229 <patch patchfile="${project.build.directory}/assembly/patches/karaf-quiesce-${karaf4.version}.patch"
230 originalfile="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf4.version}/standard-${karaf4.version}-features.xml"
232 <patch patchfile="${project.build.directory}/assembly/patches/karaf-javax-mail-${karaf4.version}.patch"
233 originalfile="${project.build.directory}/assembly/system/org/apache/karaf/features/standard/${karaf4.version}/standard-${karaf4.version}-features.xml"
235 <patch patchfile="${project.build.directory}/assembly/patches/karaf-paxweb.patch"
236 originalfile="${project.build.directory}/assembly/system/org/ops4j/pax/web/pax-web-features/4.3.0/pax-web-features-4.3.0-features.xml"
238 <patch patchfile="${project.build.directory}/assembly/patches/karaf-etc-startup-properties-4.0.9.patch"
239 originalfile="${project.build.directory}/assembly/etc/startup.properties"
241 <fixcrlf srcdir="${project.build.directory}/assembly/bin"
242 includes="*.bat" eol="crlf"/>
243 <echo file="${project.build.directory}/assembly/etc/system.properties" append="true">mvn\:org.osgi/org.osgi.service.event/1.3.1 = 8</echo>
250 <groupId>org.apache.karaf.tooling</groupId>
251 <artifactId>karaf-maven-plugin</artifactId>
252 <version>${karaf4.plugin.version}</version>
255 <id>process-resources</id>
256 <phase>process-resources</phase>
258 <goal>assembly</goal>
270 <feature>wrapper</feature>
273 <feature>standard</feature>
274 <!-- We load wrap as a workaround to handle old features without the wrap prerequisite -->
275 <!-- TODO Remove this once all the downstream features are fixed -->
276 <feature>wrap</feature>
277 <!-- Local feature if any -->
278 <feature>${karaf.localFeature}</feature>