diff --git a/.gitignore b/.gitignore
index e034f3b..601e4e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,7 @@
-/bucklets
-/target
-/.buckversion
 /.classpath
+/.primary_build_tool
 /.project
 /.settings/org.maven.ide.eclipse.prefs
 /.settings/org.eclipse.m2e.core.prefs
-/.buckd
-/.watchmanconfig
-/buck-out
+/bazel-*
+/eclipse-out/
diff --git a/BUILD b/BUILD
index db4ef4a..58e65ad 100644
--- a/BUILD
+++ b/BUILD
@@ -7,7 +7,6 @@
         "@gitiles_servlet//jar",
     ],
     outs = ["gitiles.jar"],
-    visibility = ["//plugins:__subpackages__"],
     cmd = " && ".join([
         "ROOT=$$PWD",
         "TMP=$$(mktemp -d || mktemp -d -t bazel-tmp)",
@@ -18,6 +17,7 @@
         "mv static +static",
         "zip -Drq $$ROOT/$@ -g . -i \"+static/*\"",
     ]),
+    visibility = ["//plugins:__subpackages__"],
 )
 
 gerrit_plugin(
@@ -36,6 +36,14 @@
     resources = glob(["src/main/resources/**/*"]),
     target_suffix = "__base",
     deps = [
+        ":gitiles__plugin_deps",
+    ],
+)
+
+java_library(
+    name = "gitiles__plugin_deps",
+    visibility = ["//visibility:public"],
+    exports = [
         "@autolink//jar",
         "@cm_autolink//jar",
         "@commonmark//jar",
@@ -45,3 +53,13 @@
         "@prettify//jar",
     ],
 )
+
+java_library(
+    name = "gitiles__classpath_deps",
+    testonly = 1,
+    visibility = ["//visibility:public"],
+    exports = [
+        ":gitiles__plugin",
+        ":gitiles__plugin_deps",
+    ],
+)
diff --git a/WORKSPACE b/WORKSPACE
new file mode 100644
index 0000000..91ac60a
--- /dev/null
+++ b/WORKSPACE
@@ -0,0 +1,30 @@
+workspace(name = "gitiles")
+
+load("//:bazlets.bzl", "load_bazlets")
+
+load_bazlets(
+    commit = "e15ad03897f040435d6c5e808b697b1125b964c1",
+    #    local_path = "/home/<user>/projects/bazlets",
+)
+
+#Snapshot Plugin API
+load(
+   "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
+   "gerrit_api_maven_local",
+)
+
+# Load snapshot Plugin API
+gerrit_api_maven_local()
+
+# Release Plugin API
+# load(
+#     "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
+#     "gerrit_api",
+# )
+
+# Load release Plugin API
+# gerrit_api()
+
+load("//:external_plugin_deps.bzl", "external_plugin_deps")
+
+external_plugin_deps()
diff --git a/bazlets.bzl b/bazlets.bzl
new file mode 100644
index 0000000..e14e488
--- /dev/null
+++ b/bazlets.bzl
@@ -0,0 +1,17 @@
+NAME = "com_googlesource_gerrit_bazlets"
+
+def load_bazlets(
+    commit,
+    local_path = None
+  ):
+  if not local_path:
+      native.git_repository(
+          name = NAME,
+          remote = "https://gerrit.googlesource.com/bazlets",
+          commit = commit,
+      )
+  else:
+      native.local_repository(
+          name = NAME,
+          path = local_path,
+      )
diff --git a/src/main/resources/+Documentation/build.md b/src/main/resources/+Documentation/build.md
index 7b18329..12e6726 100644
--- a/src/main/resources/+Documentation/build.md
+++ b/src/main/resources/+Documentation/build.md
@@ -1,7 +1,48 @@
 Build
 =====
 
