Build providers using bazel

Change-Id: I7d4ebcfb1d593e10aa93f0a4f7111680ed66a7e7
diff --git a/providers/netconf/BUILD b/providers/netconf/BUILD
new file mode 100644
index 0000000..e65f0e9
--- /dev/null
+++ b/providers/netconf/BUILD
@@ -0,0 +1,23 @@
+BUNDLES = [
+    "@sshd_core//jar",
+    "//providers/netconf/device:onos-providers-netconf-device",
+    "//providers/netconf/alarm:onos-providers-netconf-alarm",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//protocols/netconf/ctl:onos-protocols-netconf-ctl",
+]
+
+EXCLUDED_BUNDLES = [
+    "@ganymed_ssh2//jar",
+]
+
+onos_app(
+    category = "Provider",
+    description = "Provides means for ONOS to discover and trigger the initial handshake procedure " +
+                  "with NETCONF from information given by network configuration." +
+                  "Also provides capabilities for receiving asynchronous alarm notifications from devices.",
+    excluded_bundles = EXCLUDED_BUNDLES,
+    included_bundles = BUNDLES,
+    required_apps = ["org.onosproject.faultmanagement"],
+    title = "NETCONF Provider",
+    url = "https://wiki.onosproject.org/display/ONOS/NETCONF",
+)
diff --git a/providers/netconf/alarm/BUILD b/providers/netconf/alarm/BUILD
new file mode 100644
index 0000000..e63c6f0
--- /dev/null
+++ b/providers/netconf/alarm/BUILD
@@ -0,0 +1,9 @@
+COMPILE_DEPS = CORE_DEPS + [
+    "//incubator/api:onos-incubator-api",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+    "//protocols/netconf/ctl:onos-protocols-netconf-ctl",
+]
+
+osgi_jar_with_tests(
+    deps = COMPILE_DEPS,
+)
diff --git a/providers/netconf/device/BUILD b/providers/netconf/device/BUILD
new file mode 100644
index 0000000..173b548
--- /dev/null
+++ b/providers/netconf/device/BUILD
@@ -0,0 +1,9 @@
+COMPILE_DEPS = CORE_DEPS + JACKSON + [
+    "//incubator/api:onos-incubator-api",
+    "//protocols/netconf/api:onos-protocols-netconf-api",
+]
+
+osgi_jar_with_tests(
+    test_deps = TEST_ADAPTERS,
+    deps = COMPILE_DEPS,
+)