See if we can get the features-test copied into system but not visible
[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         <version>${karaf.version}</version>
240         <extensions>true</extensions>
241         <configuration>
242           <!-- no startupFeatures -->
243           <bootFeatures>
244             <feature>standard</feature>
245           </bootFeatures>
246           <!-- no installedFeatures -->
247         </configuration>
248         <executions>
249           <execution>
250             <id>populate-system</id>
251             <phase>generate-resources</phase>
252             <goals>
253               <goal>features-add-to-repository</goal>
254             </goals>
255             <configuration>
256               <descriptors>
257                 <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
258               </descriptors>
259               <features>
260                 <feature>standard</feature>
261                 <feature>config</feature>
262                 <feature>package</feature>
263                 <feature>kar</feature>
264                 <feature>ssh</feature>
265                 <feature>management</feature>
266                 <feature>war</feature>
267               </features>
268               <repository>target/assembly/system</repository>
269             </configuration>
270           </execution>
271           <execution>
272             <id>process-resources</id>
273             <goals>
274               <goal>install-kars</goal>
275             </goals>
276             <phase>process-resources</phase>
277           </execution>
278           <execution>
279             <id>package</id>
280             <goals>
281               <goal>instance-create-archive</goal>
282             </goals>
283           </execution>
284         </executions>
285       </plugin>
286       <plugin>
287         <groupId>org.apache.maven.plugins</groupId>
288         <artifactId>maven-checkstyle-plugin</artifactId>
289         <version>${checkstyle.version}</version>
290         <configuration>
291           <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/</excludes>
292         </configuration>
293       </plugin>
294       <plugin>
295         <groupId>org.apache.maven.plugins</groupId>
296         <artifactId>maven-dependency-plugin</artifactId>
297         <version>2.8</version>
298         <executions>
299           <execution>
300             <id>copy</id>
301             <goals>
302               <goal>copy</goal>
303             </goals>
304             <!-- here the phase you need -->
305             <phase>generate-resources</phase>
306             <configuration>
307               <artifactItems>
308                 <artifactItem>
309                   <groupId>org.opendaylight.controller</groupId>
310                   <artifactId>karaf.branding</artifactId>
311                   <version>${karaf.branding.version}</version>
312                   <outputDirectory>target/assembly/lib</outputDirectory>
313                   <destFileName>karaf.branding-${branding.version}.jar</destFileName>
314                 </artifactItem>
315               </artifactItems>
316             </configuration>
317           </execution>
318           <execution>
319             <id>unpack-karaf-resources</id>
320             <goals>
321               <goal>unpack-dependencies</goal>
322             </goals>
323             <phase>prepare-package</phase>
324             <configuration>
325              <outputDirectory>${project.build.directory}/assembly</outputDirectory>
326              <groupId>org.opendaylight.controller</groupId>
327              <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
328              <excludes>META-INF\/**</excludes>
329              <excludeTransitive>true</excludeTransitive>
330              <ignorePermissions>false</ignorePermissions>
331             </configuration>
332           </execution>
333           <execution>
334             <id>copy-dependencies</id>
335             <phase>prepare-package</phase>
336             <goals>
337               <goal>copy-dependencies</goal>
338             </goals>
339             <configuration>
340               <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
341               <excludeArtifactIds>distribution.vtn-coordinator</excludeArtifactIds>
342               <overWriteReleases>false</overWriteReleases>
343               <overWriteSnapshots>true</overWriteSnapshots>
344               <overWriteIfNewer>true</overWriteIfNewer>
345               <useRepositoryLayout>true</useRepositoryLayout>
346               <addParentPoms>true</addParentPoms>
347               <copyPom>true</copyPom>
348             </configuration>
349           </execution>
350           <execution>
351             <id>copy-externalapps</id>
352             <phase>prepare-package</phase>
353             <goals>
354               <goal>copy-dependencies</goal>
355             </goals>
356             <configuration>
357               <outputDirectory>${project.build.directory}/assembly/externalapps</outputDirectory>
358               <includeArtifactIds>distribution.vtn-coordinator</includeArtifactIds>
359               <overWriteReleases>false</overWriteReleases>
360               <overWriteSnapshots>true</overWriteSnapshots>
361               <overWriteIfNewer>true</overWriteIfNewer>
362               <excludeTransitive>true</excludeTransitive>
363             </configuration>
364           </execution>
365         </executions>
366       </plugin>
367       <plugin>
368         <groupId>org.apache.maven.plugins</groupId>
369         <artifactId>maven-antrun-plugin</artifactId>
370         <executions>
371             <execution>
372                 <phase>prepare-package</phase>
373                 <goals>
374                     <goal>run</goal>
375                 </goals>
376                 <configuration>
377                   <tasks>
378                     <chmod perm="755">
379                         <fileset dir="${project.build.directory}/assembly/bin">
380                           <include name="karaf"/>
381                           <include name="instance"/>
382                           <include name="start"/>
383                           <include name="stop"/>
384                           <include name="status"/>
385                           <include name="client"/>
386                           <include name="shell"/>
387                         </fileset>
388                     </chmod>
389                   </tasks>
390                 </configuration>
391             </execution>
392         </executions>
393       </plugin>
394     </plugins>
395   </build>
396   <scm>
397     <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
398     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
399     <tag>HEAD</tag>
400     <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
401   </scm>
402 </project>