Thomas Vachuska

Adding pom.xml to shade TailF JNC library and its dependency ganymed-ssh2 as a s…

…ingle OSGi bundle for use in ONOS NetConf providers.

Change-Id: I5b27236070878b483dc199686ca94e2b44a4d5fa
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2014 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onlab-utils</artifactId>
25 + <version>1.2.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onlab-jnc-osgi</artifactId>
30 + <packaging>bundle</packaging>
31 +
32 + <description>TailF JNC and Ganymed SSH2 packaged as OSGi bundle</description>
33 +
34 + <dependencies>
35 + <dependency>
36 + <groupId>ch.ethz.ganymed</groupId>
37 + <artifactId>ganymed-ssh2</artifactId>
38 + <version>262</version>
39 + </dependency>
40 +
41 + <dependency>
42 + <!-- TODO: change this appropriately when the official TailF JNC is available -->
43 + <groupId>org.onosproject</groupId>
44 + <artifactId>jnc</artifactId>
45 + <version>1.0</version>
46 + </dependency>
47 + </dependencies>
48 +
49 + <build>
50 + <plugins>
51 + <plugin>
52 + <groupId>org.apache.maven.plugins</groupId>
53 + <artifactId>maven-shade-plugin</artifactId>
54 + <version>2.3</version>
55 + <configuration>
56 + <filters>
57 + <filter>
58 + <artifact>com.google.guava:guava</artifact>
59 + <excludes>
60 + <exclude>**</exclude>
61 + </excludes>
62 + </filter>
63 + </filters>
64 + </configuration>
65 + <executions>
66 + <execution>
67 + <phase>package</phase>
68 + <goals>
69 + <goal>shade</goal>
70 + </goals>
71 + </execution>
72 + </executions>
73 + </plugin>
74 + <plugin>
75 + <groupId>org.apache.felix</groupId>
76 + <artifactId>maven-bundle-plugin</artifactId>
77 + <configuration>
78 + <instructions>
79 + <Export-Package>
80 + com.tailf.jnc,
81 + ch.ethz.ssh2,
82 + ch.ethz.ssh2.auth,
83 + ch.ethz.ssh2.channel,
84 + ch.ethz.ssh2.crypto,
85 + ch.ethz.ssh2.crypto.cipher,
86 + ch.ethz.ssh2.crypto.dh,
87 + ch.ethz.ssh2.crypto.digest,
88 + ch.ethz.ssh2.log,
89 + ch.ethz.ssh2.packets,
90 + ch.ethz.ssh2.server,
91 + ch.ethz.ssh2.sftp,
92 + ch.ethz.ssh2.signature,
93 + ch.ethz.ssh2.transport,
94 + ch.ethz.ssh2.util
95 + </Export-Package>
96 + </instructions>
97 + </configuration>
98 + </plugin>
99 + </plugins>
100 + </build>
101 +
102 +</project>