tool: properly handle -version

Change-Id: I1ac0a1d1f81bd701d8e06aab5a840eb714b52243
Reviewed-on: http://gerrit.cloudera.org:8080/4036
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/30bad3d2
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/30bad3d2
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/30bad3d2

Branch: refs/heads/master
Commit: 30bad3d2c3471af6e295312bdfab02375653bae2
Parents: 00dd9fd
Author: Todd Lipcon <[email protected]>
Authored: Wed Aug 17 23:03:08 2016 -0700
Committer: Todd Lipcon <[email protected]>
Committed: Fri Aug 19 18:48:28 2016 +0000

----------------------------------------------------------------------
 src/kudu/tools/tool_main.cc | 2 +-
 src/kudu/util/flags.cc      | 6 ++++--
 src/kudu/util/flags.h       | 7 +++++++
 3 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/30bad3d2/src/kudu/tools/tool_main.cc
----------------------------------------------------------------------
diff --git a/src/kudu/tools/tool_main.cc b/src/kudu/tools/tool_main.cc
index 8743b7a..caaca9b 100644
--- a/src/kudu/tools/tool_main.cc
+++ b/src/kudu/tools/tool_main.cc
@@ -197,7 +197,7 @@ static bool ParseCommandLineFlags(int* argc, char*** argv) {
     FLAGS_helpxml = false;
     show_help = true;
   }
-  gflags::HandleCommandLineHelpFlags();
+  kudu::HandleCommonFlags();
   return show_help;
 }
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/30bad3d2/src/kudu/util/flags.cc
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags.cc b/src/kudu/util/flags.cc
index 1887f9e..7a5e1ed 100644
--- a/src/kudu/util/flags.cc
+++ b/src/kudu/util/flags.cc
@@ -264,7 +264,11 @@ void ShowVersionAndExit() {
 
 int ParseCommandLineFlags(int* argc, char*** argv, bool remove_flags) {
   int ret = google::ParseCommandLineNonHelpFlags(argc, argv, remove_flags);
+  HandleCommonFlags();
+  return ret;
+}
 
+void HandleCommonFlags() {
   if (FLAGS_helpxml) {
     DumpFlagsXML();
   } else if (FLAGS_dump_metrics_json) {
@@ -289,8 +293,6 @@ int ParseCommandLineFlags(int* argc, char*** argv, bool 
remove_flags) {
     HeapProfilerStart(FLAGS_heap_profile_path.c_str());
   }
 #endif
-
-  return ret;
 }
 
 } // namespace kudu

http://git-wip-us.apache.org/repos/asf/kudu/blob/30bad3d2/src/kudu/util/flags.h
----------------------------------------------------------------------
diff --git a/src/kudu/util/flags.h b/src/kudu/util/flags.h
index 8cbd255..a9cd93b 100644
--- a/src/kudu/util/flags.h
+++ b/src/kudu/util/flags.h
@@ -35,5 +35,12 @@ namespace kudu {
 // See gflags.h for more information.
 int ParseCommandLineFlags(int* argc, char*** argv, bool remove_flags);
 
+// Handle common flags such as -version, -disable_core_dumps, etc.
+// This includes the GFlags common flags such as "-help".
+//
+// Requires that flags have already been parsed using
+// google::ParseCommandLineNonHelpFlags().
+void HandleCommonFlags();
+
 } // namespace kudu
 #endif /* KUDU_UTIL_FLAGS_H */

Reply via email to