From 5ae770fc0e43172e1efc5146a38e7d1f452143e2 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Tue, 8 Dec 2009 12:45:02 -0800 Subject: [PATCH] add option to @hide classes generated from .logtags files Generate a javadoc @hide comment on the class when "option javadoc_hide true" is specified in the input .logtags file. --- tools/event_log_tags.py | 12 ++++++++++++ tools/java-event-log-tags.py | 9 +++++++++ 2 files changed, 21 insertions(+) diff --git a/tools/event_log_tags.py b/tools/event_log_tags.py index fc05affba..4e6d96018 100644 --- a/tools/event_log_tags.py +++ b/tools/event_log_tags.py @@ -93,6 +93,18 @@ class TagFile(object): self.AddError(str(e)) +def BooleanFromString(s): + """Interpret 's' as a boolean and return its value. Raise + ValueError if it's not something we can interpret as true or + false.""" + s = s.lower() + if s in ("true", "t", "1", "on", "yes", "y"): + return True + if s in ("false", "f", "0", "off", "no", "n"): + return False + raise ValueError("'%s' not a valid boolean" % (s,)) + + def WriteOutput(output_file, data): """Write 'data' to the given output filename (which may be None to indicate stdout). Emit an error message and die on any failure. diff --git a/tools/java-event-log-tags.py b/tools/java-event-log-tags.py index f8374b07a..20b8ca485 100755 --- a/tools/java-event-log-tags.py +++ b/tools/java-event-log-tags.py @@ -60,6 +60,10 @@ tagfile = event_log_tags.TagFile(fn) if "java_package" not in tagfile.options: tagfile.AddError("java_package option not specified", linenum=0) +hide = True +if "javadoc_hide" in tagfile.options: + hide = event_log_tags.BooleanFromString(tagfile.options["javadoc_hide"][0]) + if tagfile.errors: for fn, ln, msg in tagfile.errors: print >> sys.stderr, "%s:%d: error: %s" % (fn, ln, msg) @@ -73,6 +77,11 @@ buffer.write("/* This file is auto-generated. DO NOT MODIFY.\n" buffer.write("package %s;\n\n" % (tagfile.options["java_package"][0],)) basename, _ = os.path.splitext(os.path.basename(fn)) + +if hide: + buffer.write("/**\n" + " * @hide\n" + " */\n") buffer.write("public class %s {\n" % (basename,)) buffer.write(" private %s() { } // don't instantiate\n" % (basename,)) -- 2.11.0