Merge "ChangeQueryBuilder: Fix root directory case for Elasticsearch" into stable-3.0
diff --git a/WORKSPACE b/WORKSPACE
index 626d36a..af70419 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -4,6 +4,7 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
 load("//tools/bzl:maven_jar.bzl", "GERRIT", "MAVEN_LOCAL", "maven_jar")
 load("//plugins:external_plugin_deps.bzl", "external_plugin_deps")
+load("//tools:nongoogle.bzl", "declare_nongoogle_deps")
 
 http_archive(
     name = "bazel_skylib",
@@ -596,12 +597,7 @@
     sha1 = "c3dad10377f0e2242c9a4b88e9704eaf79103679",
 )
 
-# Transitive dependency of commons-compress
-maven_jar(
-    name = "tukaani-xz",
-    artifact = "org.tukaani:xz:1.6",
-    sha1 = "05b6f921f1810bdf90e25471968f741f87168b64",
-)
+declare_nongoogle_deps()
 
 LUCENE_VERS = "6.6.5"
 
diff --git a/lib/BUILD b/lib/BUILD
index c995d3b..56305a5 100644
--- a/lib/BUILD
+++ b/lib/BUILD
@@ -459,3 +459,9 @@
     visibility = ["//visibility:public"],
     exports = ["@icu4j//jar"],
 )
+
+sh_test(
+    name = "nongoogle_test",
+    srcs = ["nongoogle_test.sh"],
+    data = ["//tools:nongoogle.bzl"],
+)
diff --git a/lib/nongoogle_test.sh b/lib/nongoogle_test.sh
new file mode 100755
index 0000000..23b40ad
--- /dev/null
+++ b/lib/nongoogle_test.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# This test ensures that new dependencies in nongoogle.bzl go through LC review.
+
+set -eux
+
+bzl=$(pwd)/tools/nongoogle.bzl
+
+TMP=$(mktemp -d || mktemp -d -t /tmp/tmp.XXXXXX)
+
+grep 'name = "[^"]*"' ${bzl} | sed 's|^[^"]*"||g;s|".*$||g' | sort > $TMP/names
+
+cat << EOF > $TMP/want
+tukaani-xz
+EOF
+
+diff -u $TMP/names $TMP/want
diff --git a/tools/BUILD b/tools/BUILD
index ddd2a51..6266456 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -4,6 +4,8 @@
     "default_java_toolchain",
 )
 
+exports_files(["nongoogle.bzl"])
+
 py_binary(
     name = "merge_jars",
     srcs = ["merge_jars.py"],
diff --git a/tools/nongoogle.bzl b/tools/nongoogle.bzl
new file mode 100644
index 0000000..2e84717
--- /dev/null
+++ b/tools/nongoogle.bzl
@@ -0,0 +1,16 @@
+load("//tools/bzl:maven_jar.bzl", "maven_jar")
+
+def declare_nongoogle_deps():
+    """loads dependencies that are not used at Google.
+
+    Changes to versions are exempt from library compliance review. New
+    dependencies must pass through library compliance review. This is
+    enforced by //lib:nongoogle_test.
+    """
+
+    # Transitive dependency of commons-compress
+    maven_jar(
+        name = "tukaani-xz",
+        artifact = "org.tukaani:xz:1.6",
+        sha1 = "05b6f921f1810bdf90e25471968f741f87168b64",
+    )