Merge "Add MD-SAL artifacts"
[controller.git] / opendaylight / distribution / opendaylight-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.controller</groupId>
6     <artifactId>commons.opendaylight</artifactId>
7     <version>1.5.0-SNAPSHOT</version>
8     <relativePath>../../commons/opendaylight</relativePath>
9   </parent>
10   <artifactId>distribution.opendaylight-karaf</artifactId>
11   <packaging>pom</packaging>
12   <prerequisites>
13     <maven>3.0</maven>
14   </prerequisites>
15
16   <dependencies>
17     <dependency>
18       <!-- scope is compile so all features (there is only one) are installed
19             into startup.properties and the feature repo itself is not installed -->
20       <groupId>org.apache.karaf.features</groupId>
21       <artifactId>framework</artifactId>
22       <version>${karaf.version}</version>
23       <type>kar</type>
24     </dependency>
25     <dependency>
26       <groupId>org.opendaylight.controller</groupId>
27       <artifactId>karaf.branding</artifactId>
28       <scope>compile</scope>
29     </dependency>
30
31     <!-- Resources needed -->
32     <dependency>
33       <groupId>org.opendaylight.controller</groupId>
34       <artifactId>opendaylight-karaf-resources</artifactId>
35       <version>${project.version}</version>
36     </dependency>
37
38     <!-- scope is not runtime so the feature repo is pulled into the local
39     repo on build and thus you actually run.  Failure to do so can lead
40     to very confusing errors for devs -->
41     <dependency>
42       <groupId>org.apache.karaf.features</groupId>
43       <artifactId>standard</artifactId>
44       <version>${karaf.version}</version>
45       <classifier>features</classifier>
46       <type>xml</type>
47     </dependency>
48
49     <!--
50           controller provided features:
51           Note: Nothing should go here that is not locked
52           down with testing... ie, no broken feature repos
53     -->
54
55     <!-- AD-SAL Related Features -->
56     <dependency>
57       <groupId>org.opendaylight.controller</groupId>
58       <artifactId>features-base</artifactId>
59       <classifier>features</classifier>
60       <type>xml</type>
61       <scope>runtime</scope>
62     </dependency>
63     <dependency>
64       <groupId>org.opendaylight.controller</groupId>
65       <artifactId>features-adsal</artifactId>
66       <classifier>features</classifier>
67       <type>xml</type>
68       <scope>runtime</scope>
69     </dependency>
70     <dependency>
71       <groupId>org.opendaylight.controller</groupId>
72       <artifactId>features-nsf</artifactId>
73       <classifier>features</classifier>
74       <type>xml</type>
75       <scope>runtime</scope>
76     </dependency>
77     <!-- MD-SAL Related Features -->
78     <dependency>
79       <groupId>org.opendaylight.controller</groupId>
80       <artifactId>features-mdsal</artifactId>
81       <classifier>features</classifier>
82       <type>xml</type>
83       <scope>runtime</scope>
84     </dependency>
85       <dependency>
86           <groupId>org.opendaylight.controller</groupId>
87           <artifactId>features-extras</artifactId>
88           <version>${project.version}</version>
89           <classifier>features</classifier>
90           <type>xml</type>
91           <scope>runtime</scope>
92       </dependency>
93     <dependency>
94       <groupId>org.opendaylight.controller</groupId>
95       <artifactId>features-flow</artifactId>
96       <classifier>features</classifier>
97       <type>xml</type>
98       <scope>runtime</scope>
99     </dependency>
100     <dependency>
101       <groupId>org.opendaylight.controller</groupId>
102       <artifactId>features-restconf</artifactId>
103       <version>1.2.0-SNAPSHOT</version>
104       <classifier>features</classifier>
105       <type>xml</type>
106       <scope>runtime</scope>
107     </dependency>
108     <!-- Netconf connector features. When this is included, users can test the netconf connector using netconf-testtool -->
109     <dependency>
110       <groupId>org.opendaylight.controller</groupId>
111       <artifactId>features-netconf-connector</artifactId>
112       <classifier>features</classifier>
113       <type>xml</type>
114     </dependency>
115
116   </dependencies>
117
118   <build>
119     <pluginManagement>
120       <plugins>
121         <plugin>
122           <groupId>org.eclipse.m2e</groupId>
123           <artifactId>lifecycle-mapping</artifactId>
124           <version>1.0.0</version>
125           <configuration>
126             <lifecycleMappingMetadata>
127               <pluginExecutions>
128                 <pluginExecution>
129                   <pluginExecutionFilter>
130                     <groupId>org.apache.felix</groupId>
131                     <artifactId>maven-bundle-plugin</artifactId>
132                     <versionRange>[0,)</versionRange>
133                     <goals>
134                       <goal>cleanVersions</goal>
135                     </goals>
136                   </pluginExecutionFilter>
137                   <action>
138                     <ignore></ignore>
139                   </action>
140                 </pluginExecution>
141                 <pluginExecution>
142                   <pluginExecutionFilter>
143                     <groupId>org.apache.maven.plugins</groupId>
144                     <artifactId>maven-dependency-plugin</artifactId>
145                     <versionRange>[0,)</versionRange>
146                     <goals>
147                       <goal>copy</goal>
148                       <goal>unpack</goal>
149                     </goals>
150                   </pluginExecutionFilter>
151                   <action>
152                     <ignore></ignore>
153                   </action>
154                 </pluginExecution>
155                 <pluginExecution>
156                   <pluginExecutionFilter>
157                     <groupId>org.apache.karaf.tooling</groupId>
158                     <artifactId>karaf-maven-plugin</artifactId>
159                     <versionRange>[0,)</versionRange>
160                     <goals>
161                       <goal>commands-generate-help</goal>
162                     </goals>
163                   </pluginExecutionFilter>
164                   <action>
165                     <ignore></ignore>
166                   </action>
167                 </pluginExecution>
168                 <pluginExecution>
169                   <pluginExecutionFilter>
170                     <groupId>org.fusesource.scalate</groupId>
171                     <artifactId>maven-scalate-plugin</artifactId>
172                     <versionRange>[0,)</versionRange>
173                     <goals>
174                       <goal>sitegen</goal>
175                     </goals>
176                   </pluginExecutionFilter>
177                   <action>
178                     <ignore></ignore>
179                   </action>
180                 </pluginExecution>
181                 <pluginExecution>
182                   <pluginExecutionFilter>
183                     <groupId>org.apache.servicemix.tooling</groupId>
184                     <artifactId>depends-maven-plugin</artifactId>
185                     <versionRange>[0,)</versionRange>
186                     <goals>
187                       <goal>generate-depends-file</goal>
188                     </goals>
189                   </pluginExecutionFilter>
190                   <action>
191                     <ignore></ignore>
192                   </action>
193                 </pluginExecution>
194               </pluginExecutions>
195             </lifecycleMappingMetadata>
196           </configuration>
197         </plugin>
198       </plugins>
199     </pluginManagement>
200     <plugins>
201       <plugin>
202         <groupId>org.apache.karaf.tooling</groupId>
203         <artifactId>karaf-maven-plugin</artifactId>
204         <version>${karaf.version}</version>
205         <extensions>true</extensions>
206         <configuration>
207           <!-- no startupFeatures -->
208           <bootFeatures>
209             <feature>standard</feature>
210           </bootFeatures>
211           <!-- no installedFeatures -->
212         </configuration>
213         <executions>
214           <execution>
215             <id>process-resources</id>
216             <goals>
217               <goal>install-kars</goal>
218             </goals>
219             <phase>process-resources</phase>
220           </execution>
221           <execution>
222             <id>package</id>
223             <goals>
224               <goal>instance-create-archive</goal>
225             </goals>
226           </execution>
227         </executions>
228       </plugin>
229       <plugin>
230         <groupId>org.apache.maven.plugins</groupId>
231         <artifactId>maven-checkstyle-plugin</artifactId>
232         <configuration>
233           <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/configuration\/initial\/</excludes>
234         </configuration>
235       </plugin>
236       <plugin>
237         <groupId>org.apache.maven.plugins</groupId>
238         <artifactId>maven-dependency-plugin</artifactId>
239         <version>2.6</version>
240         <executions>
241           <execution>
242             <id>copy</id>
243             <goals>
244               <goal>copy</goal>
245             </goals>
246             <!-- here the phase you need -->
247             <phase>generate-resources</phase>
248             <configuration>
249               <artifactItems>
250                 <artifactItem>
251                   <groupId>org.opendaylight.controller</groupId>
252                   <artifactId>karaf.branding</artifactId>
253                   <version>${karaf.branding.version}</version>
254                   <outputDirectory>target/assembly/lib</outputDirectory>
255                   <destFileName>karaf.branding-${branding.version}.jar</destFileName>
256                 </artifactItem>
257                   <!-- Needs to be copied to lib/ext in order to start bouncy provider for mina sshd -->
258               <artifactItem>
259                   <groupId>org.bouncycastle</groupId>
260                   <artifactId>bcprov-jdk15on</artifactId>
261                   <version>${bouncycastle.version}</version>
262                   <outputDirectory>target/assembly/lib/ext</outputDirectory>
263                   <destFileName>bcprov-jdk15on-${bouncycastle.version}.jar</destFileName>
264               </artifactItem>
265               </artifactItems>
266             </configuration>
267           </execution>
268           <execution>
269             <id>unpack-karaf-resources</id>
270             <goals>
271               <goal>unpack-dependencies</goal>
272             </goals>
273             <phase>prepare-package</phase>
274             <configuration>
275              <outputDirectory>${project.build.directory}/assembly</outputDirectory>
276              <groupId>org.opendaylight.controller</groupId>
277              <includeArtifactIds>opendaylight-karaf-resources</includeArtifactIds>
278              <excludes>META-INF\/**</excludes>
279              <excludeTransitive>true</excludeTransitive>
280              <ignorePermissions>false</ignorePermissions>
281             </configuration>
282           </execution>
283         </executions>
284       </plugin>
285       <plugin>
286         <groupId>org.apache.maven.plugins</groupId>
287         <artifactId>maven-antrun-plugin</artifactId>
288         <executions>
289             <execution>
290                 <phase>prepare-package</phase>
291                 <goals>
292                     <goal>run</goal>
293                 </goals>
294                 <configuration>
295                   <tasks>
296                     <chmod perm="755">
297                         <fileset dir="${project.build.directory}/assembly/bin">
298                           <include name="karaf"/>
299                           <include name="instance"/>
300                           <include name="start"/>
301                           <include name="stop"/>
302                           <include name="status"/>
303                           <include name="client"/>
304                           <include name="shell"/>
305                         </fileset>
306                     </chmod>
307                   </tasks>
308                 </configuration>
309             </execution>
310         </executions>
311       </plugin>
312     </plugins>
313   </build>
314   <scm>
315     <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
316     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
317     <tag>HEAD</tag>
318     <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
319   </scm>
320 </project>