Appify buck build for openstack and VTN apps

Change-Id: I6cc23cd567954daaee59271123a07040853e695b
diff --git a/apps/openstacknetworking/BUCK b/apps/openstacknetworking/BUCK
index ef92536..03639d1 100644
--- a/apps/openstacknetworking/BUCK
+++ b/apps/openstacknetworking/BUCK
@@ -1,102 +1,12 @@
-SRC = 'src/main/java/org/onosproject/**/'
-TEST = 'src/test/java/org/onosproject/**/'
-
-COMPILE_DEPS = [
-    '//lib:CORE_DEPS',
-    '//lib:jersey-client',
-    '//lib:javax.ws.rs-api',
-    '//apps/openstackinterface:onos-apps-openstackinterface-api',
-    '//core/store/serializers:onos-core-serializers',
+BUNDLES = [
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+    '//apps/openstacknetworking/web:onos-apps-openstacknetworking-web',
 ]
 
-java_library(
-   name = 'onos-app-openstacknetworking',
-   visibility = ['PUBLIC'],
-   deps = [
-       ':onos-app-openstacknetworking-api',
-       ':onos-app-openstacknetworking-app',
-       ':onos-app-openstackrouting',
-       ':onos-app-openstackswitching',
-       ':onos-app-openstacknetworking-web',
-   ]
-)
-
-TEST_DEPS = [
-    '//lib:TEST',
-    ':onos-app-openstacknetworking',
-]
-
-java_library(
-    name = 'onos-app-openstacknetworking-api',
-    srcs = glob(['api/' + SRC + '*.java']),
-    deps = COMPILE_DEPS,
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-app-openstacknetworking-api-tests',
-    srcs = glob([TEST + 'api/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS,
-    source_under_test = [':onos-app-openstacknetworking-api'],
-)
-
-java_library(
-    name = 'onos-app-openstacknetworking-app',
-    srcs = glob(['app/' + SRC + '*.java']),
-    deps = COMPILE_DEPS + [':onos-app-openstacknetworking-api'],
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-app-openstacknetworking-app-tests',
-    srcs = glob([TEST + 'app/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS,
-    source_under_test = [':onos-app-openstacknetworking-app'],
-)
-
-java_library(
-    name = 'onos-app-openstackrouting',
-    srcs = glob(['openstackrouting/' + SRC + '*.java']),
-    deps = COMPILE_DEPS + [':onos-app-openstacknetworking-api'],
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-app-openstackrouting-tests',
-    srcs = glob([TEST + 'openstackrouting/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS,
-    source_under_test = [':onos-app-openstackrouting'],
-)
-
-java_library(
-    name = 'onos-app-openstackswitching',
-    srcs = glob(['openstgackswitching/' + SRC + '*.java']),
-    deps = COMPILE_DEPS + [':onos-app-openstacknetworking-api'],
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-app-openstackswitching-tests',
-    srcs = glob([TEST + 'openstackswitching/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS,
-    source_under_test = [':onos-app-openstackswitching'],
-)
-
-java_library(
-    name = 'onos-app-openstacknetworking-web',
-    srcs = glob(['openstgacknetworking/' + SRC + '*.java']),
-    deps = COMPILE_DEPS + [':onos-app-openstacknetworking-api'],
-    visibility = ['PUBLIC'],
-)
-
-java_test(
-    name = 'onos-app-openstacknetworking-web-tests',
-    srcs = glob([TEST + 'openstackswitching/*.java']),
-    deps = COMPILE_DEPS +
-           TEST_DEPS,
-    source_under_test = [':onos-app-openstacknetworking-web'],
+onos_app (
+  title = 'OpenStack Networking App',
+  category = 'Utility',
+  url = 'http://onosproject.org',
+  included_bundles = BUNDLES,
+  required_apps = [ 'org.onosproject.openstackinterface' ],
 )
diff --git a/apps/openstacknetworking/api/BUCK b/apps/openstacknetworking/api/BUCK
new file mode 100644
index 0000000..1b4424e
--- /dev/null
+++ b/apps/openstacknetworking/api/BUCK
@@ -0,0 +1,10 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//lib:jersey-client',
+    '//lib:javax.ws.rs-api',
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
diff --git a/apps/openstacknetworking/openstackrouting/BUCK b/apps/openstacknetworking/openstackrouting/BUCK
new file mode 100644
index 0000000..ccb668b
--- /dev/null
+++ b/apps/openstacknetworking/openstackrouting/BUCK
@@ -0,0 +1,24 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//core/store/serializers:onos-core-serializers',
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+]
+
+BUNDLES = [
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+    '//apps/openstacknetworking/openstackrouting:onos-apps-openstacknetworking-openstackrouting',
+    #'//apps/dhcp/api:onos-apps-dhcp-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
+
+onos_app (
+    title = 'OpenStack Routing App',
+    category = 'Utility',
+    url = 'http://onosproject.org',
+    description = 'OpenStack routing application.',
+)
diff --git a/apps/openstacknetworking/openstackswitching/BUCK b/apps/openstacknetworking/openstackswitching/BUCK
new file mode 100644
index 0000000..42d7c07
--- /dev/null
+++ b/apps/openstacknetworking/openstackswitching/BUCK
@@ -0,0 +1,26 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//core/store/serializers:onos-core-serializers',
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+    '//apps/dhcp/api:onos-apps-dhcp-api',
+]
+
+BUNDLES = [
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+    '//apps/openstacknetworking/openstackswitching:onos-apps-openstacknetworking-openstackswitching',
+    '//apps/dhcp/api:onos-apps-dhcp-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)
+
+onos_app (
+    title = 'OpenStack Switching App',
+    category = 'Utility',
+    url = 'http://onosproject.org',
+    description = 'OpenStack Switching application.',
+    included_bundles = BUNDLES,
+)
diff --git a/apps/openstacknetworking/web/BUCK b/apps/openstacknetworking/web/BUCK
new file mode 100644
index 0000000..ac7ba09
--- /dev/null
+++ b/apps/openstacknetworking/web/BUCK
@@ -0,0 +1,13 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//lib:jersey-client',
+    '//lib:javax.ws.rs-api',
+    '//utils/rest:onlab-rest',
+    '//apps/openstackinterface/api:onos-apps-openstackinterface-api',
+    '//apps/openstackinterface/app:onos-apps-openstackinterface-app',
+    '//apps/openstacknetworking/api:onos-apps-openstacknetworking-api',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+)