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 */
