Upgrade Aries Proxy 1.0.4 -> 1.0.5
[controller.git] / karaf / karaf-parent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (c) 2014 Cisco Systems, 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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11   <parent>
12     <groupId>org.opendaylight.odlparent</groupId>
13     <artifactId>odlparent</artifactId>
14     <version>1.7.0-SNAPSHOT</version>
15     <relativePath/>
16   </parent>
17   <modelVersion>4.0.0</modelVersion>
18   <groupId>org.opendaylight.controller</groupId>
19   <artifactId>karaf-parent</artifactId>
20   <name>${project.artifactId}</name>
21   <packaging>pom</packaging>
22
23   <properties>
24     <branding.version>1.3.0-SNAPSHOT</branding.version>
25     <karaf.resources.version>1.7.0-SNAPSHOT</karaf.resources.version>
26     <karaf.localFeature>standard</karaf.localFeature>
27     <!--  Karaf Maven plugin 3.023 reinstalls already installed
28           boot features to container, which could be observed
29           in huge logs and seems like loop in build, even if it
30           is not.
31      -->
32     <karaf.maven.version>3.0.1</karaf.maven.version>
33   </properties>
34   <dependencyManagement>
35     <dependencies>
36       <dependency>
37         <!-- scope is compile so all features (there is only one) are installed
38         into startup.properties and the feature repo itself is not installed -->
39         <groupId>org.apache.karaf.features</groupId>
40         <artifactId>framework</artifactId>
41         <version>${karaf.version}</version>
42         <type>kar</type>
43         <exclusions>
44           <exclusion>
45             <groupId>org.osgi</groupId>
46             <artifactId>org.osgi.core</artifactId>
47           </exclusion>
48           <exclusion>
49             <groupId>org.apache.sshd</groupId>
50             <artifactId>sshd-core</artifactId>
51           </exclusion>
52           <!-- We provide a newer version of Aries Proxy -->
53           <exclusion>
54             <groupId>org.apache.aries.proxy</groupId>
55             <artifactId>org.apache.aries.proxy.impl</artifactId>
56           </exclusion>
57         </exclusions>
58       </dependency>
59     </dependencies>
60   </dependencyManagement>
61   <dependencies>
62     <!-- karaf standard features -->
63     <dependency>
64       <groupId>org.apache.karaf.features</groupId>
65       <artifactId>standard</artifactId>
66       <version>${karaf.version}</version>
67       <type>xml</type>
68       <classifier>features</classifier>
69     </dependency>
70     <!-- karaf region dependency -->
71     <dependency>
72       <groupId>org.apache.karaf.region</groupId>
73       <artifactId>org.apache.karaf.region.persist</artifactId>
74       <version>${karaf.version}</version>
75       <scope>runtime</scope>
76     </dependency>
77     <!-- ODL Branding -->
78     <dependency>
79       <groupId>org.opendaylight.controller</groupId>
80       <artifactId>karaf.branding</artifactId>
81       <version>${branding.version}</version>
82       <scope>compile</scope>
83     </dependency>
84
85     <!-- Resources needed -->
86     <dependency>
87       <groupId>org.opendaylight.controller</groupId>
88       <artifactId>opendaylight-karaf-resources</artifactId>
89       <version>${karaf.resources.version}</version>
90     </dependency>
91
92     <!-- Aries Proxy 1.0.5 contains important bug fixes -->
93     <!-- Once we upgrade to a version of Karaf which has at least 1.0.5, this can be removed -->
94     <dependency>
95       <groupId>org.apache.aries.proxy</groupId>
96       <artifactId>org.apache.aries.proxy.impl</artifactId>
97       <version>1.0.5</version>
98     </dependency>
99   </dependencies>
100   <build>
101     <pluginManagement>
102       <plugins>
103         <plugin>
104           <groupId>org.eclipse.m2e</groupId>
105           <artifactId>lifecycle-mapping</artifactId>
106           <version>1.0.0</version>
107           <configuration>
108             <lifecycleMappingMetadata>
109               <pluginExecutions>
110                 <pluginExecution>
111                   <pluginExecutionFilter>
112                     <groupId>org.apache.felix</groupId>
113                     <artifactId>maven-bundle-plugin</artifactId>
114                     <versionRange>[0,)</versionRange>
115                     <goals>
116                       <goal>cleanVersions</goal>
117                     </goals>
118                   </pluginExecutionFilter>
119                   <action>
120                     <ignore></ignore>
121                   </action>
122                 </pluginExecution>
123                 <pluginExecution>
124                   <pluginExecutionFilter>
125                     <groupId>org.apache.maven.plugins</groupId>
126                     <artifactId>maven-dependency-plugin</artifactId>
127                     <versionRange>[0,)</versionRange>
128                     <goals>
129                       <goal>copy</goal>
130                       <goal>unpack</goal>
131                     </goals>
132                   </pluginExecutionFilter>
133                   <action>
134                     <ignore></ignore>
135                   </action>
136                 </pluginExecution>
137                 <pluginExecution>
138                   <pluginExecutionFilter>
139                     <groupId>org.apache.karaf.tooling</groupId>
140                     <artifactId>karaf-maven-plugin</artifactId>
141                     <versionRange>[0,)</versionRange>
142                     <goals>
143                       <goal>commands-generate-help</goal>
144                       <goal>features-add-to-repository</goal>
145                       <goal>install-kars</goal>
146                     </goals>
147                   </pluginExecutionFilter>
148                   <action>
149                     <ignore></ignore>
150                   </action>
151                 </pluginExecution>
152                 <pluginExecution>
153                   <pluginExecutionFilter>
154                     <groupId>org.fusesource.scalate</groupId>
155                     <artifactId>maven-scalate-plugin</artifactId>
156                     <versionRange>[0,)</versionRange>
157                     <goals>
158                       <goal>sitegen</goal>
159                     </goals>
160                   </pluginExecutionFilter>
161                   <action>
162                     <ignore></ignore>
163                   </action>
164                 </pluginExecution>
165                 <pluginExecution>
166                   <pluginExecutionFilter>
167                     <groupId>org.apache.servicemix.tooling</groupId>
168                     <artifactId>depends-maven-plugin</artifactId>
169                     <versionRange>[0,)</versionRange>
170                     <goals>
171                       <goal>generate-depends-file</goal>
172                     </goals>
173                   </pluginExecutionFilter>
174                   <action>
175                     <ignore></ignore>
176                   </action>
177                 </pluginExecution>
178               </pluginExecutions>
179             </lifecycleMappingMetadata>
180           </configuration>
181         </plugin>
182
183         <plugin>
184           <artifactId>maven-resources-plugin</artifactId>
185           <executions>
186             <execution>
187               <id>copy-resources</id>
188               <!-- here the phase you need -->
189               <phase>prepare-package</phase>
190               <goals>
191                 <goal>copy-resources</goal>
192               </goals>
193               <configuration>
194                 <outputDirectory>${basedir}/target/assembly</outputDirectory>
195                 <resources>
196                   <resource>
197                     <directory>src/main/assembly</directory>
198                   </resource>
199                 </resources>
200                 <overwrite>true</overwrite>
201               </configuration>
202             </execution>
203           </executions>
204         </plugin>
205         <plugin>
206           <groupId>org.apache.karaf.tooling</groupId>
207           <artifactId>karaf-maven-plugin</artifactId>
208           <version>${karaf.maven.version}</version>
209           <extensions>true</extensions>
210           <configuration>
211             <!-- no startupFeatures -->
212             <bootFeatures>
213               <feature>standard</feature>
214               <feature>${karaf.localFeature}</feature>
215             </bootFeatures>
216             <!-- no installedFeatures -->
217           </configuration>
218           <executions>
219             <execution>
220               <id>populate-system</id>
221               <phase>generate-resources</phase>
222               <goals>
223                 <goal>features-add-to-repository</goal>
224               </goals>
225               <configuration>
226                 <descriptors>
227                   <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
228                 </descriptors>
229                 <features>
230                   <feature>standard</feature>
231                   <feature>config</feature>
232                   <feature>package</feature>
233                   <feature>kar</feature>
234                   <feature>ssh</feature>
235                   <feature>management</feature>
236                   <feature>war</feature>
237                 </features>
238                 <repository>target/assembly/system</repository>
239               </configuration>
240             </execution>
241             <execution>
242               <id>process-resources</id>
243               <goals>
244                 <goal>install-kars</goal>
245               </goals>
246               <phase>process-resources</phase>
247             </execution>
248             <execution>
249               <id>package</id>
250               <goals>
251                 <goal>instance-create-archive</goal>
252               </goals>
253             </execution>
254           </executions>
255         </plugin>
256         <plugin>
257           <groupId>org.apache.maven.plugins</groupId>
258           <artifactId>maven-checkstyle-plugin</artifactId>
259           <version>${checkstyle.version}</version>
260           <configuration>
261             <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/</excludes>
262           </configuration>
263         </plugin>
264         <plugin>
265           <groupId>org.apache.maven.plugins</groupId>
266           <artifactId>maven-dependency-plugin</artifactId>
267           <executions>
268             <execution>
269               <id>copy</id>
270               <goals>
271                 <goal>copy</goal>
272               </goals>
273               <!-- here the phase you need -->
274               <phase>generate-resources</phase>
275               <configuration>
276                 <artifactItems>
277                   <artifactItem>
278                     <groupId>org.opendaylight.controller</groupId>
279                     <artifactId>karaf.branding</artifactId>
280                     <version>${karaf.branding.version}</version>
281                     <outputDirectory>target/assembly/lib</outputDirectory>
282                     <destFileName>karaf.branding-${branding.version}.jar</destFileName>
283                   </artifactItem>
284                 </artifactItems>
285               </configuration>
286             </execution>
287             <execution>
288               <id>unpack-karaf-resources</id>
289               <goals>
290                 <goal>unpack-dependencies</goal>
291               </goals>
292               <phase>prepare-package</phase>
293               <configuration>
294                 <outputDirectory>${project.build.directory}/assembly</outputDirectory>
295                 <groupId>org.opendaylight.controller</groupId>
296                 <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
297                 <excludes>META-INF\/**</excludes>
298                 <excludeTransitive>true</excludeTransitive>
299                 <ignorePermissions>false</ignorePermissions>
300               </configuration>
301             </execution>
302             <execution>
303               <id>org.ops4j.pax.url.mvn.cfg</id>
304               <goals>
305                 <goal>copy</goal>
306               </goals>
307               <phase>prepare-package</phase>
308               <configuration>
309                 <artifactItems>
310                   <artifactItem>
311                     <groupId>org.opendaylight.controller</groupId>
312                     <artifactId>opendaylight-karaf-resources</artifactId>
313                     <type>properties</type>
314                     <classifier>config</classifier>
315                     <overWrite>true</overWrite>
316                     <outputDirectory>${project.build.directory}/assembly/etc/</outputDirectory>
317                     <destFileName>org.ops4j.pax.url.mvn.cfg</destFileName>
318                   </artifactItem>
319                 </artifactItems>
320                 <overWriteReleases>true</overWriteReleases>
321                 <overWriteSnapshots>true</overWriteSnapshots>
322               </configuration>
323             </execution>
324             <execution>
325               <id>copy-dependencies</id>
326               <phase>prepare-package</phase>
327               <goals>
328                 <goal>copy-dependencies</goal>
329               </goals>
330               <configuration>
331                 <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
332                 <excludeArtifactIds>distribution.vtn-coordinator</excludeArtifactIds>
333                 <overWriteReleases>false</overWriteReleases>
334                 <overWriteSnapshots>true</overWriteSnapshots>
335                 <overWriteIfNewer>true</overWriteIfNewer>
336                 <useRepositoryLayout>true</useRepositoryLayout>
337                 <addParentPoms>true</addParentPoms>
338                 <copyPom>true</copyPom>
339               </configuration>
340             </execution>
341           </executions>
342         </plugin>
343         <plugin>
344           <groupId>org.apache.maven.plugins</groupId>
345           <artifactId>maven-antrun-plugin</artifactId>
346           <executions>
347             <execution>
348               <phase>prepare-package</phase>
349               <goals>
350                 <goal>run</goal>
351               </goals>
352               <configuration>
353                 <tasks>
354                   <chmod perm="755">
355                     <fileset dir="${project.build.directory}/assembly/bin">
356                       <include name="karaf"/>
357                       <include name="instance"/>
358                       <include name="start"/>
359                       <include name="stop"/>
360                       <include name="status"/>
361                       <include name="client"/>
362                       <include name="shell"/>
363                     </fileset>
364                   </chmod>
365                   <!-- Remove this once Karaf provides a new-enough version of Aries Proxy -->
366                   <replace dir="${project.build.directory}/assembly/etc" token="org.apache.aries.proxy.impl/1.0.4"
367                            value="org.apache.aries.proxy.impl/1.0.5">
368                     <include name="startup.properties"/>
369                   </replace>
370                 </tasks>
371               </configuration>
372             </execution>
373           </executions>
374         </plugin>
375       </plugins>
376     </pluginManagement>
377     <plugins>
378       <plugin>
379         <groupId>org.apache.maven.plugins</groupId>
380         <artifactId>maven-enforcer-plugin</artifactId>
381         <version>${enforcer.version}</version>
382         <executions>
383           <execution>
384             <id>enforce-maven</id>
385             <goals>
386               <goal>enforce</goal>
387             </goals>
388             <configuration>
389               <rules>
390                 <requireMavenVersion>
391                   <version>3.1.1</version>
392                 </requireMavenVersion>
393               </rules>
394             </configuration>
395           </execution>
396         </executions>
397       </plugin>
398       <plugin>
399         <artifactId>maven-resources-plugin</artifactId>
400       </plugin>
401       <plugin>
402         <groupId>org.apache.karaf.tooling</groupId>
403         <artifactId>karaf-maven-plugin</artifactId>
404       </plugin>
405       <plugin>
406         <groupId>org.apache.maven.plugins</groupId>
407         <artifactId>maven-checkstyle-plugin</artifactId>
408       </plugin>
409       <plugin>
410         <groupId>org.apache.maven.plugins</groupId>
411         <artifactId>maven-dependency-plugin</artifactId>
412       </plugin>
413       <plugin>
414         <groupId>org.apache.maven.plugins</groupId>
415         <artifactId>maven-antrun-plugin</artifactId>
416       </plugin>
417     </plugins>
418   </build>
419
420 </project>

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.