1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <modelVersion>4.0.0</modelVersion>
5 <groupId>org.opendaylight.controller</groupId>
6 <artifactId>commons.opendaylight</artifactId>
7 <version>1.7.0-SNAPSHOT</version>
8 <relativePath>../../opendaylight/commons/opendaylight</relativePath>
10 <artifactId>distribution.opendaylight-karaf</artifactId>
11 <packaging>pom</packaging>
15 <!-- scope is compile so all features (there is only one) are installed
16 into startup.properties and the feature repo itself is not installed -->
17 <groupId>org.apache.karaf.features</groupId>
18 <artifactId>framework</artifactId>
19 <version>${karaf.version}</version>
23 <groupId>org.opendaylight.controller</groupId>
24 <artifactId>karaf.branding</artifactId>
25 <scope>compile</scope>
28 <!-- Resources needed -->
30 <groupId>org.opendaylight.controller</groupId>
31 <artifactId>opendaylight-karaf-resources</artifactId>
32 <version>${project.version}</version>
35 <!-- scope is not runtime so the feature repo is pulled into the local
36 repo on build and thus you actually run. Failure to do so can lead
37 to very confusing errors for devs -->
39 <groupId>org.apache.karaf.features</groupId>
40 <artifactId>standard</artifactId>
41 <version>${karaf.version}</version>
42 <classifier>features</classifier>
46 <!-- Aries Proxy 1.0.5 contains important bug fixes -->
47 <!-- Once we upgrade to a version of Karaf which has at least 1.0.5, this can be removed -->
49 <groupId>org.apache.aries.proxy</groupId>
50 <artifactId>org.apache.aries.proxy.impl</artifactId>
51 <version>1.0.5</version>
55 controller provided features:
56 Note: Nothing should go here that is not locked
57 down with testing... ie, no broken feature repos
60 <!-- MD-SAL Related Features -->
62 <groupId>org.opendaylight.controller</groupId>
63 <artifactId>features-mdsal</artifactId>
64 <classifier>features</classifier>
66 <scope>runtime</scope>
69 <groupId>org.opendaylight.controller</groupId>
70 <artifactId>features-extras</artifactId>
71 <version>${project.version}</version>
72 <classifier>features</classifier>
74 <scope>runtime</scope>
77 <groupId>org.opendaylight.mdsal</groupId>
78 <artifactId>features-mdsal</artifactId>
79 <classifier>features</classifier>
81 <scope>runtime</scope>
84 <groupId>org.opendaylight.mdsal.model</groupId>
85 <artifactId>features-mdsal-model</artifactId>
86 <classifier>features</classifier>
88 <scope>runtime</scope>
91 <!-- Netconf connector features. When this is included, users can test the netconf connector using netconf-testtool -->
93 <groupId>org.opendaylight.controller</groupId>
94 <artifactId>features-netconf-connector</artifactId>
95 <classifier>features</classifier>
104 <groupId>org.eclipse.m2e</groupId>
105 <artifactId>lifecycle-mapping</artifactId>
106 <version>1.0.0</version>
108 <lifecycleMappingMetadata>
111 <pluginExecutionFilter>
112 <groupId>org.apache.felix</groupId>
113 <artifactId>maven-bundle-plugin</artifactId>
114 <versionRange>[0,)</versionRange>
116 <goal>cleanVersions</goal>
118 </pluginExecutionFilter>
124 <pluginExecutionFilter>
125 <groupId>org.apache.maven.plugins</groupId>
126 <artifactId>maven-dependency-plugin</artifactId>
127 <versionRange>[0,)</versionRange>
132 </pluginExecutionFilter>
138 <pluginExecutionFilter>
139 <groupId>org.apache.karaf.tooling</groupId>
140 <artifactId>karaf-maven-plugin</artifactId>
141 <versionRange>[0,)</versionRange>
143 <goal>commands-generate-help</goal>
145 </pluginExecutionFilter>
151 <pluginExecutionFilter>
152 <groupId>org.fusesource.scalate</groupId>
153 <artifactId>maven-scalate-plugin</artifactId>
154 <versionRange>[0,)</versionRange>
158 </pluginExecutionFilter>
164 <pluginExecutionFilter>
165 <groupId>org.apache.servicemix.tooling</groupId>
166 <artifactId>depends-maven-plugin</artifactId>
167 <versionRange>[0,)</versionRange>
169 <goal>generate-depends-file</goal>
171 </pluginExecutionFilter>
177 </lifecycleMappingMetadata>
184 <groupId>org.apache.karaf.tooling</groupId>
185 <artifactId>karaf-maven-plugin</artifactId>
186 <extensions>true</extensions>
188 <!-- no startupFeatures -->
190 <feature>standard</feature>
192 <!-- no installedFeatures -->
196 <id>process-resources</id>
198 <goal>install-kars</goal>
200 <phase>process-resources</phase>
205 <goal>instance-create-archive</goal>
211 <groupId>org.apache.maven.plugins</groupId>
212 <artifactId>maven-checkstyle-plugin</artifactId>
214 <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/</excludes>
218 <groupId>org.apache.maven.plugins</groupId>
219 <artifactId>maven-dependency-plugin</artifactId>
226 <!-- here the phase you need -->
227 <phase>generate-resources</phase>
231 <groupId>org.opendaylight.controller</groupId>
232 <artifactId>karaf.branding</artifactId>
233 <version>${karaf.branding.version}</version>
234 <outputDirectory>target/assembly/lib</outputDirectory>
235 <destFileName>karaf.branding-${branding.version}.jar</destFileName>
237 <!-- Needs to be copied to lib/ext in order to start bouncy provider for mina sshd -->
239 <groupId>org.bouncycastle</groupId>
240 <artifactId>bcprov-jdk15on</artifactId>
241 <version>${bouncycastle.version}</version>
242 <outputDirectory>target/assembly/lib/ext</outputDirectory>
243 <destFileName>bcprov-jdk15on-${bouncycastle.version}.jar</destFileName>
249 <id>unpack-karaf-resources</id>
251 <goal>unpack-dependencies</goal>
253 <phase>prepare-package</phase>
255 <outputDirectory>${project.build.directory}/assembly</outputDirectory>
256 <groupId>org.opendaylight.controller</groupId>
257 <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
258 <excludes>META-INF\/**</excludes>
259 <excludeTransitive>true</excludeTransitive>
260 <ignorePermissions>false</ignorePermissions>
264 <id>copy-dependencies</id>
265 <phase>prepare-package</phase>
267 <goal>copy-dependencies</goal>
270 <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
271 <excludeArtifactIds>distribution.vtn-coordinator</excludeArtifactIds>
272 <overWriteReleases>false</overWriteReleases>
273 <overWriteSnapshots>true</overWriteSnapshots>
274 <overWriteIfNewer>true</overWriteIfNewer>
275 <useRepositoryLayout>true</useRepositoryLayout>
276 <addParentPoms>true</addParentPoms>
277 <copyPom>true</copyPom>
283 <groupId>org.apache.maven.plugins</groupId>
284 <artifactId>maven-antrun-plugin</artifactId>
287 <phase>prepare-package</phase>
294 <fileset dir="${project.build.directory}/assembly/bin">
295 <include name="karaf"/>
296 <include name="instance"/>
297 <include name="start"/>
298 <include name="stop"/>
299 <include name="status"/>
300 <include name="client"/>
301 <include name="shell"/>
304 <!-- Remove this once Karaf provides a new-enough version of Aries Proxy -->
305 <replace dir="${project.build.directory}/assembly/etc"
306 token="org.apache.aries.proxy.impl/1.0.4"
307 value="org.apache.aries.proxy.impl/1.0.5">
308 <include name="startup.properties"/>
318 <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
319 <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
321 <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>