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