Loading ravenwood/Android.bp +1 −4 Original line number Diff line number Diff line Loading @@ -314,21 +314,18 @@ sh_test_host { src: "scripts/ravenwood-stats-checker.sh", test_suites: ["general-tests"], device_common_data: [ ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_stats.csv}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_apis.csv}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_keep_all.txt}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_dump.txt}", ":services.core.ravenwood-base{hoststubgen_services.core_stats.csv}", ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}", ":services.core.ravenwood-base{hoststubgen_services.core_keep_all.txt}", ":services.core.ravenwood-base{hoststubgen_services.core_dump.txt}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_stats.csv}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_apis.csv}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_keep_all.txt}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_dump.txt}", ":framework-statsd.ravenwood-base{framework-statsd_stats.csv}", ":framework-statsd.ravenwood-base{framework-statsd_apis.csv}", ":framework-statsd.ravenwood-base{framework-statsd_keep_all.txt}", ":framework-statsd.ravenwood-base{framework-statsd_dump.txt}", Loading ravenwood/Framework.bp +0 −12 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ java_genrule { name: "framework-minus-apex.ravenwood-base_all", defaults: ["framework-minus-apex.ravenwood-base_defaults"], cmd: framework_minus_apex_cmd + "--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " + "--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " + "--gen-keep-all-file $(location hoststubgen_framework-minus-apex_keep_all.txt) " + Loading @@ -133,7 +132,6 @@ java_genrule { out: [ "hoststubgen_framework-minus-apex_keep_all.txt", "hoststubgen_framework-minus-apex_dump.txt", "hoststubgen_framework-minus-apex_stats.csv", "hoststubgen_framework-minus-apex_apis.csv", ], } Loading Loading @@ -183,7 +181,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--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) " + "--gen-keep-all-file $(location hoststubgen_services.core_keep_all.txt) " + "--gen-input-dump-file $(location hoststubgen_services.core_dump.txt) " + Loading @@ -210,7 +207,6 @@ java_genrule { "hoststubgen_services.core_dump.txt", "hoststubgen_services.core.log", "hoststubgen_services.core_stats.csv", "hoststubgen_services.core_apis.csv", ], visibility: ["//visibility:private"], Loading Loading @@ -248,7 +244,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location hoststubgen_core-icu4j-for-host.log) " + "--stats-file $(location hoststubgen_core-icu4j-for-host_stats.csv) " + "--supported-api-list-file $(location hoststubgen_core-icu4j-for-host_apis.csv) " + "--gen-keep-all-file $(location hoststubgen_core-icu4j-for-host_keep_all.txt) " + "--gen-input-dump-file $(location hoststubgen_core-icu4j-for-host_dump.txt) " + Loading @@ -274,7 +269,6 @@ java_genrule { "hoststubgen_core-icu4j-for-host_dump.txt", "hoststubgen_core-icu4j-for-host.log", "hoststubgen_core-icu4j-for-host_stats.csv", "hoststubgen_core-icu4j-for-host_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -298,7 +292,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-configinfrastructure.log) " + "--stats-file $(location framework-configinfrastructure_stats.csv) " + "--supported-api-list-file $(location framework-configinfrastructure_apis.csv) " + "--gen-keep-all-file $(location framework-configinfrastructure_keep_all.txt) " + "--gen-input-dump-file $(location framework-configinfrastructure_dump.txt) " + Loading @@ -324,7 +317,6 @@ java_genrule { "framework-configinfrastructure_dump.txt", "framework-configinfrastructure.log", "framework-configinfrastructure_stats.csv", "framework-configinfrastructure_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -348,7 +340,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-statsd.log) " + "--stats-file $(location framework-statsd_stats.csv) " + "--supported-api-list-file $(location framework-statsd_apis.csv) " + "--gen-keep-all-file $(location framework-statsd_keep_all.txt) " + "--gen-input-dump-file $(location framework-statsd_dump.txt) " + Loading @@ -374,7 +365,6 @@ java_genrule { "framework-statsd_dump.txt", "framework-statsd.log", "framework-statsd_stats.csv", "framework-statsd_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -398,7 +388,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-graphics.log) " + "--stats-file $(location framework-graphics_stats.csv) " + "--supported-api-list-file $(location framework-graphics_apis.csv) " + "--gen-keep-all-file $(location framework-graphics_keep_all.txt) " + "--gen-input-dump-file $(location framework-graphics_dump.txt) " + Loading @@ -424,7 +413,6 @@ java_genrule { "framework-graphics_dump.txt", "framework-graphics.log", "framework-graphics_stats.csv", "framework-graphics_apis.csv", ], visibility: ["//visibility:private"], Loading ravenwood/scripts/ravenwood-stats-collector.sh +0 −20 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ set -e # Output files out_dir=/tmp/ravenwood stats=$out_dir/ravenwood-stats-all.csv apis=$out_dir/ravenwood-apis-all.csv keep_all_dir=$out_dir/ravenwood-keep-all/ dump_dir=$out_dir/ravenwood-dump/ Loading Loading @@ -78,23 +77,6 @@ dump() { sed -e '1d' -e "s/^/$jar,$timestamp,/" $file } collect_stats() { local out="$1" local desc="$2" { # Copy the header, with the first column appended. echo -n "Jar,Generated Date," head -n 1 hoststubgen_framework-minus-apex_stats.csv dump "framework-minus-apex" hoststubgen_framework-minus-apex_stats.csv dump "service.core" hoststubgen_services.core_stats.csv dump "framework-configinfrastructure" framework-configinfrastructure_stats.csv dump "framework-statsd" framework-statsd_stats.csv } > "$out" echo "Stats CVS created at $out$desc" } collect_apis() { local out="$1" local desc="$2" Loading @@ -112,8 +94,6 @@ collect_apis() { echo "API CVS created at $out$desc" } collect_stats $stats " (import it as 'ravenwood_stats')" collect_apis $apis " (import it as 'ravenwood_supported_apis2')" cp *keep_all.txt $keep_all_dir Loading ravenwood/tools/hoststubgen/lib/com/android/hoststubgen/HostStubGenClassProcessor.kt +0 −2 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ class HostStubGenClassProcessor( private val options: HostStubGenClassProcessorOptions, val allClasses: ClassNodes, private val errors: HostStubGenErrors = HostStubGenErrors(), private val stats: HostStubGenStats? = null, ) { val filter = buildFilter() val remapper = FilterRemapper(filter) Loading Loading @@ -149,7 +148,6 @@ class HostStubGenClassProcessor( val visitorOptions = BaseAdapter.Options( errors = errors, stats = stats, deleteClassFinals = options.deleteFinals.get, deleteMethodFinals = options.deleteFinals.get, throwExceptionType = options.throwExceptionType.get, Loading ravenwood/tools/hoststubgen/lib/com/android/hoststubgen/HostStubGenStats.ktdeleted 100644 → 0 +0 −91 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.hoststubgen import com.android.hoststubgen.asm.ClassNodes import com.android.hoststubgen.asm.getOuterClassNameFromFullClassName import com.android.hoststubgen.asm.getPackageNameFromFullClassName import com.android.hoststubgen.filters.FilterPolicyWithReason import com.android.hoststubgen.filters.StatsLabel import org.objectweb.asm.Opcodes import java.io.PrintWriter /** * This class is no longer used. It was used for the old ravenwood dashboard. (b/402797626) * * TODO: Delete the class. */ open class HostStubGenStats(val classes: ClassNodes) { data class Stats( var supported: Int = 0, var total: Int = 0, val children: MutableMap<String, Stats> = mutableMapOf<String, Stats>(), ) private val stats = mutableMapOf<String, Stats>() fun onVisitPolicyForMethod( fullClassName: String, methodName: String, descriptor: String, policy: FilterPolicyWithReason, access: Int ) { // Ignore methods that aren't public if ((access and Opcodes.ACC_PUBLIC) == 0) return // Ignore methods that are abstract if ((access and Opcodes.ACC_ABSTRACT) != 0) return // Ignore methods where policy isn't relevant val statsLabel = policy.statsLabel if (statsLabel == StatsLabel.Ignored) return val cn = classes.findClass(fullClassName) ?: return val packageName = getPackageNameFromFullClassName(fullClassName) val className = getOuterClassNameFromFullClassName(fullClassName) // Ignore methods for certain generated code if (className.endsWith("Proto") or className.endsWith("ProtoEnums") or className.endsWith("LogTags") or className.endsWith("StatsLog")) { return } val packageStats = stats.getOrPut(packageName) { Stats() } val classStats = packageStats.children.getOrPut(className) { Stats() } if (statsLabel == StatsLabel.Supported) { packageStats.supported += 1 classStats.supported += 1 } packageStats.total += 1 classStats.total += 1 } fun dumpOverview(pw: PrintWriter) { pw.printf("PackageName,ClassName,SupportedMethods,TotalMethods\n") stats.toSortedMap().forEach { (packageName, packageStats) -> if (packageStats.supported > 0) { packageStats.children.toSortedMap().forEach { (className, classStats) -> pw.printf("%s,%s,%d,%d\n", packageName, className, classStats.supported, classStats.total) } } } } } Loading
ravenwood/Android.bp +1 −4 Original line number Diff line number Diff line Loading @@ -314,21 +314,18 @@ sh_test_host { src: "scripts/ravenwood-stats-checker.sh", test_suites: ["general-tests"], device_common_data: [ ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_stats.csv}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_apis.csv}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_keep_all.txt}", ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_dump.txt}", ":services.core.ravenwood-base{hoststubgen_services.core_stats.csv}", ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}", ":services.core.ravenwood-base{hoststubgen_services.core_keep_all.txt}", ":services.core.ravenwood-base{hoststubgen_services.core_dump.txt}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_stats.csv}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_apis.csv}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_keep_all.txt}", ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_dump.txt}", ":framework-statsd.ravenwood-base{framework-statsd_stats.csv}", ":framework-statsd.ravenwood-base{framework-statsd_apis.csv}", ":framework-statsd.ravenwood-base{framework-statsd_keep_all.txt}", ":framework-statsd.ravenwood-base{framework-statsd_dump.txt}", Loading
ravenwood/Framework.bp +0 −12 Original line number Diff line number Diff line Loading @@ -124,7 +124,6 @@ java_genrule { name: "framework-minus-apex.ravenwood-base_all", defaults: ["framework-minus-apex.ravenwood-base_defaults"], cmd: framework_minus_apex_cmd + "--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " + "--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " + "--gen-keep-all-file $(location hoststubgen_framework-minus-apex_keep_all.txt) " + Loading @@ -133,7 +132,6 @@ java_genrule { out: [ "hoststubgen_framework-minus-apex_keep_all.txt", "hoststubgen_framework-minus-apex_dump.txt", "hoststubgen_framework-minus-apex_stats.csv", "hoststubgen_framework-minus-apex_apis.csv", ], } Loading Loading @@ -183,7 +181,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--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) " + "--gen-keep-all-file $(location hoststubgen_services.core_keep_all.txt) " + "--gen-input-dump-file $(location hoststubgen_services.core_dump.txt) " + Loading @@ -210,7 +207,6 @@ java_genrule { "hoststubgen_services.core_dump.txt", "hoststubgen_services.core.log", "hoststubgen_services.core_stats.csv", "hoststubgen_services.core_apis.csv", ], visibility: ["//visibility:private"], Loading Loading @@ -248,7 +244,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location hoststubgen_core-icu4j-for-host.log) " + "--stats-file $(location hoststubgen_core-icu4j-for-host_stats.csv) " + "--supported-api-list-file $(location hoststubgen_core-icu4j-for-host_apis.csv) " + "--gen-keep-all-file $(location hoststubgen_core-icu4j-for-host_keep_all.txt) " + "--gen-input-dump-file $(location hoststubgen_core-icu4j-for-host_dump.txt) " + Loading @@ -274,7 +269,6 @@ java_genrule { "hoststubgen_core-icu4j-for-host_dump.txt", "hoststubgen_core-icu4j-for-host.log", "hoststubgen_core-icu4j-for-host_stats.csv", "hoststubgen_core-icu4j-for-host_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -298,7 +292,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-configinfrastructure.log) " + "--stats-file $(location framework-configinfrastructure_stats.csv) " + "--supported-api-list-file $(location framework-configinfrastructure_apis.csv) " + "--gen-keep-all-file $(location framework-configinfrastructure_keep_all.txt) " + "--gen-input-dump-file $(location framework-configinfrastructure_dump.txt) " + Loading @@ -324,7 +317,6 @@ java_genrule { "framework-configinfrastructure_dump.txt", "framework-configinfrastructure.log", "framework-configinfrastructure_stats.csv", "framework-configinfrastructure_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -348,7 +340,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-statsd.log) " + "--stats-file $(location framework-statsd_stats.csv) " + "--supported-api-list-file $(location framework-statsd_apis.csv) " + "--gen-keep-all-file $(location framework-statsd_keep_all.txt) " + "--gen-input-dump-file $(location framework-statsd_dump.txt) " + Loading @@ -374,7 +365,6 @@ java_genrule { "framework-statsd_dump.txt", "framework-statsd.log", "framework-statsd_stats.csv", "framework-statsd_apis.csv", ], visibility: ["//visibility:private"], Loading @@ -398,7 +388,6 @@ java_genrule { "@$(location :ravenwood-common-options) " + "--debug-log $(location framework-graphics.log) " + "--stats-file $(location framework-graphics_stats.csv) " + "--supported-api-list-file $(location framework-graphics_apis.csv) " + "--gen-keep-all-file $(location framework-graphics_keep_all.txt) " + "--gen-input-dump-file $(location framework-graphics_dump.txt) " + Loading @@ -424,7 +413,6 @@ java_genrule { "framework-graphics_dump.txt", "framework-graphics.log", "framework-graphics_stats.csv", "framework-graphics_apis.csv", ], visibility: ["//visibility:private"], Loading
ravenwood/scripts/ravenwood-stats-collector.sh +0 −20 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ set -e # Output files out_dir=/tmp/ravenwood stats=$out_dir/ravenwood-stats-all.csv apis=$out_dir/ravenwood-apis-all.csv keep_all_dir=$out_dir/ravenwood-keep-all/ dump_dir=$out_dir/ravenwood-dump/ Loading Loading @@ -78,23 +77,6 @@ dump() { sed -e '1d' -e "s/^/$jar,$timestamp,/" $file } collect_stats() { local out="$1" local desc="$2" { # Copy the header, with the first column appended. echo -n "Jar,Generated Date," head -n 1 hoststubgen_framework-minus-apex_stats.csv dump "framework-minus-apex" hoststubgen_framework-minus-apex_stats.csv dump "service.core" hoststubgen_services.core_stats.csv dump "framework-configinfrastructure" framework-configinfrastructure_stats.csv dump "framework-statsd" framework-statsd_stats.csv } > "$out" echo "Stats CVS created at $out$desc" } collect_apis() { local out="$1" local desc="$2" Loading @@ -112,8 +94,6 @@ collect_apis() { echo "API CVS created at $out$desc" } collect_stats $stats " (import it as 'ravenwood_stats')" collect_apis $apis " (import it as 'ravenwood_supported_apis2')" cp *keep_all.txt $keep_all_dir Loading
ravenwood/tools/hoststubgen/lib/com/android/hoststubgen/HostStubGenClassProcessor.kt +0 −2 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ class HostStubGenClassProcessor( private val options: HostStubGenClassProcessorOptions, val allClasses: ClassNodes, private val errors: HostStubGenErrors = HostStubGenErrors(), private val stats: HostStubGenStats? = null, ) { val filter = buildFilter() val remapper = FilterRemapper(filter) Loading Loading @@ -149,7 +148,6 @@ class HostStubGenClassProcessor( val visitorOptions = BaseAdapter.Options( errors = errors, stats = stats, deleteClassFinals = options.deleteFinals.get, deleteMethodFinals = options.deleteFinals.get, throwExceptionType = options.throwExceptionType.get, Loading
ravenwood/tools/hoststubgen/lib/com/android/hoststubgen/HostStubGenStats.ktdeleted 100644 → 0 +0 −91 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.hoststubgen import com.android.hoststubgen.asm.ClassNodes import com.android.hoststubgen.asm.getOuterClassNameFromFullClassName import com.android.hoststubgen.asm.getPackageNameFromFullClassName import com.android.hoststubgen.filters.FilterPolicyWithReason import com.android.hoststubgen.filters.StatsLabel import org.objectweb.asm.Opcodes import java.io.PrintWriter /** * This class is no longer used. It was used for the old ravenwood dashboard. (b/402797626) * * TODO: Delete the class. */ open class HostStubGenStats(val classes: ClassNodes) { data class Stats( var supported: Int = 0, var total: Int = 0, val children: MutableMap<String, Stats> = mutableMapOf<String, Stats>(), ) private val stats = mutableMapOf<String, Stats>() fun onVisitPolicyForMethod( fullClassName: String, methodName: String, descriptor: String, policy: FilterPolicyWithReason, access: Int ) { // Ignore methods that aren't public if ((access and Opcodes.ACC_PUBLIC) == 0) return // Ignore methods that are abstract if ((access and Opcodes.ACC_ABSTRACT) != 0) return // Ignore methods where policy isn't relevant val statsLabel = policy.statsLabel if (statsLabel == StatsLabel.Ignored) return val cn = classes.findClass(fullClassName) ?: return val packageName = getPackageNameFromFullClassName(fullClassName) val className = getOuterClassNameFromFullClassName(fullClassName) // Ignore methods for certain generated code if (className.endsWith("Proto") or className.endsWith("ProtoEnums") or className.endsWith("LogTags") or className.endsWith("StatsLog")) { return } val packageStats = stats.getOrPut(packageName) { Stats() } val classStats = packageStats.children.getOrPut(className) { Stats() } if (statsLabel == StatsLabel.Supported) { packageStats.supported += 1 classStats.supported += 1 } packageStats.total += 1 classStats.total += 1 } fun dumpOverview(pw: PrintWriter) { pw.printf("PackageName,ClassName,SupportedMethods,TotalMethods\n") stats.toSortedMap().forEach { (packageName, packageStats) -> if (packageStats.supported > 0) { packageStats.children.toSortedMap().forEach { (className, classStats) -> pw.printf("%s,%s,%d,%d\n", packageName, className, classStats.supported, classStats.total) } } } } }