BUG-4219: eliminate odlparent-version
[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>1.8.0-SNAPSHOT</version>
18         <relativePath>../../odlparent</relativePath>
19     </parent>
20
21     <groupId>org.opendaylight.odlparent</groupId>
22     <artifactId>karaf4-parent</artifactId>
23     <version>1.8.0-SNAPSHOT</version>
24     <packaging>pom</packaging>
25
26     <dependencyManagement>
27         <dependencies>
28             <dependency>
29                 <groupId>org.apache.karaf.features</groupId>
30                 <artifactId>framework</artifactId>
31                 <version>${karaf4.version}</version>
32                 <type>kar</type>
33             </dependency>
34             <dependency>
35                 <groupId>org.apache.karaf.features</groupId>
36                 <artifactId>framework</artifactId>
37                 <version>${karaf4.version}</version>
38                 <classifier>features</classifier>
39                 <type>xml</type>
40             </dependency>
41             <dependency>
42                 <groupId>org.apache.karaf.features</groupId>
43                 <artifactId>standard</artifactId>
44                 <version>${karaf4.version}</version>
45                 <classifier>features</classifier>
46                 <type>xml</type>
47             </dependency>
48             <dependency>
49                 <groupId>org.apache.karaf.features</groupId>
50                 <artifactId>spring</artifactId>
51                 <version>${karaf4.version}</version>
52                 <classifier>features</classifier>
53                 <type>xml</type>
54             </dependency>
55         </dependencies>
56     </dependencyManagement>
57
58     <dependencies>
59         <dependency>
60             <groupId>org.apache.karaf.features</groupId>
61             <artifactId>framework</artifactId>
62             <type>kar</type>
63         </dependency>
64         <dependency>
65             <groupId>org.apache.karaf.features</groupId>
66             <artifactId>framework</artifactId>
67             <classifier>features</classifier>
68             <type>xml</type>
69             <scope>runtime</scope>
70         </dependency>
71         <dependency>
72             <groupId>org.apache.karaf.features</groupId>
73             <artifactId>standard</artifactId>
74             <classifier>features</classifier>
75             <type>xml</type>
76             <scope>runtime</scope>
77         </dependency>
78         <dependency>
79             <groupId>org.apache.karaf.features</groupId>
80             <artifactId>spring</artifactId>
81             <classifier>features</classifier>
82             <type>xml</type>
83             <scope>runtime</scope>
84         </dependency>
85
86         <!-- ODL Branding -->
87         <dependency>
88             <groupId>org.opendaylight.odlparent</groupId>
89             <artifactId>karaf.branding</artifactId>
90         </dependency>
91         <!-- ODL configuration -->
92         <dependency>
93             <groupId>org.opendaylight.odlparent</groupId>
94             <artifactId>opendaylight-karaf4-resources</artifactId>
95         </dependency>
96     </dependencies>
97
98     <build>
99         <plugins>
100             <plugin>
101                 <groupId>org.apache.maven.plugins</groupId>
102                 <artifactId>maven-resources-plugin</artifactId>
103                 <executions>
104                     <execution>
105                         <id>process-resources</id>
106                         <goals>
107                             <goal>resources</goal>
108                         </goals>
109                     </execution>
110                 </executions>
111             </plugin>
112             <plugin>
113                 <groupId>org.apache.maven.plugins</groupId>
114                 <artifactId>maven-remote-resources-plugin</artifactId>
115                 <configuration>
116                     <skip>true</skip>
117                 </configuration>
118             </plugin>
119             <plugin>
120                 <groupId>org.apache.maven.plugins</groupId>
121                 <artifactId>maven-dependency-plugin</artifactId>
122                 <executions>
123                     <execution>
124                         <id>copy</id>
125                         <goals>
126                             <goal>copy</goal>
127                         </goals>
128                         <phase>prepare-package</phase>
129                         <configuration>
130                             <artifactItems>
131                                 <artifactItem>
132                                     <groupId>org.opendaylight.odlparent</groupId>
133                                     <artifactId>karaf.branding</artifactId>
134                                     <version>1.8.0-SNAPSHOT</version>
135                                     <outputDirectory>target/assembly/lib</outputDirectory>
136                                     <destFileName>karaf.branding-1.8.0-SNAPSHOT.jar</destFileName>
137                                 </artifactItem>
138                             </artifactItems>
139                         </configuration>
140                     </execution>
141                     <execution>
142                         <id>unpack-karaf-resources</id>
143                         <goals>
144                             <goal>unpack-dependencies</goal>
145                         </goals>
146                         <phase>prepare-package</phase>
147                         <configuration>
148                             <outputDirectory>${project.build.directory}/assembly</outputDirectory>
149                             <groupId>org.opendaylight.odlparent</groupId>
150                             <includeArtifactIds>opendaylight-karaf4-resources</includeArtifactIds>
151                             <excludes>META-INF\/**</excludes>
152                             <excludeTransitive>true</excludeTransitive>
153                             <ignorePermissions>false</ignorePermissions>
154                         </configuration>
155                     </execution>
156                     <execution>
157                         <id>org.ops4j.pax.url.mvn.cfg</id>
158                         <goals>
159                             <goal>copy</goal>
160                         </goals>
161                         <phase>prepare-package</phase>
162                         <configuration>
163                             <artifactItems>
164                                 <artifactItem>
165                                     <groupId>org.opendaylight.odlparent</groupId>
166                                     <artifactId>opendaylight-karaf4-resources</artifactId>
167                                     <type>properties</type>
168                                     <classifier>config</classifier>
169                                     <overWrite>true</overWrite>
170                                     <outputDirectory>${project.build.directory}/assembly/etc/</outputDirectory>
171                                     <destFileName>org.ops4j.pax.url.mvn.cfg</destFileName>
172                                 </artifactItem>
173                             </artifactItems>
174                             <overWriteReleases>true</overWriteReleases>
175                             <overWriteSnapshots>true</overWriteSnapshots>
176                         </configuration>
177                     </execution>
178                 </executions>
179             </plugin>
180             <plugin>
181                 <artifactId>maven-antrun-plugin</artifactId>
182                 <executions>
183                     <execution>
184                         <id>patch-karaf-scripts</id>
185                         <phase>prepare-package</phase>
186                         <goals>
187                             <goal>run</goal>
188                         </goals>
189                         <configuration>
190                             <target>
191                                 <!-- Patches only work with LF line endings from ant -->
192                                 <fixcrlf srcdir="${project.build.directory}/assembly/bin"
193                                          includes="*.bat" eol="lf"/>
194                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.patch"
195                                        originalfile="${project.build.directory}/assembly/bin/instance"
196                                        failonerror="true"/>
197                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-instance.bat.patch"
198                                        originalfile="${project.build.directory}/assembly/bin/instance.bat"
199                                        failonerror="true" ignorewhitespace="true"/>
200                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf.patch"
201                                        originalfile="${project.build.directory}/assembly/bin/karaf"
202                                        failonerror="true"/>
203                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-karaf.bat.patch"
204                                        originalfile="${project.build.directory}/assembly/bin/karaf.bat"
205                                        failonerror="true"/>
206                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv.patch"
207                                        originalfile="${project.build.directory}/assembly/bin/setenv"
208                                        failonerror="true"/>
209                                 <patch patchfile="${project.build.directory}/assembly/patches/karaf-setenv.bat.patch"
210                                        originalfile="${project.build.directory}/assembly/bin/setenv.bat"
211                                        failonerror="true"/>
212                                 <fixcrlf srcdir="${project.build.directory}/assembly/bin"
213                                          includes="*.bat" eol="crlf"/>
214                             </target>
215                         </configuration>
216                     </execution>
217                 </executions>
218             </plugin>
219             <plugin>
220                 <groupId>org.apache.karaf.tooling</groupId>
221                 <artifactId>karaf-maven-plugin</artifactId>
222                 <version>${karaf4.version}</version>
223                 <executions>
224                     <execution>
225                         <id>process-resources</id>
226                         <phase>process-resources</phase>
227                         <goals>
228                             <goal>assembly</goal>
229                         </goals>
230                     </execution>
231                     <execution>
232                         <id>package</id>
233                         <goals>
234                             <goal>archive</goal>
235                         </goals>
236                     </execution>
237                 </executions>
238                 <configuration>
239                     <installedFeatures>
240                         <feature>wrapper</feature>
241                     </installedFeatures>
242                     <bootFeatures>
243                         <feature>framework</feature>
244                         <feature>jaas</feature>
245                         <feature>shell</feature>
246                         <feature>feature</feature>
247                         <feature>ssh</feature>
248                         <feature>management</feature>
249                         <feature>bundle</feature>
250                         <feature>config</feature>
251                         <feature>deployer</feature>
252                         <feature>diagnostic</feature>
253                         <feature>instance</feature>
254                         <feature>kar</feature>
255                         <feature>log</feature>
256                         <feature>package</feature>
257                         <feature>service</feature>
258                         <feature>system</feature>
259                         <!-- We load wrap as a workaround to handle old features without the wrap prerequisite -->
260                         <!-- TODO Remove this once all the downstream features are fixed -->
261                         <feature>wrap</feature>
262                     </bootFeatures>
263                     <javase>1.8</javase>
264                 </configuration>
265             </plugin>
266             <plugin>
267                 <groupId>org.opendaylight.odlparent</groupId>
268                 <artifactId>karaf4-plugin</artifactId>
269                 <version>1.8.0-SNAPSHOT</version>
270                 <executions>
271                     <execution>
272                         <id>populate-local-repo</id>
273                         <goals>
274                             <goal>populate-local-repo</goal>
275                         </goals>
276                         <configuration>
277                             <localRepo>${project.build.directory}/assembly/system</localRepo>
278                         </configuration>
279                     </execution>
280                 </executions>
281             </plugin>
282         </plugins>
283     </build>
284
285 </project>