Merge "Remove unused compliance_bom tool" into main
diff --git a/ci/Android.bp b/ci/Android.bp
index 3f28be4..757767c 100644
--- a/ci/Android.bp
+++ b/ci/Android.bp
@@ -35,11 +35,6 @@
data: [
":py3-cmd",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
}
// This test is only intended to be run locally since it's slow, not hermetic,
@@ -64,11 +59,6 @@
test_options: {
unit_test: false,
},
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
}
python_test_host {
@@ -88,11 +78,6 @@
data: [
":py3-cmd",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
}
python_binary_host {
diff --git a/core/Makefile b/core/Makefile
index 907ef21..591f937 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -5874,7 +5874,10 @@
endif # BOARD_AVB_ENABLE
ifneq (,$(strip $(BOARD_CUSTOMIMAGES_PARTITION_LIST)))
$(hide) $(foreach partition,$(BOARD_CUSTOMIMAGES_PARTITION_LIST), \
- echo "flash $(partition)" >> $@;)
+ $(if $(BOARD_$(call to-upper,$(partition))_IMAGE_NO_FLASHALL),, \
+ echo "flash $(partition)" >> $@; \
+ ) \
+ )
endif
$(hide) echo "reboot fastboot" >> $@
$(hide) echo "update-super" >> $@
diff --git a/core/cxx_stl_setup.mk b/core/cxx_stl_setup.mk
index 0d557c7..5e8ca7f 100644
--- a/core/cxx_stl_setup.mk
+++ b/core/cxx_stl_setup.mk
@@ -78,7 +78,7 @@
my_static_libraries += libc++demangle
ifeq ($(my_link_type),static)
- my_static_libraries += libm libc libunwind
+ my_static_libraries += libm libc libunwind libstatic_rustlibs_for_make
endif
endif
else ifeq ($(my_cxx_stl),ndk)
diff --git a/core/soong_config.mk b/core/soong_config.mk
index bd52d88..c3cbaf3 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -488,6 +488,7 @@
$(call add_json_list, AbOtaPartitions, $(AB_OTA_PARTITIONS))
$(call add_json_list, AbOtaKeys, $(PRODUCT_OTA_PUBLIC_KEYS))
$(call add_json_list, AbOtaPostInstallConfig, $(AB_OTA_POSTINSTALL_CONFIG))
+ $(call add_json_bool, BoardSuperImageInUpdatePackage, $(filter true,$(BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE)))
# Avb (android verified boot) stuff
$(call add_json_bool, BoardAvbEnable, $(filter true,$(BOARD_AVB_ENABLE)))
@@ -568,6 +569,9 @@
$(call add_json_str, ReleaseToolsExtensionDir, $(firstword $(TARGET_RELEASETOOLS_EXTENSIONS) $($(TARGET_DEVICE_DIR)/../common)))
+ # Fastboot
+ $(call add_json_str, BoardFastbootInfoFile, $(TARGET_BOARD_FASTBOOT_INFO_FILE))
+
$(call end_json_map)
# For converting vintf_data
diff --git a/tools/Android.bp b/tools/Android.bp
index 243cb56..f1ff1c4 100644
--- a/tools/Android.bp
+++ b/tools/Android.bp
@@ -85,11 +85,6 @@
srcs: [
"list_files.py",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
}
python_test_host {
@@ -109,11 +104,6 @@
python_binary_host {
name: "characteristics_rro_generator",
srcs: ["characteristics_rro_generator.py"],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
}
python_binary_host {
diff --git a/tools/aconfig/aconfig/src/codegen/java.rs b/tools/aconfig/aconfig/src/codegen/java.rs
index 4b670a0..550ab5f 100644
--- a/tools/aconfig/aconfig/src/codegen/java.rs
+++ b/tools/aconfig/aconfig/src/codegen/java.rs
@@ -796,6 +796,7 @@
let expect_flags_content = r#"
package com.android.aconfig.test;
+ import android.os.Build;
/** @hide */
public final class Flags {
/** @hide */
@@ -1001,6 +1002,7 @@
let expect_flags_content = r#"
package com.android.aconfig.test;
+ import android.os.Build;
/** @hide */
public final class Flags {
/** @hide */
@@ -1204,6 +1206,7 @@
let expect_flags_content = r#"
package com.android.aconfig.test;
+ import android.os.Build;
/** @hide */
public final class Flags {
/** @hide */
@@ -1213,6 +1216,9 @@
/** @hide */
public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported";
public static boolean disabledRwExported() {
+ if (Build.VERSION.SDK_INT >= 36) {
+ return true;
+ }
return FEATURE_FLAGS.disabledRwExported();
}
public static boolean enabledFixedRoExported() {
@@ -1788,6 +1794,109 @@
}
#[test]
+ fn test_generate_java_code_exported_flags() {
+ let parsed_flags = crate::test::parse_test_flags();
+ let mode = CodegenMode::Exported;
+ let modified_parsed_flags =
+ crate::commands::modify_parsed_flags_based_on_mode(parsed_flags, mode).unwrap();
+ let flag_ids =
+ assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap();
+ let mut finalized_flags = FinalizedFlagMap::new();
+ finalized_flags.insert_if_new(
+ ApiLevel(36),
+ FinalizedFlag {
+ flag_name: "disabled_rw_exported".to_string(),
+ package_name: "com.android.aconfig.test".to_string(),
+ },
+ );
+ let config = JavaCodegenConfig {
+ codegen_mode: mode,
+ flag_ids,
+ allow_instrumentation: true,
+ package_fingerprint: 5801144784618221668,
+ new_exported: true,
+ single_exported_file: true,
+ finalized_flags,
+ };
+ let generated_files = generate_java_code(
+ crate::test::TEST_PACKAGE,
+ modified_parsed_flags.into_iter(),
+ config,
+ )
+ .unwrap();
+
+ let expect_exported_flags_content = r#"
+ package com.android.aconfig.test;
+
+ import android.os.Build;
+ import android.os.flagging.AconfigPackage;
+ import android.util.Log;
+ public final class ExportedFlags {
+
+ public static final String FLAG_DISABLED_RW_EXPORTED = "com.android.aconfig.test.disabled_rw_exported";
+ public static final String FLAG_ENABLED_FIXED_RO_EXPORTED = "com.android.aconfig.test.enabled_fixed_ro_exported";
+ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported";
+ private static final String TAG = "ExportedFlags";
+ private static volatile boolean isCached = false;
+
+ private static boolean disabledRwExported = false;
+ private static boolean enabledFixedRoExported = false;
+ private static boolean enabledRoExported = false;
+ private ExportedFlags() {}
+
+ private void init() {
+ try {
+ AconfigPackage reader = AconfigPackage.load("com.android.aconfig.test");
+ disabledRwExported = reader.getBooleanFlagValue("disabled_rw_exported", false);
+ enabledFixedRoExported = reader.getBooleanFlagValue("enabled_fixed_ro_exported", false);
+ enabledRoExported = reader.getBooleanFlagValue("enabled_ro_exported", false);
+ } catch (Exception e) {
+ // pass
+ Log.e(TAG, e.toString());
+ } catch (LinkageError e) {
+ // for mainline module running on older devices.
+ // This should be replaces to version check, after the version bump.
+ Log.w(TAG, e.toString());
+ }
+ isCached = true;
+ }
+ public static boolean disabledRwExported() {
+ if (Build.VERSION.SDK_INT >= 36) {
+ return true;
+ }
+
+ if (!featureFlags.isCached) {
+ featureFlags.init();
+ }
+ return featureFlags.disabledRwExported;
+ }
+ public static boolean enabledFixedRoExported() {
+ if (!featureFlags.isCached) {
+ featureFlags.init();
+ }
+ return featureFlags.enabledFixedRoExported;
+ }
+ public static boolean enabledRoExported() {
+ if (!featureFlags.isCached) {
+ featureFlags.init();
+ }
+ return featureFlags.enabledRoExported;
+ }
+ private static ExportedFlags featureFlags = new ExportedFlags();
+ }"#;
+
+ let file = generated_files.iter().find(|f| f.path.ends_with("ExportedFlags.java")).unwrap();
+ assert_eq!(
+ None,
+ crate::test::first_significant_code_diff(
+ expect_exported_flags_content,
+ &String::from_utf8(file.contents.clone()).unwrap()
+ ),
+ "ExportedFlags content is not correct"
+ );
+ }
+
+ #[test]
fn test_format_java_method_name() {
let expected = "someSnakeName";
let input = "____some_snake___name____";
diff --git a/tools/aconfig/aconfig/templates/ExportedFlags.java.template b/tools/aconfig/aconfig/templates/ExportedFlags.java.template
index 4e36942..176da18 100644
--- a/tools/aconfig/aconfig/templates/ExportedFlags.java.template
+++ b/tools/aconfig/aconfig/templates/ExportedFlags.java.template
@@ -19,11 +19,8 @@
AconfigPackage reader = AconfigPackage.load("{package_name}");
{{ -for namespace_with_flags in namespace_flags }}
{{ -for flag in namespace_with_flags.flags }}
- {{ -if flag.finalized_sdk_present }}
- {flag.method_name} = Build.VERSION.SDK_INT >= {flag.finalized_sdk_value} ? true : reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value});
- {{ - else }} {#- else finalized_sdk_present #}
{flag.method_name} = reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value});
- {{ -endif}} {#- end finalized_sdk_present#}
+
{{ -endfor }} {#- end namespace_with_flags.flags #}
{{ -endfor }} {#- end namespace_flags #}
} catch (Exception e) \{
@@ -39,6 +36,11 @@
{{ -for flag in flag_elements }}
public static boolean {flag.method_name}() \{
+ {{ -if flag.finalized_sdk_present }}
+ if (Build.VERSION.SDK_INT >= {flag.finalized_sdk_value}) \{
+ return true;
+ }
+ {{ -endif}} {#- end finalized_sdk_present#}
if (!featureFlags.isCached) \{
featureFlags.init();
}
diff --git a/tools/aconfig/aconfig/templates/Flags.java.template b/tools/aconfig/aconfig/templates/Flags.java.template
index 8a92d33..6fa2701 100644
--- a/tools/aconfig/aconfig/templates/Flags.java.template
+++ b/tools/aconfig/aconfig/templates/Flags.java.template
@@ -2,6 +2,8 @@
{{ if not library_exported- }}
// TODO(b/303773055): Remove the annotation after access issue is resolved.
import android.compat.annotation.UnsupportedAppUsage;
+{{ else }}
+import android.os.Build;
{{ -endif }}
{{ -if single_exported_file }}
{{ -if library_exported }}
@@ -31,6 +33,11 @@
@UnsupportedAppUsage
{{ -endif }}
public static boolean {item.method_name}() \{
+ {{ -if item.finalized_sdk_present }}
+ if (Build.VERSION.SDK_INT >= {item.finalized_sdk_value}) \{
+ return true;
+ }
+ {{ -endif}} {#- end finalized_sdk_present#}
return FEATURE_FLAGS.{item.method_name}();
}
{{ -endfor }}
diff --git a/tools/protos/Android.bp b/tools/protos/Android.bp
index c6ad19e..65f13cb 100644
--- a/tools/protos/Android.bp
+++ b/tools/protos/Android.bp
@@ -18,11 +18,6 @@
python_library_host {
name: "metadata_file_proto_py",
- version: {
- py3: {
- enabled: true,
- },
- },
srcs: [
"metadata_file.proto",
],
diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp
index e371b23..3467152 100644
--- a/tools/releasetools/Android.bp
+++ b/tools/releasetools/Android.bp
@@ -296,11 +296,6 @@
python_defaults {
name: "releasetools_binary_defaults",
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
// TODO (b/140144201) Build imgdiff from releasetools_common
required: [
"aapt2",
@@ -338,11 +333,6 @@
python_binary_host {
name: "merge_ota",
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
srcs: [
"merge_ota.py",
],
@@ -357,11 +347,6 @@
python_binary_host {
name: "create_brick_ota",
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
srcs: [
"create_brick_ota.py",
],
diff --git a/tools/releasetools/add_img_to_target_files.py b/tools/releasetools/add_img_to_target_files.py
index 30a6acc..180bf15 100644
--- a/tools/releasetools/add_img_to_target_files.py
+++ b/tools/releasetools/add_img_to_target_files.py
@@ -572,7 +572,7 @@
default = os.path.join(OPTIONS.input_tmp, "IMAGES", partition_name + ".img")
assert os.path.exists(default), \
- "There should be one %s.img" % (partition_name)
+ "Can't find %s for image %s" % (default, partition_name)
return default
diff --git a/tools/sbom/Android.bp b/tools/sbom/Android.bp
index 7e2840f..d2e6b55 100644
--- a/tools/sbom/Android.bp
+++ b/tools/sbom/Android.bp
@@ -21,11 +21,6 @@
srcs: [
"generate-sbom.py",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
libs: [
"metadata_file_proto_py",
"libprotobuf-python",
@@ -45,11 +40,6 @@
srcs: [
"gen_sbom.py",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
libs: [
"compliance_metadata",
"metadata_file_proto_py",
@@ -78,11 +68,6 @@
libs: [
"sbom_lib",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
test_suites: ["general-tests"],
}
@@ -95,11 +80,6 @@
libs: [
"sbom_lib",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
test_suites: ["general-tests"],
}
@@ -108,11 +88,6 @@
srcs: [
"generate-sbom-framework_res.py",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
libs: [
"sbom_lib",
],
@@ -123,11 +98,6 @@
srcs: [
"gen_notice_xml.py",
],
- version: {
- py3: {
- embedded_launcher: true,
- },
- },
libs: [
"compliance_metadata",
"metadata_file_proto_py",
diff --git a/tools/tool_event_logger/Android.bp b/tools/tool_event_logger/Android.bp
index 7a1d2aa..d242db8 100644
--- a/tools/tool_event_logger/Android.bp
+++ b/tools/tool_event_logger/Android.bp
@@ -58,10 +58,4 @@
"asuite_cc_client",
"tool_event_proto",
],
- version: {
- py3: {
- embedded_launcher: true,
- enabled: true,
- },
- },
}
diff --git a/tools/warn/OWNERS b/tools/warn/OWNERS
index 8551802..93ccd28 100644
--- a/tools/warn/OWNERS
+++ b/tools/warn/OWNERS
@@ -1 +1 @@
-per-file * = chh@google.com,srhines@google.com
+per-file * =srhines@google.com