Merge branch 'master' into karthik/gflagsrm
diff --git a/WORKSPACE b/WORKSPACE
index a384148..e29405b 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -783,6 +783,14 @@
 )
 # end pex repos
 
+# 3rdparty C++ dependencies
+http_archive(
+    name = "com_github_gflags_gflags",
+    urls = ["https://github.com/gflags/gflags/archive/v2.2.1.tar.gz"],
+    strip_prefix = "gflags-2.2.1",
+)
+# end 3rdparty C++ dependencies
+
 # for helm
 new_http_archive(
     name = "helm_mac",
diff --git a/heron/common/src/cpp/basics/BUILD b/heron/common/src/cpp/basics/BUILD
index d25e589..dffb8ee 100644
--- a/heron/common/src/cpp/basics/BUILD
+++ b/heron/common/src/cpp/basics/BUILD
@@ -47,6 +47,7 @@
     deps = [
         "//config:config-cxx",
         "//third_party/glog:glog-cxx",
+        "@com_github_gflags_gflags//:gflags",
         "//third_party/gperftools:tcmalloc-cxx",
         "//third_party/kashmir:kashmir-cxx",
         "//third_party/protobuf:protobuf-cxx",
diff --git a/third_party/gflags/BUILD b/third_party/gflags/BUILD
deleted file mode 100644
index 094cef1..0000000
--- a/third_party/gflags/BUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-licenses(["notice"])
-
-package(default_visibility = ["//visibility:public"])
-
-pkg_name = "gflags"
-pkg_version = "2.2.1"
-
-package_file = pkg_name + "-" + pkg_version + ".tar.gz"
-package_dir = pkg_name + "-" + pkg_version
-
-include_files = [
-    "include/gflags/gflags.h",
-    "include/gflags/gflags_completions.h",
-    "include/gflags/gflags_declare.h",
-    "include/gflags/gflags_gflags.h",
-]
-
-lib_files = [
-    "lib/libgflags.a",
-    "lib/libgflags_nothreads.a",
-]
-
-genrule(
-    name = "gflags-srcs",
-    srcs = [package_file],
-    outs = include_files + lib_files,
-    cmd = "\n".join([
-        'export INSTALL_DIR=$$(pwd)/$(@D)',
-        'export TMP_DIR=$$(mktemp -d -t gflags.XXXXX)',
-        'mkdir -p $$TMP_DIR',
-        'cp -R $(SRCS) $$TMP_DIR',
-        'cd $$TMP_DIR',
-        'tar xfz ' + package_file,
-        'cd ' + package_dir,
-        'cmake -DCMAKE_INSTALL_PREFIX:PATH=$$INSTALL_DIR .',
-        'make install',
-        'rm -rf $$TMP_DIR',
-    ]),
-)
-
-
-cc_library(
-    name = "gflags-cxx",
-    srcs = [
-        "empty.cc",
-        "lib/libgflags.a",
-    ],
-    hdrs = include_files,
-    includes = [
-        "include",
-    ],
-    linkstatic = 1,
-)
-
-filegroup(
-    name = "gflags",
-    srcs = [
-        ":gflags-cxx",
-    ]
-)
-
-filegroup(
-    name = "gflags-files",
-    srcs = include_files + lib_files,
-)
diff --git a/third_party/gflags/empty.cc b/third_party/gflags/empty.cc
deleted file mode 100644
index b890e73..0000000
--- a/third_party/gflags/empty.cc
+++ /dev/null
@@ -1,2 +0,0 @@
-void _empty_gflags_xyz() {
-}
diff --git a/third_party/gflags/gflags-2.2.1.tar.gz b/third_party/gflags/gflags-2.2.1.tar.gz
deleted file mode 100644
index 9c5a6b9..0000000
--- a/third_party/gflags/gflags-2.2.1.tar.gz
+++ /dev/null
Binary files differ
diff --git a/third_party/glog/BUILD b/third_party/glog/BUILD
index f2d681c..870a4cf 100644
--- a/third_party/glog/BUILD
+++ b/third_party/glog/BUILD
@@ -65,9 +65,6 @@
 cc_library(
     name = "glog-cxx",
     srcs = ["empty.cc"] + lib_files,
-    deps = [
-      "//third_party/gflags:gflags-cxx",
-    ],
     hdrs = include_files,
     includes = [
         "include",
diff --git a/tools/java/src/com/twitter/bazel/checkstyle/CppCheckstyle.java b/tools/java/src/com/twitter/bazel/checkstyle/CppCheckstyle.java
index d1b6f87..32c6c75 100644
--- a/tools/java/src/com/twitter/bazel/checkstyle/CppCheckstyle.java
+++ b/tools/java/src/com/twitter/bazel/checkstyle/CppCheckstyle.java
@@ -131,6 +131,7 @@
     return Collections2.filter(
             cppInfo.getSourcesAndHeadersList(),
             Predicates.and(
+                    Predicates.not(Predicates.containsPattern("external/")),
                     Predicates.not(Predicates.containsPattern("third_party/")),
                     Predicates.not(Predicates.containsPattern("config/heron-config.h")),
                     Predicates.not(Predicates.containsPattern(".*pb.h$")),