diff --git a/providers/netconf/flow/pom.xml b/providers/netconf/flow/pom.xml
index b9bf054..56bf527 100644
--- a/providers/netconf/flow/pom.xml
+++ b/providers/netconf/flow/pom.xml
@@ -22,13 +22,238 @@
     <parent>
         <groupId>org.onosproject</groupId>
         <artifactId>onos-netconf-providers</artifactId>
-        <version>1.2.0-SNAPSHOT</version>
+        <version>1.3.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <artifactId>onos-netconf-provider-flow</artifactId>
     <packaging>bundle</packaging>
 
-    <description>ONOS Netconf protocol flow provider</description>
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>ch.ethz.ganymed</groupId>
+            <artifactId>ganymed-ssh2</artifactId>
+            <version>262</version>
+        </dependency>
+        <dependency>
+            <!-- TODO: change this appropriately when the official TailF JNC is available -->
+            <groupId>org.onosproject</groupId>
+            <artifactId>jnc</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jdom</groupId>
+            <artifactId>jdom2</artifactId>
+            <version>2.0.5</version>
+        </dependency>
+        <dependency>
+            <groupId>jaxen</groupId>
+            <artifactId>jaxen</artifactId>
+            <version>1.1.4</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-yang-tool</artifactId>
+            <version>1.2.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>2.3</version>
+                <configuration>
+                    <filters>
+                        <filter>
+                            <artifact>com.tailf:JNC</artifact>
+                            <includes>
+                                <include>com/tailf/jnc/**</include>
+                            </includes>
+                        </filter>
+                        <filter>
+                            <artifact>ch.ethz.ganymed:ganymed-ssh2</artifact>
+                            <includes>
+                                <include>ch/ethz/ssh2/**</include>
+                            </includes>
+                        </filter>
+                        <filter>
+                            <artifact>org.jdom:jdom2</artifact>
+                            <includes>
+                                <include>org/jdom2/**</include>
+                            </includes>
+                        </filter>
+                        <filter>
+                            <artifact>org.onosproject:onos-yang-tool</artifact>
+                            <includes>
+                                <include>org/opendaylight/yang/gen/**</include>
+                            </includes>
+                        </filter>
+                    </filters>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-scr-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <instructions>
+                        <Export-Package>
+                            com.tailf.jnc,
+                            ch.ethz.ssh2,
+                            ch.ethz.ssh2.auth,
+                            ch.ethz.ssh2.channel,
+                            ch.ethz.ssh2.crypto,
+                            ch.ethz.ssh2.crypto.cipher,
+                            ch.ethz.ssh2.crypto.dh,
+                            ch.ethz.ssh2.crypto.digest,
+                            ch.ethz.ssh2.log,
+                            ch.ethz.ssh2.packets,
+                            ch.ethz.ssh2.server,
+                            ch.ethz.ssh2.sftp,
+                            ch.ethz.ssh2.signature,
+                            ch.ethz.ssh2.transport,
+                            ch.ethz.ssh2.util,
+                            org.jdom2,
+                            org.jdom2.input,
+                            org.jdom2.output,
+                            org.jdom2.adapters,
+                            org.jdom2.filter,
+                            org.jdom2.internal,
+                            org.jdom2.located,
+                            org.jdom2.transform,
+                            org.jdom2.util,
+                            org.jdom2.xpath,
+                            org.jdom2.input.sax,
+                            org.jdom2.input.stax,
+                            org.jdom2.output.support,
+                            org.jdom2.xpath.jaxen,
+                            org.jdom2.xpath.util,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520,
+                            org.opendaylight.yangtools.yang.data.impl.schema.tree,
+                            org.opendaylight.yangtools.yang.data.impl.codec,
+                            org.opendaylight.yangtools.yang.model.parser.api,
+                            org.opendaylight.yangtools.yang.data.impl.schema.nodes,
+                            org.opendaylight.yangtools.yang.binding.util,
+                            org.opendaylight.yangtools.yang.data.impl,
+                            org.opendaylight.yangtools.sal.binding.generator.impl,
+                            org.opendaylight.yangtools.yang.parser.impl.util,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.packet.fields.rev140625,
+                            org.opendaylight.yangtools.yang.data.api,
+                            org.opendaylight.yangtools.objcache.spi,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.base.parser,
+                            org.opendaylight.yangtools.maven.sal.api.gen.plugin,
+                            org.opendaylight.yangtools.yang.data.impl.schema.builder.impl,
+                            org.opendaylight.yangtools.yang.data.api.schema.tree,
+                            org.opendaylight.yangtools.binding.generator.util,
+                            org.opendaylight.yangtools.sal.binding.generator.spi,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715,
+                            org.opendaylight.yangtools.yang2sources.spi,
+                            org.opendaylight.yangtools.yang.model.repo.api,
+                            org.opendaylight.yangtools.util,
+                            org.opendaylight.yangtools.yang.parser.util,
+                            org.opendaylight.yangtools.yang.data.api.schema.stream,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializer,
+                            org.opendaylight.yangtools.concepts,
+                            org.opendaylight.yangtools.yang.binding,
+                            org.opendaylight.yangtools.yang.model.util.repo,
+                            org.opendaylight.yangtools.yang.wadl.generator.maven,
+                            org.opendaylight.yangtools.yang.data.api.schema,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.matches.ace.type,
+                            org.opendaylight.yangtools.concepts.util,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.matches.ace.type.ace.ip.ace.ip.version,
+                            org.opendaylight.yangtools.sal.binding.model.api,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.matches.ace.type.ace.ip,
+                            org.opendaylight.yangtools.yang.data.impl.schema.builder.api,
+                            org.opendaylight.yangtools.util.concurrent,
+                            org.opendaylight.yangtools.yang.parser.builder.impl,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.base,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.actions.packet.handling,
+                            org.opendaylight.yangtools.sal.binding.model.api.type.builder,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.packet.fields.rev140625.acl.transport.header.fields,
+                            org.opendaylight.yangtools.yang2sources.plugin,
+                            org.opendaylight.yangtools.yang.data.impl.codec.xml,
+                            org.opendaylight.yangtools.antlrv4.code.gen,
+                            org.opendaylight.yangtools.yang.parser.builder.util,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform,
+                            org.opendaylight.yangtools.yang.model.api.type,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.serializer,
+                            org.opendaylight.yangtools.yang.data.api.schema.tree.spi,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.dom.parser,
+                            org.opendaylight.yangtools.sal.binding.yang.types,
+                            org.opendaylight.yangtools.yang.data.impl.schema.transform.dom,
+                            org.opendaylight.yangtools.yang.data.impl.util,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.packet.fields.rev140625.timerange,
+                            org.opendaylight.yangtools.sal.binding.generator.api,
+                            org.opendaylight.yangtools.sal.java.api.generator,
+                            org.opendaylight.yangtools.yang.binding.annotations,
+                            org.opendaylight.yangtools.sal.binding.generator.util,
+                            org.opendaylight.yangtools.yang.model.repo.util,
+                            org.opendaylight.yangtools.yang.model.api,
+                            org.opendaylight.yangtools.yang.common,
+                            org.opendaylight.yangtools.yang.wadl.generator,
+                            org.opendaylight.yangtools.yang.parser.builder.api,
+                            org.opendaylight.yangtools.yang.model.util,
+                            org.opendaylight.yangtools.yang.parser.impl,
+                            org.opendaylight.yangtools.yang.data.impl.schema,
+                            org.opendaylight.yangtools.yang.data.api.codec,
+                            org.opendaylight.yangtools.yang.unified.doc.generator,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list,
+                            org.opendaylight.yangtools.objcache,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.actions,
+                            org.opendaylight.yangtools.yang.data.util,
+                            org.opendaylight.yangtools.yang.unified.doc.generator.maven,
+                            org.opendaylight.yangtools.binding.generator.util.generated.type.builder,
+                            org.opendaylight.yangtools.yang.model.repo.spi,
+                            org.opendaylight.yangtools.yang.parser.repo,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715,
+                            org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.acl.rev140520.access.list.access.list.entries.matches,
+                            org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid,
+                            com.romix.scala,
+                            com.romix.scala.collection,
+                            com.romix.scala.collection.concurrent,
+                            org.opendaylight.yangtools.objcache.impl
+                        </Export-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.onosproject</groupId>
+                <artifactId>onos-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
