diff options
author | Steven Laver <lavers@google.com> | 2020-02-13 20:29:13 -0800 |
---|---|---|
committer | Steven Laver <lavers@google.com> | 2020-02-13 20:29:13 -0800 |
commit | d28a4f6b38dbab44128b4319f665dd65c3e4ec2c (patch) | |
tree | 680912fe833379242ee026450323ed4f34a6c64b /tools/stats_log_api_gen/main.cpp | |
parent | 029ad4fa703b5dcb74e8c4c272617464a9ba5fc8 (diff) | |
parent | 852c9950280d93875c529e4cae8396d94176f66e (diff) |
Merge RP1A.200204.001
Change-Id: I1e6c199dbee77379f84675965391c839eae04961
Diffstat (limited to 'tools/stats_log_api_gen/main.cpp')
-rw-r--r-- | tools/stats_log_api_gen/main.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/tools/stats_log_api_gen/main.cpp b/tools/stats_log_api_gen/main.cpp index 6089532e1ca4..ddbf22c7f12a 100644 --- a/tools/stats_log_api_gen/main.cpp +++ b/tools/stats_log_api_gen/main.cpp @@ -511,8 +511,10 @@ print_usage() fprintf(stderr, " --javaClass CLASS the class name of the java class.\n"); fprintf(stderr, " Optional for Java with module.\n"); fprintf(stderr, " Default is \"StatsLogInternal\"\n"); - fprintf(stderr, " --supportQ Include support for Android Q.\n"); + fprintf(stderr, " --supportQ Include runtime support for Android Q.\n"); fprintf(stderr, " --worksource Include support for logging WorkSource objects.\n"); + fprintf(stderr, " --compileQ Include compile-time support for Android Q " + "(Java only).\n"); } /** @@ -536,6 +538,7 @@ run(int argc, char const*const* argv) string javaClass = DEFAULT_JAVA_CLASS; bool supportQ = false; bool supportWorkSource = false; + bool compileQ = false; int index = 1; while (index < argc) { @@ -630,6 +633,8 @@ run(int argc, char const*const* argv) supportQ = true; } else if (0 == strcmp("--worksource", argv[index])) { supportWorkSource = true; + } else if (0 == strcmp("--compileQ", argv[index])) { + compileQ = true; } index++; @@ -645,12 +650,18 @@ run(int argc, char const*const* argv) return 1; } - if (DEFAULT_MODULE_NAME == moduleName && supportQ) { + if (DEFAULT_MODULE_NAME == moduleName && (supportQ || compileQ)) { // Support for Q schema is not needed for default module. fprintf(stderr, "%s cannot support Q schema\n", moduleName.c_str()); return 1; } + if (supportQ && compileQ) { + // Runtime Q support is redundant if compile-time Q support is required. + fprintf(stderr, "Cannot specify compileQ and supportQ simultaneously.\n"); + return 1; + } + // Collate the parameters Atoms atoms; int errorCount = collate_atoms(Atom::descriptor(), &atoms); @@ -748,9 +759,15 @@ run(int argc, char const*const* argv) javaClass = "StatsLogInternal"; javaPackage = "android.util"; } - errorCount = android::stats_log_api_gen::write_stats_log_java( - out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ, - supportWorkSource); + if (compileQ) { + errorCount = android::stats_log_api_gen::write_stats_log_java_q_for_module( + out, atoms, attributionDecl, moduleName, javaClass, javaPackage, + supportWorkSource); + } else { + errorCount = android::stats_log_api_gen::write_stats_log_java( + out, atoms, attributionDecl, moduleName, javaClass, javaPackage, supportQ, + supportWorkSource); + } #endif fclose(out); |