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