-This plugin is built with Bazel.
+This plugin is built with Bazel, and two build modes are supported:
+
+* Standalone
+* In Gerrit tree
+
+Standalone build mode is recommended, as this mode doesn't require local Gerrit
+tree to exist. Moreover, there are additional manual steps required when building
+in Gerrit tree mode (see corresponding section).
+
+## Build standalone
+
+To build the plugin, issue the following command:
+
+```
+  bazel build @PLUGIN@
+```
+
+The output is created in
+
+```
+  bazel-genfiles/@PLUGIN@.jar
+```
+
+To package the plugin sources run:
+
+```
+  bazel build lib@PLUGIN@__plugin-src.jar
+```
+
+The output is created in:
+
+```
+  bazel-bin/lib@PLUGIN@__plugin-src.jar
+```
+
+This project can be imported into the Eclipse IDE:
+
+```
+  ./tools/eclipse/project.sh
+```
+
+## Build in Gerrit tree
 
 Clone (or link) this plugin to the `plugins` directory of Gerrit's source tree.
 
diff --git a/tools/bazel.rc b/tools/bazel.rc
new file mode 100644
index 0000000..4ed16cf
--- /dev/null
+++ b/tools/bazel.rc
@@ -0,0 +1,2 @@
+build --workspace_status_command=./tools/workspace-status.sh
+test --build_tests_only
diff --git a/tools/bzl/BUILD b/tools/bzl/BUILD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/bzl/BUILD
diff --git a/tools/bzl/classpath.bzl b/tools/bzl/classpath.bzl
new file mode 100644
index 0000000..d5764f7
--- /dev/null
+++ b/tools/bzl/classpath.bzl
@@ -0,0 +1,4 @@
+load(
+    "@com_googlesource_gerrit_bazlets//tools:classpath.bzl",
+    "classpath_collector",
+)
diff --git a/tools/bzl/maven_jar.bzl b/tools/bzl/maven_jar.bzl
new file mode 100644
index 0000000..acfda5f
--- /dev/null
+++ b/tools/bzl/maven_jar.bzl
@@ -0,0 +1 @@
+load("@com_googlesource_gerrit_bazlets//tools:maven_jar.bzl", "maven_jar", "GERRIT", "MAVEN_CENTRAL")
diff --git a/tools/bzl/plugin.bzl b/tools/bzl/plugin.bzl
new file mode 100644
index 0000000..956dd59
--- /dev/null
+++ b/tools/bzl/plugin.bzl
@@ -0,0 +1,5 @@
+load(
+    "@com_googlesource_gerrit_bazlets//:gerrit_plugin.bzl",
+    "gerrit_plugin",
+    "PLUGIN_DEPS",
+)
diff --git a/tools/eclipse/BUILD b/tools/eclipse/BUILD
new file mode 100644
index 0000000..8ee09e9
--- /dev/null
+++ b/tools/eclipse/BUILD
@@ -0,0 +1,10 @@
+load("//tools/bzl:classpath.bzl", "classpath_collector")
+load("//tools/bzl:plugin.bzl", "PLUGIN_DEPS")
+
+classpath_collector(
+    name = "main_classpath_collect",
+    testonly = 1,
+    deps = PLUGIN_DEPS + [
+        "//:gitiles__classpath_deps",
+    ],
+)
diff --git a/tools/eclipse/project.sh b/tools/eclipse/project.sh
new file mode 100755
index 0000000..b9d8985
--- /dev/null
+++ b/tools/eclipse/project.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#Copyright (C) 2017 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+`bazel query @com_googlesource_gerrit_bazlets//tools/eclipse:project --output location | sed s/BUILD:.*//`project.py -n gitiles -r .
+
+
diff --git a/tools/workspace-status.sh b/tools/workspace-status.sh
new file mode 100755
index 0000000..c9e9129
--- /dev/null
+++ b/tools/workspace-status.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+#This script will be run by bazel when the build process starts to
+# generate key-value information that represents the status of the
+# workspace. The output should be like
+#
+# KEY1 VALUE1
+# KEY2 VALUE2
+#
+# If the script exits with non-zero code, it's considered as a failure
+# and the output will be discarded.
+
+function rev() {
+  cd $1 && git describe --always --match "v[0-9].*" --dirty
+}
+
+echo STABLE_BUILD_GITILES_LABEL "$(rev .)"
