Merge "added lithium features of ofPlugin"
[integration/distribution.git] / distributions / karaf / pom.xml
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>
4   <parent>
5       <groupId>org.opendaylight.integration</groupId>
6       <artifactId>root</artifactId>
7       <version>0.3.0-SNAPSHOT</version>
8       <relativePath>../../</relativePath>
9    </parent>
10   <artifactId>distribution-karaf</artifactId>
11   <packaging>pom</packaging>
12
13   <properties>
14     <branding.version>1.1.0-SNAPSHOT</branding.version>
15     <karaf.resources.version>1.5.0-SNAPSHOT</karaf.resources.version>
16   </properties>
17
18   <dependencies>
19     <dependency>
20       <!-- scope is compile so all features (there is only one) are installed
21             into startup.properties and the feature repo itself is not installed -->
22       <groupId>org.apache.karaf.features</groupId>
23       <artifactId>framework</artifactId>
24       <version>${karaf.version}</version>
25       <type>kar</type>
26       <exclusions>
27         <exclusion>
28           <groupId>org.osgi</groupId>
29           <artifactId>org.osgi.core</artifactId>
30         </exclusion>
31         <exclusion>
32           <groupId>org.apache.sshd</groupId>
33           <artifactId>sshd-core</artifactId>
34         </exclusion>
35       </exclusions>
36     </dependency>
37     <!-- scope is runtime so the feature repo is listed in the features
38       service config file, and features may be installed using the
39       karaf-maven-plugin configuration -->
40     <dependency>
41       <groupId>org.apache.karaf.features</groupId>
42       <artifactId>standard</artifactId>
43       <version>${karaf.version}</version>
44       <classifier>features</classifier>
45       <type>xml</type>
46       <scope>runtime</scope>
47     </dependency>
48
49     <!-- ODL Branding -->
50     <dependency>
51       <groupId>org.opendaylight.controller</groupId>
52       <artifactId>karaf.branding</artifactId>
53       <version>${branding.version}</version>
54       <scope>compile</scope>
55     </dependency>
56
57     <!-- Resources needed -->
58     <dependency>
59       <groupId>org.opendaylight.controller</groupId>
60       <artifactId>opendaylight-karaf-resources</artifactId>
61       <version>${karaf.resources.version}</version>
62     </dependency>
63
64     <!-- integration feature -->
65     <dependency>
66       <artifactId>features-integration-index</artifactId>
67       <groupId>org.opendaylight.integration</groupId>
68       <version>${project.version}</version>
69       <classifier>features</classifier>
70       <type>xml</type>
71       <scope>runtime</scope>
72     </dependency>
73
74     <!-- integration test feature -->
75     <dependency>
76       <artifactId>features-integration-test</artifactId>
77       <groupId>org.opendaylight.integration</groupId>
78       <version>${project.version}</version>
79       <classifier>features</classifier>
80       <type>xml</type>
81       <scope>test</scope>
82     </dependency>
83
84     <!-- External application -->
85     <dependency>
86       <groupId>org.opendaylight.vtn</groupId>
87       <artifactId>distribution.vtn-coordinator</artifactId>
88       <version>6.0.0.0-SNAPSHOT</version>
89       <type>tar.bz2</type>
90       <classifier>bin</classifier>
91       <exclusions>
92         <exclusion>
93           <groupId>com.google.code.gson</groupId>
94           <artifactId>gson</artifactId>
95         </exclusion>
96         <exclusion>
97           <groupId>commons-codec</groupId>
98           <artifactId>commons-codec</artifactId>
99         </exclusion>
100         <exclusion>
101           <groupId>org.json</groupId>
102           <artifactId>json</artifactId>
103         </exclusion>
104       </exclusions>
105     </dependency>
106
107     <dependency>
108       <groupId>org.opendaylight.vtn</groupId>
109       <artifactId>distribution.vtn-coordinator</artifactId>
110       <version>6.0.0.0-SNAPSHOT</version>
111       <type>txt</type>
112       <classifier>README</classifier>
113       <exclusions>
114         <exclusion>
115           <groupId>com.google.code.gson</groupId>
116           <artifactId>gson</artifactId>
117         </exclusion>
118         <exclusion>
119           <groupId>commons-codec</groupId>
120           <artifactId>commons-codec</artifactId>
121         </exclusion>
122         <exclusion>
123           <groupId>org.json</groupId>
124           <artifactId>json</artifactId>
125         </exclusion>
126       </exclusions>
127     </dependency>
128   </dependencies>
129
130   <build>
131     <pluginManagement>
132       <plugins>
133         <plugin>
134           <groupId>org.eclipse.m2e</groupId>
135           <artifactId>lifecycle-mapping</artifactId>
136           <version>1.0.0</version>
137           <configuration>
138             <lifecycleMappingMetadata>
139               <pluginExecutions>
140                 <pluginExecution>
141                   <pluginExecutionFilter>
142                     <groupId>org.apache.felix</groupId>
143                     <artifactId>maven-bundle-plugin</artifactId>
144                     <versionRange>[0,)</versionRange>
145                     <goals>
146                       <goal>cleanVersions</goal>
147                     </goals>
148                   </pluginExecutionFilter>
149                   <action>
150                     <ignore></ignore>
151                   </action>
152                 </pluginExecution>
153                 <pluginExecution>
154                   <pluginExecutionFilter>
155                     <groupId>org.apache.maven.plugins</groupId>
156                     <artifactId>maven-dependency-plugin</artifactId>
157                     <versionRange>[0,)</versionRange>
158                     <goals>
159                       <goal>copy</goal>
160                       <goal>unpack</goal>
161                     </goals>
162                   </pluginExecutionFilter>
163                   <action>
164                     <ignore></ignore>
165                   </action>
166                 </pluginExecution>
167                 <pluginExecution>
168                   <pluginExecutionFilter>
169                     <groupId>org.apache.karaf.tooling</groupId>
170                     <artifactId>karaf-maven-plugin</artifactId>
171                     <versionRange>[0,)</versionRange>
172                     <goals>
173                       <goal>commands-generate-help</goal>
174                     </goals>
175                   </pluginExecutionFilter>
176                   <action>
177                     <ignore></ignore>
178                   </action>
179                 </pluginExecution>
180                 <pluginExecution>
181                   <pluginExecutionFilter>
182                     <groupId>org.fusesource.scalate</groupId>
183                     <artifactId>maven-scalate-plugin</artifactId>
184                     <versionRange>[0,)</versionRange>
185                     <goals>
186                       <goal>sitegen</goal>
187                     </goals>
188                   </pluginExecutionFilter>
189                   <action>
190                     <ignore></ignore>
191                   </action>
192                 </pluginExecution>
193                 <pluginExecution>
194                   <pluginExecutionFilter>
195                     <groupId>org.apache.servicemix.tooling</groupId>
196                     <artifactId>depends-maven-plugin</artifactId>
197                     <versionRange>[0,)</versionRange>
198                     <goals>
199                       <goal>generate-depends-file</goal>
200                     </goals>
201                   </pluginExecutionFilter>
202                   <action>
203                     <ignore></ignore>
204                   </action>
205                 </pluginExecution>
206               </pluginExecutions>
207             </lifecycleMappingMetadata>
208           </configuration>
209         </plugin>
210       </plugins>
211     </pluginManagement>
212     <plugins>
213       <plugin>
214         <artifactId>maven-resources-plugin</artifactId>
215         <version>2.6</version>
216         <executions>
217           <execution>
218             <id>copy-resources</id>
219             <!-- here the phase you need -->
220             <phase>prepare-package</phase>
221             <goals>
222               <goal>copy-resources</goal>
223             </goals>
224             <configuration>
225               <outputDirectory>${basedir}/target/assembly</outputDirectory>
226               <resources>
227                 <resource>
228                   <directory>src/main/assembly</directory>
229                 </resource>
230               </resources>
231               <overwrite>true</overwrite>
232             </configuration>
233           </execution>
234         </executions>
235       </plugin>
236       <plugin>
237         <groupId>org.apache.karaf.tooling</groupId>
238         <artifactId>karaf-maven-plugin</artifactId>
239         <extensions>true</extensions>
240         <configuration>
241           <!-- no startupFeatures -->
242           <bootFeatures>
243             <feature>standard</feature>
244           </bootFeatures>
245           <!-- no installedFeatures -->
246         </configuration>
247         <executions>
248           <execution>
249             <id>populate-system</id>
250             <phase>generate-resources</phase>
251             <goals>
252               <goal>features-add-to-repository</goal>
253             </goals>
254             <configuration>
255               <descriptors>
256                 <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
257               </descriptors>
258               <features>
259                 <feature>standard</feature>
260                 <feature>config</feature>
261                 <feature>package</feature>
262                 <feature>kar</feature>
263                 <feature>ssh</feature>
264                 <feature>management</feature>
265                 <feature>war</feature>
266               </features>
267               <repository>target/assembly/system</repository>
268             </configuration>
269           </execution>
270           <execution>
271             <id>process-resources</id>
272             <goals>
273               <goal>install-kars</goal>
274             </goals>
275             <phase>process-resources</phase>
276           </execution>
277           <execution>
278             <id>package</id>
279             <goals>
280               <goal>instance-create-archive</goal>
281             </goals>
282           </execution>
283         </executions>
284       </plugin>
285       <plugin>
286         <groupId>org.apache.maven.plugins</groupId>
287         <artifactId>maven-checkstyle-plugin</artifactId>
288         <version>${checkstyle.version}</version>
289         <configuration>
290           <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/</excludes>
291         </configuration>
292       </plugin>
293       <plugin>
294         <groupId>org.apache.maven.plugins</groupId>
295         <artifactId>maven-dependency-plugin</artifactId>
296         <version>2.8</version>
297         <executions>
298           <execution>
299             <id>copy</id>
300             <goals>
301               <goal>copy</goal>
302             </goals>
303             <!-- here the phase you need -->
304             <phase>generate-resources</phase>
305             <configuration>
306               <artifactItems>
307                 <artifactItem>
308                   <groupId>org.opendaylight.controller</groupId>
309                   <artifactId>karaf.branding</artifactId>
310                   <version>${karaf.branding.version}</version>
311                   <outputDirectory>target/assembly/lib</outputDirectory>
312                   <destFileName>karaf.branding-${branding.version}.jar</destFileName>
313                 </artifactItem>
314               </artifactItems>
315             </configuration>
316           </execution>
317           <execution>
318             <id>unpack-karaf-resources</id>
319             <goals>
320               <goal>unpack-dependencies</goal>
321             </goals>
322             <phase>prepare-package</phase>
323             <configuration>
324              <outputDirectory>${project.build.directory}/assembly</outputDirectory>
325              <groupId>org.opendaylight.controller</groupId>
326              <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
327              <excludes>META-INF\/**</excludes>
328              <excludeTransitive>true</excludeTransitive>
329              <ignorePermissions>false</ignorePermissions>
330             </configuration>
331           </execution>
332           <execution>
333             <id>copy-dependencies</id>
334             <phase>prepare-package</phase>
335             <goals>
336               <goal>copy-dependencies</goal>
337             </goals>
338             <configuration>
339               <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
340               <excludeArtifactIds>distribution.vtn-coordinator</excludeArtifactIds>
341               <overWriteReleases>false</overWriteReleases>
342               <overWriteSnapshots>true</overWriteSnapshots>
343               <overWriteIfNewer>true</overWriteIfNewer>
344               <useRepositoryLayout>true</useRepositoryLayout>
345               <addParentPoms>true</addParentPoms>
346               <copyPom>true</copyPom>
347             </configuration>
348           </execution>
349           <execution>
350             <id>copy-externalapps</id>
351             <phase>prepare-package</phase>
352             <goals>
353               <goal>copy-dependencies</goal>
354             </goals>
355             <configuration>
356               <outputDirectory>${project.build.directory}/assembly/externalapps</outputDirectory>
357               <includeArtifactIds>distribution.vtn-coordinator</includeArtifactIds>
358               <overWriteReleases>false</overWriteReleases>
359               <overWriteSnapshots>true</overWriteSnapshots>
360               <overWriteIfNewer>true</overWriteIfNewer>
361               <excludeTransitive>true</excludeTransitive>
362             </configuration>
363           </execution>
364         </executions>
365       </plugin>
366       <plugin>
367         <groupId>org.apache.maven.plugins</groupId>
368         <artifactId>maven-antrun-plugin</artifactId>
369         <executions>
370             <execution>
371                 <phase>prepare-package</phase>
372                 <goals>
373                     <goal>run</goal>
374                 </goals>
375                 <configuration>
376                   <tasks>
377                     <chmod perm="755">
378                         <fileset dir="${project.build.directory}/assembly/bin">
379                           <include name="karaf"/>
380                           <include name="instance"/>
381                           <include name="start"/>
382                           <include name="stop"/>
383                           <include name="status"/>
384                           <include name="client"/>
385                           <include name="shell"/>
386                         </fileset>
387                     </chmod>
388                   </tasks>
389                 </configuration>
390             </execution>
391         </executions>
392       </plugin>
393     </plugins>
394   </build>
395   <scm>
396     <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
397     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
398     <tag>HEAD</tag>
399     <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
400   </scm>
401 </project>