Loading Ravenwood.bp +28 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ java_genrule { "--debug-log $(location hoststubgen_framework-minus-apex.log) " + "--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " + "--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " + "--out-impl-jar $(location ravenwood.jar) " + Loading @@ -58,6 +59,7 @@ java_genrule { "hoststubgen_framework-minus-apex.log", "hoststubgen_framework-minus-apex_stats.csv", "hoststubgen_framework-minus-apex_apis.csv", ], visibility: ["//visibility:private"], } Loading Loading @@ -90,6 +92,18 @@ genrule { ], } genrule { name: "framework-minus-apex.ravenwood.apis", defaults: ["ravenwood-internal-only-visibility-genrule"], cmd: "cp $(in) $(out)", srcs: [ ":framework-minus-apex.ravenwood-base{hoststubgen_framework-minus-apex_apis.csv}", ], out: [ "hoststubgen_framework-minus-apex_apis.csv", ], } java_library { name: "services.core-for-hoststubgen", installable: false, // host only jar. Loading @@ -108,6 +122,7 @@ java_genrule { "--debug-log $(location hoststubgen_services.core.log) " + "--stats-file $(location hoststubgen_services.core_stats.csv) " + "--supported-api-list-file $(location hoststubgen_services.core_apis.csv) " + "--out-impl-jar $(location ravenwood.jar) " + Loading @@ -132,6 +147,7 @@ java_genrule { "hoststubgen_services.core.log", "hoststubgen_services.core_stats.csv", "hoststubgen_services.core_apis.csv", ], visibility: ["//visibility:private"], } Loading Loading @@ -161,6 +177,18 @@ genrule { ], } genrule { name: "services.core.ravenwood.apis", defaults: ["ravenwood-internal-only-visibility-genrule"], cmd: "cp $(in) $(out)", srcs: [ ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}", ], out: [ "hoststubgen_services.core_apis.csv", ], } java_library { name: "services.core.ravenwood-jarjar", installable: false, Loading ravenwood/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ sh_test_host { test_suites: ["general-tests"], data: [ ":framework-minus-apex.ravenwood.stats", ":framework-minus-apex.ravenwood.apis", ":services.core.ravenwood.stats", ":services.core.ravenwood.apis", ], } ravenwood/scripts/ravenwood-stats-collector.sh +25 −8 Original line number Diff line number Diff line Loading @@ -17,8 +17,9 @@ set -e # Output file out=/tmp/ravenwood-stats-all.csv # Output files stats=/tmp/ravenwood-stats-all.csv apis=/tmp/ravenwood-apis-all.csv # Where the input files are. path=$ANDROID_BUILD_TOP/out/host/linux-x86/testcases/ravenwood-stats-checker/x86_64/ Loading @@ -41,12 +42,28 @@ dump() { sed -e '1d' -e "s/^/$jar,/" $file } collect() { collect_stats() { local out="$1" { echo 'Jar,PackageName,ClassName,SupportedMethods,TotalMethods' dump "framework-minus-apex" hoststubgen_framework-minus-apex_stats.csv dump "service.core" hoststubgen_services.core_stats.csv } > "$out" echo "Stats CVS created at $out" } collect_apis() { local out="$1" { echo 'Jar,PackageName,ClassName,MethodName,Descriptor' dump "framework-minus-apex" hoststubgen_framework-minus-apex_apis.csv dump "service.core" hoststubgen_services.core_apis.csv } > "$out" echo "API CVS created at $out" } collect >$out echo "Full dump CVS created at $out" collect_stats $stats collect_apis $apis tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt +5 −1 Original line number Diff line number Diff line Loading @@ -85,9 +85,13 @@ class HostStubGen(val options: HostStubGenOptions) { // Dump statistics, if specified. options.statsFile.ifSet { PrintWriter(it).use { pw -> stats.dump(pw) } PrintWriter(it).use { pw -> stats.dumpOverview(pw) } log.i("Dump file created at $it") } options.apiListFile.ifSet { PrintWriter(it).use { pw -> stats.dumpApis(pw) } log.i("API list file created at $it") } } /** Loading tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt +4 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,8 @@ class HostStubGenOptions( var enableNonStubMethodCallDetection: SetOnce<Boolean> = SetOnce(false), var statsFile: SetOnce<String?> = SetOnce(null), var apiListFile: SetOnce<String?> = SetOnce(null), ) { companion object { Loading Loading @@ -255,6 +257,7 @@ class HostStubGenOptions( "--debug-log" -> setLogFile(LogLevel.Debug, nextArg()) "--stats-file" -> ret.statsFile.setNextStringArg() "--supported-api-list-file" -> ret.apiListFile.setNextStringArg() else -> throw ArgumentsException("Unknown option: $arg") } Loading Loading @@ -392,6 +395,7 @@ class HostStubGenOptions( enablePostTrace=$enablePostTrace, enableNonStubMethodCallDetection=$enableNonStubMethodCallDetection, statsFile=$statsFile, apiListFile=$apiListFile, } """.trimIndent() } Loading Loading
Ravenwood.bp +28 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ java_genrule { "--debug-log $(location hoststubgen_framework-minus-apex.log) " + "--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " + "--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " + "--out-impl-jar $(location ravenwood.jar) " + Loading @@ -58,6 +59,7 @@ java_genrule { "hoststubgen_framework-minus-apex.log", "hoststubgen_framework-minus-apex_stats.csv", "hoststubgen_framework-minus-apex_apis.csv", ], visibility: ["//visibility:private"], } Loading Loading @@ -90,6 +92,18 @@ genrule { ], } genrule { name: "framework-minus-apex.ravenwood.apis", defaults: ["ravenwood-internal-only-visibility-genrule"], cmd: "cp $(in) $(out)", srcs: [ ":framework-minus-apex.ravenwood-base{hoststubgen_framework-minus-apex_apis.csv}", ], out: [ "hoststubgen_framework-minus-apex_apis.csv", ], } java_library { name: "services.core-for-hoststubgen", installable: false, // host only jar. Loading @@ -108,6 +122,7 @@ java_genrule { "--debug-log $(location hoststubgen_services.core.log) " + "--stats-file $(location hoststubgen_services.core_stats.csv) " + "--supported-api-list-file $(location hoststubgen_services.core_apis.csv) " + "--out-impl-jar $(location ravenwood.jar) " + Loading @@ -132,6 +147,7 @@ java_genrule { "hoststubgen_services.core.log", "hoststubgen_services.core_stats.csv", "hoststubgen_services.core_apis.csv", ], visibility: ["//visibility:private"], } Loading Loading @@ -161,6 +177,18 @@ genrule { ], } genrule { name: "services.core.ravenwood.apis", defaults: ["ravenwood-internal-only-visibility-genrule"], cmd: "cp $(in) $(out)", srcs: [ ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}", ], out: [ "hoststubgen_services.core_apis.csv", ], } java_library { name: "services.core.ravenwood-jarjar", installable: false, Loading
ravenwood/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,8 @@ sh_test_host { test_suites: ["general-tests"], data: [ ":framework-minus-apex.ravenwood.stats", ":framework-minus-apex.ravenwood.apis", ":services.core.ravenwood.stats", ":services.core.ravenwood.apis", ], }
ravenwood/scripts/ravenwood-stats-collector.sh +25 −8 Original line number Diff line number Diff line Loading @@ -17,8 +17,9 @@ set -e # Output file out=/tmp/ravenwood-stats-all.csv # Output files stats=/tmp/ravenwood-stats-all.csv apis=/tmp/ravenwood-apis-all.csv # Where the input files are. path=$ANDROID_BUILD_TOP/out/host/linux-x86/testcases/ravenwood-stats-checker/x86_64/ Loading @@ -41,12 +42,28 @@ dump() { sed -e '1d' -e "s/^/$jar,/" $file } collect() { collect_stats() { local out="$1" { echo 'Jar,PackageName,ClassName,SupportedMethods,TotalMethods' dump "framework-minus-apex" hoststubgen_framework-minus-apex_stats.csv dump "service.core" hoststubgen_services.core_stats.csv } > "$out" echo "Stats CVS created at $out" } collect_apis() { local out="$1" { echo 'Jar,PackageName,ClassName,MethodName,Descriptor' dump "framework-minus-apex" hoststubgen_framework-minus-apex_apis.csv dump "service.core" hoststubgen_services.core_apis.csv } > "$out" echo "API CVS created at $out" } collect >$out echo "Full dump CVS created at $out" collect_stats $stats collect_apis $apis
tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/HostStubGen.kt +5 −1 Original line number Diff line number Diff line Loading @@ -85,9 +85,13 @@ class HostStubGen(val options: HostStubGenOptions) { // Dump statistics, if specified. options.statsFile.ifSet { PrintWriter(it).use { pw -> stats.dump(pw) } PrintWriter(it).use { pw -> stats.dumpOverview(pw) } log.i("Dump file created at $it") } options.apiListFile.ifSet { PrintWriter(it).use { pw -> stats.dumpApis(pw) } log.i("API list file created at $it") } } /** Loading
tools/hoststubgen/hoststubgen/src/com/android/hoststubgen/HostStubGenOptions.kt +4 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,8 @@ class HostStubGenOptions( var enableNonStubMethodCallDetection: SetOnce<Boolean> = SetOnce(false), var statsFile: SetOnce<String?> = SetOnce(null), var apiListFile: SetOnce<String?> = SetOnce(null), ) { companion object { Loading Loading @@ -255,6 +257,7 @@ class HostStubGenOptions( "--debug-log" -> setLogFile(LogLevel.Debug, nextArg()) "--stats-file" -> ret.statsFile.setNextStringArg() "--supported-api-list-file" -> ret.apiListFile.setNextStringArg() else -> throw ArgumentsException("Unknown option: $arg") } Loading Loading @@ -392,6 +395,7 @@ class HostStubGenOptions( enablePostTrace=$enablePostTrace, enableNonStubMethodCallDetection=$enableNonStubMethodCallDetection, statsFile=$statsFile, apiListFile=$apiListFile, } """.trimIndent() } Loading