Initial BUCK build

Change-Id: I64e8a979301989062f4545a4841b06c15a372049
diff --git a/apps/test/BUCK b/apps/test/BUCK
new file mode 100644
index 0000000..a7cf25d
--- /dev/null
+++ b/apps/test/BUCK
@@ -0,0 +1,136 @@
+SRC = 'src/main/java/org/onosproject/**/'
+TEST = 'src/main/java/org/onosproject/**/'
+
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//lib:org.apache.karaf.shell.console',
+    '//cli:onos-cli',
+    '//utils/rest:onlab-rest',
+    '//lib:javax.ws.rs-api',
+    '//core/store/serializers:onos-core-serializers',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+]
+
+java_library(
+   name = 'onos-app-test',
+   visibility = ['PUBLIC'],
+   deps = [':onos-app-demo',
+           ':onos-app-distributed-primitives',
+           ':onos-app-election',
+           ':onos-app-intent-perf',
+           ':onos-app-loadtest',
+           ':onos-app-messaging-perf',
+   ],
+)
+
+# demo
+
+java_library(
+    name = 'onos-app-demo',
+    srcs = glob(['demo/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-demo-tests',
+    srcs = glob(['demo/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-demo'],
+    source_under_test = [':onos-app-demo'],
+)
+
+# distributed-primitives
+
+java_library(
+    name = 'onos-app-distributed-primitives',
+    srcs = glob(['distributed-primitives/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-distributed-primitives-tests',
+    srcs = glob(['distributed-primitives/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-distributed-primitives'],
+    source_under_test = [':onos-app-distributed-primitives'],
+)
+
+# election
+
+java_library(
+    name = 'onos-app-election',
+    srcs = glob(['election/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-election-tests',
+    srcs = glob(['election/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-election'],
+    source_under_test = [':onos-app-election'],
+)
+
+# intent-perf
+
+java_library(
+    name = 'onos-app-intent-perf',
+    srcs = glob(['intent-perf/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-intent-perf-tests',
+    srcs = glob(['intent-perf/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-intent-perf'],
+    source_under_test = [':onos-app-intent-perf'],
+)
+
+# loadtest
+
+java_library(
+    name = 'onos-app-loadtest',
+    srcs = glob(['loadtest/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-loadtest-tests',
+    srcs = glob(['loadtest/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-loadtest'],
+    source_under_test = [':onos-app-loadtest'],
+)
+
+# messaging-perf
+
+java_library(
+    name = 'onos-app-messaging-perf',
+    srcs = glob(['messaging-perf/' + SRC + '*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'onos-app-messaging-perf-tests',
+    srcs = glob(['messaging-perf/' + TEST + '*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [':onos-app-messaging-perf'],
+    source_under_test = [':onos-app-messaging-perf'],
+)
+