Initial BUCK build

Change-Id: I64e8a979301989062f4545a4841b06c15a372049
diff --git a/utils/junit/BUCK b/utils/junit/BUCK
new file mode 100644
index 0000000..b5394e5
--- /dev/null
+++ b/utils/junit/BUCK
@@ -0,0 +1,32 @@
+SRC = 'src/main/java/org/onlab/junit/'
+TEST = 'src/test/java/org/onlab/junit/'
+CURRENT_NAME = 'onlab-junit'
+CURRENT_TARGET = ':' + CURRENT_NAME
+
+SRC_DEPS = [
+    '//lib:junit',
+    '//lib:hamcrest-all',
+    '//lib:guava',
+]
+
+TEST_DEPS = [
+    '//lib:guava-testlib',
+]
+
+java_library(
+    name = CURRENT_NAME,
+    srcs = glob([SRC + '/*.java']),
+    deps = SRC_DEPS,
+    visibility = ['PUBLIC'],
+    resources_root = 'src/main/resources',
+    resources = glob(['src/main/resources/**']),
+)
+
+java_test(
+    name = 'tests',
+    srcs = glob([TEST + '/*.java']),
+    deps = SRC_DEPS +
+           TEST_DEPS +
+           [CURRENT_TARGET],
+    source_under_test = [CURRENT_TARGET],
+)
diff --git a/utils/misc/BUCK b/utils/misc/BUCK
new file mode 100644
index 0000000..0832322
--- /dev/null
+++ b/utils/misc/BUCK
@@ -0,0 +1,28 @@
+SRC = 'src/main/java/org/onlab/**/'
+TEST = 'src/test/java/org/onlab/**/'
+CURRENT_NAME = 'onlab-misc'
+CURRENT_TARGET = ':' + CURRENT_NAME
+
+COMPILE_DEPS = [
+    '//lib:COMPILE',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+]
+
+java_library(
+    name = CURRENT_NAME,
+    srcs = glob([SRC + '/*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'tests',
+    srcs = glob([TEST + '/*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [CURRENT_TARGET],
+    source_under_test = [CURRENT_TARGET],
+)
diff --git a/utils/osgi/BUCK b/utils/osgi/BUCK
new file mode 100644
index 0000000..195bf3d
--- /dev/null
+++ b/utils/osgi/BUCK
@@ -0,0 +1,28 @@
+SRC = 'src/main/java/org/onlab/osgi/'
+TEST = 'src/test/java/org/onlab/osgi/'
+CURRENT_NAME = 'onlab-osgi'
+CURRENT_TARGET = ':' + CURRENT_NAME
+
+COMPILE_DEPS = [
+    '//lib:COMPILE',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+]
+
+java_library(
+  name = CURRENT_NAME,
+  srcs = glob([SRC + '/*.java']),
+  deps = COMPILE_DEPS,
+  visibility = ['PUBLIC'],
+)
+
+java_test(
+  name = 'tests',
+  srcs = glob([TEST + '/*.java']),
+  deps = COMPILE_DEPS +
+         TEST_DEPS +
+         [CURRENT_TARGET],
+  source_under_test = [CURRENT_TARGET],
+)
diff --git a/utils/rest/BUCK b/utils/rest/BUCK
new file mode 100644
index 0000000..d070641
--- /dev/null
+++ b/utils/rest/BUCK
@@ -0,0 +1,32 @@
+SRC = 'src/main/java/org/onlab/**/'
+TEST = 'src/test/java/org/onlab/**/'
+CURRENT_NAME = 'onlab-rest'
+CURRENT_TARGET = ':' + CURRENT_NAME
+
+COMPILE_DEPS = [
+    '//lib:COMPILE',
+    '//utils/osgi:onlab-osgi',
+    '//utils/misc:onlab-misc',
+    '//lib:javax.ws.rs-api',
+    '//lib:jersey-server',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+]
+
+java_library(
+    name = CURRENT_NAME,
+    srcs = glob([SRC + '/*.java']),
+    deps = COMPILE_DEPS,
+    visibility = ['PUBLIC'],
+)
+
+java_test(
+    name = 'tests',
+    srcs = glob([TEST + '/*.java']),
+    deps = COMPILE_DEPS +
+           TEST_DEPS +
+           [CURRENT_TARGET],
+    source_under_test = [CURRENT_TARGET],
+)