Merge changes from topic "import-sdk-version-none" into main
* changes:
Do not convert sdk_version: "none"
Don't use java_library for java_import neverlink
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go
index 014b3cc..ff42769 100644
--- a/android/allowlists/allowlists.go
+++ b/android/allowlists/allowlists.go
@@ -211,6 +211,7 @@
"external/python/setuptools": Bp2BuildDefaultTrueRecursively,
"external/python/six": Bp2BuildDefaultTrueRecursively,
"external/rappor": Bp2BuildDefaultTrueRecursively,
+ "external/rust/crates/rustc-demangle": Bp2BuildDefaultTrueRecursively,
"external/scudo": Bp2BuildDefaultTrueRecursively,
"external/selinux/checkpolicy": Bp2BuildDefaultTrueRecursively,
"external/selinux/libselinux": Bp2BuildDefaultTrueRecursively,
@@ -437,7 +438,7 @@
"system/libprocinfo": Bp2BuildDefaultTrue,
"system/libvintf": Bp2BuildDefaultTrue,
"system/libziparchive": Bp2BuildDefaultTrueRecursively,
- "system/linkerconfig": Bp2BuildDefaultTrueRecursively,
+ "system/linkerconfig": Bp2BuildDefaultTrueRecursively,
"system/logging": Bp2BuildDefaultTrueRecursively,
"system/media": Bp2BuildDefaultTrue,
"system/media/alsa_utils": Bp2BuildDefaultTrueRecursively,
@@ -1065,20 +1066,10 @@
"libfsverity_rs",
"libtombstoned_client_rust",
- "libhardware", //Depends on unconverted libapexsupport
-
// TODO(b/263326760): Failed already.
"minijail_compiler_unittest",
"minijail_parser_unittest",
- // Depends on unconverted libandroid, libgui
- "dvr_buffer_queue-test",
- "dvr_display-test",
- // Depends on unconverted libchrome
- "pdx_benchmarks",
- "buffer_hub_queue-test",
- "buffer_hub_queue_producer-test",
-
// cc bugs
// TODO(b/198619163) module has same name as source
@@ -1119,7 +1110,8 @@
"host-libprotobuf-java-full", // TODO(b/210751803), we don't handle path property for filegroups
"libprotobuf-internal-python-srcs", // TODO(b/210751803), we don't handle path property for filegroups
- // go deps:
+ // go deps.
+ // TODO: b/305091740 - Rely on bp2build_deps to remove these dependencies.
"analyze_bcpf", // depends on bpmodify a blueprint_go_binary.
"analyze_bcpf_test", // depends on bpmodify a blueprint_go_binary.
"host_bionic_linker_asm", // depends on extract_linker, a go binary.
@@ -1133,89 +1125,9 @@
"modules-utils-os",
"modules-utils-synchronous-result-receiver",
- // unconverted deps
- "CarHTMLViewer", // depends on unconverted modules android.car-stubs, car-ui-lib
- "adb", // depends on unconverted modules: AdbWinApi, libandroidfw, libopenscreen-discovery, libopenscreen-platform-impl, libusb, bin2c_fastdeployagent, AdbWinUsbApi
- "android_icu4j_srcgen", // depends on unconverted modules: currysrc
- "android_icu4j_srcgen_binary", // depends on unconverted modules: android_icu4j_srcgen, currysrc
- "apex_compression_test", // depends on unconverted modules: soong_zip, com.android.example.apex
- "apex_manifest_proto_java", // b/210751803, depends on libprotobuf-java-full
- "apexer_with_DCLA_preprocessing_test", // depends on unconverted modules: apexer_test_host_tools, com.android.example.apex
- "art-script", // depends on unconverted modules: dalvikvm, dex2oat
- "bin2c_fastdeployagent", // depends on unconverted modules: deployagent
- "com.android.runtime", // depends on unconverted modules: bionic-linker-config, linkerconfig
- "currysrc", // depends on unconverted modules: currysrc_org.eclipse, guavalib, jopt-simple-4.9
- "dex2oat-script", // depends on unconverted modules: dex2oat
- "generated_android_icu4j_resources", // depends on unconverted modules: android_icu4j_srcgen_binary
- "generated_android_icu4j_test_resources", // depends on unconverted modules: android_icu4j_srcgen_binary
- "hidl_system_api_test",
- "hidl_test_java",
- "host-libprotobuf-java-nano", // b/220869005, depends on libprotobuf-java-nano
- "jacoco-stubs", // b/245767077, depends on droidstubs
- "libart", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support
- "libart-runtime", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support
- "libart-runtime-for-test", // depends on unconverted modules: apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api, art_operator_srcs, libcpu_features, libodrstatslog, libelffile, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfile, libnativebridge, libnativeloader, libsigchain, libartbase, libprofile, cpp-define-generator-asm-support
- "libart-runtime-gtest", // depends on unconverted modules: libgtest_isolated, libart-compiler, libdexfile, libprofile, libartbase, libartbase-art-gtest
- "libart_headers", // depends on unconverted modules: art_libartbase_headers
- "libartbase-art-gtest", // depends on unconverted modules: libgtest_isolated, libart, libart-compiler, libdexfile, libprofile
- "libartbased-art-gtest", // depends on unconverted modules: libgtest_isolated, libartd, libartd-compiler, libdexfiled, libprofiled
- "libartd", // depends on unconverted modules: art_operator_srcs, libcpu_features, libodrstatslog, libelffiled, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfiled, libnativebridge, libnativeloader, libsigchain, libartbased, libprofiled, cpp-define-generator-asm-support, apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api
- "libartd-runtime", // depends on unconverted modules: art_operator_srcs, libcpu_features, libodrstatslog, libelffiled, art_cmdlineparser_headers, cpp-define-generator-definitions, libdexfiled, libnativebridge, libnativeloader, libsigchain, libartbased, libprofiled, cpp-define-generator-asm-support, apex-info-list-tinyxml, libtinyxml2, libnativeloader-headers, heapprofd_client_api
- "libartd-runtime-gtest", // depends on unconverted modules: libgtest_isolated, libartd-compiler, libdexfiled, libprofiled, libartbased, libartbased-art-gtest
- "libdebuggerd", // depends on unconverted module: libdexfile
- "libdebuggerd_handler", // depends on unconverted module libdebuggerd_handler_core
- "libdebuggerd_handler_core", "libdebuggerd_handler_fallback", // depends on unconverted module libdebuggerd
- "libdexfiled", // depends on unconverted modules: dexfile_operator_srcs, libartbased, libartpalette
- "libgmock_main_ndk", // depends on unconverted modules: libgtest_ndk_c++
- "libgmock_ndk", // depends on unconverted modules: libgtest_ndk_c++
- "libnativehelper_lazy_mts_jni", "libnativehelper_mts_jni", // depends on unconverted modules: libnativetesthelper_jni, libgmock_ndk
- "libnativetesthelper_jni", // depends on unconverted modules: libgtest_ndk_c++
- "libphonenumber_test", // depends on android.test.mock
- "libstatslog", // depends on unconverted modules: libstatspull, statsd-aidl-ndk
- "libstatslog_art", // depends on unconverted modules: statslog_art.cpp, statslog_art.h
- "linker_reloc_bench_main", // depends on unconverted modules: liblinker_reloc_bench_*
- "malloc-rss-benchmark", // depends on unconverted modules: libmeminfo
- "modules-utils-expresslog", // depends on unconverted modules: framework-statsd
- "pbtombstone", "crash_dump", // depends on libdebuggerd, libunwindstack
- "releasetools_test", // depends on unconverted modules: com.android.apex.compressed.v1
- "robolectric-sqlite4java-0.282", // depends on unconverted modules: robolectric-sqlite4java-import, robolectric-sqlite4java-native
- "static_crasher", // depends on unconverted modules: libdebuggerd_handler
- "test_fips", // depends on unconverted modules: adb
- "timezone-host", // depends on unconverted modules: art.module.api.annotations
-
// aidl files not created
"overlayable_policy_aidl_interface",
- //prebuilts/tools/common/m2
- // depends on //external/okio:okio-lib, which uses kotlin
- "wire-runtime",
-
- // depends on adbd_system_api_recovery, which is a unconverted `phony` module type
- "minadbd",
-
- // depends on android.hardware.health-V2.0-java
- "android.hardware.health-translate-java",
-
- //system/libvintf
- // depends on apex-info-list-tinyxml, unconverted xsd_config Soong module type.
- "libassemblevintf",
- "assemble_vintf",
- "checkvintf",
-
- // depends on audio_policy_configuration_aidl_default, xsd_config module.
- "libaudioserviceexampleimpl",
- "android.hardware.audio.service-aidl.example",
-
- // depends on //system/tools/aidl/build:aidl_metadata_json, which is an aidl_interfaces_metadata custom Soong type.
- "aidl_metadata_in_cpp",
- "libaidlmetadata",
- "libaidlmetadata_test",
-
- // depends on //system/tools/hidl/build:hidl_metadata_json, which is an hidl_interfaces_metadata custom Soong type.
- "hidl_metadata_in_cpp",
- "libhidlmetadata",
- "hidl_metadata_test",
-
// cc_test related.
// b/274164834 "Could not open Configuration file test.cfg"
"svcenc", "svcdec",
@@ -1248,40 +1160,18 @@
// cc_test with unconverted deps, or are device-only (and not verified to pass yet)
"AMRWBEncTest",
- "AmrnbDecoderTest", // depends on unconverted modules: libaudioutils, libsndfile
- "AmrnbEncoderTest", // depends on unconverted modules: libaudioutils, libsndfile
- "AmrwbDecoderTest", // depends on unconverted modules: libsndfile, libaudioutils
- "AmrwbEncoderTest", // depends on unconverted modules: libaudioutils, libsndfile
- "Mp3DecoderTest", // depends on unconverted modules: libsndfile, libaudioutils
"avcdec",
"avcenc",
- "bionic-benchmarks-tests",
- "bionic-fortify-runtime-asan-test",
- "bionic-stress-tests",
- "bionic-unit-tests",
- "bionic-unit-tests-glibc",
- "bionic-unit-tests-static",
- "boringssl_crypto_test",
- "boringssl_ssl_test",
"boringssl_test_support", //b/244431896
"cfi_test_helper",
- "cfi_test_helper2",
"cintltst32",
"cintltst64",
"compare",
"cpuid",
- "debuggerd_test", // depends on unconverted modules: libdebuggerd
"elftls_dlopen_ie_error_helper",
- "exec_linker_helper",
- "fastdeploy_test", // depends on unconverted modules: AdbWinApi, libadb_host, libandroidfw, libfastdeploy_host, libopenscreen-discovery, libopenscreen-platform-impl, libusb
"fdtrack_test",
"google-benchmark-test",
- "googletest-param-test-test_ndk", // depends on unconverted modules: libgtest_ndk_c++
"gtest-typed-test_test",
- "gtest-typed-test_test_ndk", // depends on unconverted modules: libgtest_ndk_c++, libgtest_main_ndk_c++
- "gtest_ndk_tests", // depends on unconverted modules: libgtest_ndk_c++, libgtest_main_ndk_c++
- "gtest_ndk_tests_no_main", // depends on unconverted modules: libgtest_ndk_c++
- "gtest_prod_test_ndk", // depends on unconverted modules: libgtest_ndk_c++, libgtest_main_ndk_c++
"gtest_tests",
"gtest_tests_no_main",
"gwp_asan_unittest",
@@ -1289,7 +1179,6 @@
"hashcombine_test",
"hevcdec",
"hevcenc",
- "hwbinderThroughputTest", // depends on unconverted modules: android.hardware.tests.libhwbinder@1.0-impl.test, android.hardware.tests.libhwbinder@1.0
"i444tonv12_eg",
"icu4c_sample_break",
"intltest32",
@@ -1298,11 +1187,6 @@
"jemalloc5_integrationtests",
"jemalloc5_unittests",
"jemalloc5_stresstests", // run by run_jemalloc_tests.sh and will be deleted after V
- "ld_config_test_helper",
- "ld_preload_test_helper",
- "libBionicCtsGtestMain", // depends on unconverted modules: libgtest_isolated
- "libBionicLoaderTests", // depends on unconverted modules: libmeminfo
- "libapexutil_tests", // depends on unconverted modules: apex-info-list-tinyxml, libapexutil
"libcutils_sockets_test",
"libhwbinder_latency",
"liblog-host-test", // failing tests
@@ -1310,12 +1194,9 @@
"libminijail_unittest_gtest",
"libpackagelistparser_test",
"libprotobuf_vendor_suffix_test",
- "libstagefright_amrnbdec_test", // depends on unconverted modules: libsndfile, libaudioutils
"libstagefright_amrnbenc_test",
- "libstagefright_amrwbdec_test", // depends on unconverted modules: libsndfile, libaudioutils
+ "libstagefright_amrwbdec_test", // error: did not report any run
"libstagefright_m4vh263enc_test",
- "libstagefright_mp3dec_test", // depends on unconverted modules: libsndfile, libaudioutils
- "libstatssocket_test",
"libvndksupport-tests",
"libyuv_unittest",
"linker-unit-tests",
@@ -1324,22 +1205,17 @@
"malloc_hooks_system_tests",
"mat_test",
"mathtest",
- "memunreachable_binder_test", // depends on unconverted modules: libbinder
"memunreachable_test",
"metadata_tests",
"mpeg2dec",
"mvcdec",
- "ns_hidden_child_helper",
"pngtest",
"preinit_getauxval_test_helper",
"preinit_syscall_test_helper",
"psnr",
"quat_test",
- "rappor-tests", // depends on unconverted modules: jsr305, guava
"scudo_unit_tests",
- "stats-log-api-gen-test", // depends on unconverted modules: libstats_proto_host
"thread_exit_cb_helper",
- "tls_properties_helper",
"ulp",
"vec_test",
"yuvconstants",
@@ -1671,8 +1547,6 @@
"libtest_with_dependency_loop_c",
"libtestshared",
- "merge_ota", // depends on ota_metadata_proto_java
-
// releasetools
"verity_utils",
"check_ota_package_signature",
@@ -1720,20 +1594,12 @@
"CtsPkgInstallerConstants",
"guava-android-testlib",
- "MetaDataBaseUnitTest", // depends on libstagefright
- "AVCUtilsUnitTest", // depends on libstagefright
- "ColorUtilsTest", // depends on libmediandk
-
// python_test_host with test data
"sbom_writers_test",
"hidl_test",
- // TODO(B/283193845): tradefed and its java_test_host dependents
+ // TODO(B/283193845): Remove tradefed from this list.
"tradefed",
- "permissive_mte_test",
- "ICU4CTestRunner",
- "DeviceLongPollingStubTest",
- "FastDeployHostTests",
"libprotobuf-full-test", // TODO(b/246997908): cannot convert proto_libraries which implicitly include other srcs in the same directory
"libprotobuf-lite-test", // TODO(b/246997908): cannot convert proto_libraries which implicitly include other srcs in the same directory
@@ -1742,27 +1608,11 @@
"expresscatalogvalidator", // TODO(b/246997908): cannot convert proto_libraries which implicitly include other srcs in the same directory
- // depends on other //art modules
- "libart-for-test",
- "libart_generated_headers",
- "libart-runtime-gtest",
- "libartd-runtime-gtest",
- "libart-unstripped",
-
- // depends on libart-unstripped and new module type llvm_prebuilt_build_tool
- "check_cfi",
-
- // depends on unconverted module tradefed
- "HelloWorldPerformanceTest",
-
// r8 is a java_binary, which creates an implicit "r8.jar" target, but the
// same package contains a "r8.jar" file which gets overshadowed by the implicit target.
// We don't need this target as we're not using the Soong wrapper for now
"r8",
- // Depends on the module defined in the directory not bp2build default allowed
- "ota_from_raw_img",
-
// TODO(b/299924782): Fix linking error
"libbinder_on_trusty_mock",
@@ -1776,23 +1626,8 @@
// TODO(b/297356704) sdk_version is unset.
"VendorAtomCodeGenJavaTest",
- // android_test from allowlisted packages, but with unconverted deps
- "MtsLibnativehelperLazyTestCases",
+ // TODO: b/305223367 - Missing dep on android.test.base-neverlink
"ObjenesisTck",
- "DevCodelabTest",
- "MtsTimeZoneDataTestCases",
- "NanoAndroidTest",
- "MtsLibnativehelperTestCases",
-
- // Depends on androidx.test.rules
- "DexmakerTests",
- "dexmaker-tests-lib",
- "dexmaker-mockmaker-tests",
- "dexmaker-inline-mockmaker-tests",
- "dexmaker-extended-mockmaker-tests",
-
- // android_test_helper_app from allowlisted packages, but with unconverted deps
- "SharedLibraryInfoTestApp",
}
// Bazel prod-mode allowlist. Modules in this list are built by Bazel
diff --git a/android/config.go b/android/config.go
index 8f72239..66c0e6d 100644
--- a/android/config.go
+++ b/android/config.go
@@ -789,7 +789,7 @@
}
func (c *config) HostToolPath(ctx PathContext, tool string) Path {
- path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false, tool)
+ path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", tool)
return path
}
@@ -798,12 +798,12 @@
if runtime.GOOS == "darwin" {
ext = ".dylib"
}
- path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "lib64", false, lib+ext)
+ path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "lib64", lib+ext)
return path
}
func (c *config) HostJavaToolPath(ctx PathContext, tool string) Path {
- path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "framework", false, tool)
+ path := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "framework", tool)
return path
}
@@ -812,7 +812,7 @@
if ctx.Config().BuildArch.Multilib == "lib64" {
libDir = "lib64"
}
- return pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, libDir, false, lib+".so")
+ return pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, libDir, lib+".so")
}
// PrebuiltOS returns the name of the host OS used in prebuilts directories.
diff --git a/android/module.go b/android/module.go
index ce6c78d..b73f449 100644
--- a/android/module.go
+++ b/android/module.go
@@ -380,7 +380,6 @@
Device() bool
Darwin() bool
Windows() bool
- Debug() bool
PrimaryArch() bool
}
@@ -2675,7 +2674,6 @@
target Target
multiTargets []Target
targetPrimary bool
- debug bool
walkPath []Module
tagPath []blueprint.DependencyTag
@@ -3306,10 +3304,6 @@
return b.os == Windows
}
-func (b *baseModuleContext) Debug() bool {
- return b.debug
-}
-
func (b *baseModuleContext) PrimaryArch() bool {
if len(b.config.Targets[b.target.Os]) <= 1 {
return true
diff --git a/android/mutator.go b/android/mutator.go
index 067d6c3..3ff9e61 100644
--- a/android/mutator.go
+++ b/android/mutator.go
@@ -698,12 +698,6 @@
ctx.BottomUp("deps", depsMutator).Parallel()
}
-func registerDepsMutatorBp2Build(ctx RegisterMutatorsContext) {
- // TODO(b/179313531): Consider a separate mutator that only runs depsMutator for modules that are
- // being converted to build targets.
- ctx.BottomUp("deps", depsMutator).Parallel()
-}
-
func (t *bottomUpMutatorContext) CreateBazelTargetModule(
bazelProps bazel.BazelTargetModuleProperties,
commonAttrs CommonAttributes,
diff --git a/android/paths.go b/android/paths.go
index 325a953..7658299 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -480,7 +480,7 @@
// PathForGoBinary returns the path to the installed location of a bootstrap_go_binary module.
func PathForGoBinary(ctx PathContext, goBinary bootstrap.GoBinaryTool) Path {
- goBinaryInstallDir := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin", false)
+ goBinaryInstallDir := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "bin")
rel := Rel(ctx, goBinaryInstallDir.String(), goBinary.InstallPath())
return goBinaryInstallDir.Join(ctx, rel)
}
@@ -1684,19 +1684,19 @@
func PathForModuleInstall(ctx ModuleInstallPathContext, pathComponents ...string) InstallPath {
os, arch := osAndArch(ctx)
partition := modulePartition(ctx, os)
- return makePathForInstall(ctx, os, arch, partition, ctx.Debug(), pathComponents...)
+ return pathForInstall(ctx, os, arch, partition, pathComponents...)
}
// PathForHostDexInstall returns an InstallPath representing the install path for the
// module appended with paths...
func PathForHostDexInstall(ctx ModuleInstallPathContext, pathComponents ...string) InstallPath {
- return makePathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "", ctx.Debug(), pathComponents...)
+ return pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "", pathComponents...)
}
// PathForModuleInPartitionInstall is similar to PathForModuleInstall but partition is provided by the caller
func PathForModuleInPartitionInstall(ctx ModuleInstallPathContext, partition string, pathComponents ...string) InstallPath {
os, arch := osAndArch(ctx)
- return makePathForInstall(ctx, os, arch, partition, ctx.Debug(), pathComponents...)
+ return pathForInstall(ctx, os, arch, partition, pathComponents...)
}
func osAndArch(ctx ModuleInstallPathContext) (OsType, ArchType) {
@@ -1712,12 +1712,7 @@
return os, arch
}
-func makePathForInstall(ctx ModuleInstallPathContext, os OsType, arch ArchType, partition string, debug bool, pathComponents ...string) InstallPath {
- ret := pathForInstall(ctx, os, arch, partition, debug, pathComponents...)
- return ret
-}
-
-func pathForInstall(ctx PathContext, os OsType, arch ArchType, partition string, debug bool,
+func pathForInstall(ctx PathContext, os OsType, arch ArchType, partition string,
pathComponents ...string) InstallPath {
var partitionPaths []string
@@ -1747,9 +1742,6 @@
}
partitionPaths = []string{"host", osName + "-" + archName, partition}
}
- if debug {
- partitionPaths = append([]string{"debug"}, partitionPaths...)
- }
partitionPath, err := validatePath(partitionPaths...)
if err != nil {
diff --git a/android/rule_builder.go b/android/rule_builder.go
index 245b759..5c6dffe 100644
--- a/android/rule_builder.go
+++ b/android/rule_builder.go
@@ -871,7 +871,7 @@
func sboxPathForToolRel(ctx BuilderContext, path Path) string {
// Errors will be handled in RuleBuilder.Build where we have a context to report them
- toolDir := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "", false)
+ toolDir := pathForInstall(ctx, ctx.Config().BuildOS, ctx.Config().BuildArch, "")
relOutSoong, isRelOutSoong, _ := maybeRelErr(toolDir.String(), path.String())
if isRelOutSoong {
// The tool is in the Soong output directory, it will be copied to __SBOX_OUT_DIR__/tools/out
diff --git a/android/test_suites.go b/android/test_suites.go
index 63a709f..9ded998 100644
--- a/android/test_suites.go
+++ b/android/test_suites.go
@@ -60,7 +60,7 @@
for _, module := range SortedKeys(files) {
installedPaths = append(installedPaths, files[module]...)
}
- testCasesDir := pathForInstall(ctx, ctx.Config().BuildOS, X86, "testcases", false)
+ testCasesDir := pathForInstall(ctx, ctx.Config().BuildOS, X86, "testcases")
outputFile := PathForOutput(ctx, "packaging", "robolectric-tests.zip")
rule := NewRuleBuilder(pctx, ctx)
@@ -69,7 +69,7 @@
FlagWithArg("-P ", "host/testcases").
FlagWithArg("-C ", testCasesDir.String()).
FlagWithRspFileInputList("-r ", outputFile.ReplaceExtension(ctx, "rsp"), installedPaths.Paths()).
- Flag("-sha256")
+ Flag("-sha256")
rule.Build("robolectric_tests_zip", "robolectric-tests.zip")
return outputFile
diff --git a/bazel/aquery.go b/bazel/aquery.go
index 641f16b..27ccb20 100644
--- a/bazel/aquery.go
+++ b/bazel/aquery.go
@@ -37,19 +37,6 @@
type depsetId int
type pathFragmentId int
-// artifact contains relevant portions of Bazel's aquery proto, Artifact.
-// Represents a single artifact, whether it's a source file or a derived output file.
-type artifact struct {
- Id artifactId
- PathFragmentId pathFragmentId
-}
-
-type pathFragment struct {
- Id pathFragmentId
- Label string
- ParentId pathFragmentId
-}
-
// KeyValuePair represents Bazel's aquery proto, KeyValuePair.
type KeyValuePair struct {
Key string
@@ -70,37 +57,6 @@
TransitiveDepSetHashes []string
}
-// depSetOfFiles contains relevant portions of Bazel's aquery proto, DepSetOfFiles.
-// Represents a data structure containing one or more files. Depsets in Bazel are an efficient
-// data structure for storing large numbers of file paths.
-type depSetOfFiles struct {
- Id depsetId
- DirectArtifactIds []artifactId
- TransitiveDepSetIds []depsetId
-}
-
-// action contains relevant portions of Bazel's aquery proto, Action.
-// Represents a single command line invocation in the Bazel build graph.
-type action struct {
- Arguments []string
- EnvironmentVariables []KeyValuePair
- InputDepSetIds []depsetId
- Mnemonic string
- OutputIds []artifactId
- TemplateContent string
- Substitutions []KeyValuePair
- FileContents string
-}
-
-// actionGraphContainer contains relevant portions of Bazel's aquery proto, ActionGraphContainer.
-// An aquery response from Bazel contains a single ActionGraphContainer proto.
-type actionGraphContainer struct {
- Artifacts []artifact
- Actions []action
- DepSetOfFiles []depSetOfFiles
- PathFragments []pathFragment
-}
-
// BuildStatement contains information to register a build statement corresponding (one to one)
// with a Bazel action from Bazel's action graph.
type BuildStatement struct {
diff --git a/bp2build/build_conversion.go b/bp2build/build_conversion.go
index 53c37b9..ed6e2dd 100644
--- a/bp2build/build_conversion.go
+++ b/bp2build/build_conversion.go
@@ -830,11 +830,9 @@
depLabels.Add(&depLabel)
}
a := struct {
- Deps bazel.LabelListAttribute
- System_dynamic_deps bazel.LabelListAttribute
+ Deps bazel.LabelListAttribute
}{
- Deps: bazel.MakeLabelListAttribute(bazel.UniqueSortedBazelLabelList(depLabels)),
- System_dynamic_deps: bazel.MakeLabelListAttribute(bazel.MakeLabelList([]bazel.Label{})),
+ Deps: bazel.MakeLabelListAttribute(bazel.UniqueSortedBazelLabelList(depLabels)),
}
ndkSysroot := bTarget{
targetName: "ndk_sysroot",
diff --git a/cc/afdo.go b/cc/afdo.go
index 5c587c0..ac210d4 100644
--- a/cc/afdo.go
+++ b/cc/afdo.go
@@ -84,7 +84,10 @@
// 3. Make the profile searchable by the build system. So it's used the next time the binary
// is built.
flags.Local.CFlags = append([]string{"-funique-internal-linkage-names"}, flags.Local.CFlags...)
+ // Flags for Flow Sensitive AutoFDO
flags.Local.CFlags = append([]string{"-mllvm", "-enable-fs-discriminator=true"}, flags.Local.CFlags...)
+ // TODO(b/266595187): Remove the following feature once it is enabled in LLVM by default.
+ flags.Local.CFlags = append([]string{"-mllvm", "-improved-fs-discriminator=true"}, flags.Local.CFlags...)
}
if path := afdo.Properties.FdoProfilePath; path != nil {
// The flags are prepended to allow overriding.
diff --git a/cc/library_headers.go b/cc/library_headers.go
index 4da2b48..3f8be46 100644
--- a/cc/library_headers.go
+++ b/cc/library_headers.go
@@ -122,8 +122,6 @@
Export_absolute_includes bazel.StringListAttribute
Export_system_includes bazel.StringListAttribute
Deps bazel.LabelListAttribute
- Implementation_deps bazel.LabelListAttribute
- System_dynamic_deps bazel.LabelListAttribute
sdkAttributes
}
@@ -139,7 +137,6 @@
Export_absolute_includes: exportedIncludes.AbsoluteIncludes,
Export_system_includes: exportedIncludes.SystemIncludes,
Deps: linkerAttrs.deps,
- System_dynamic_deps: linkerAttrs.systemDynamicDeps,
Hdrs: baseAttributes.hdrs,
sdkAttributes: bp2BuildParseSdkAttributes(module),
}
diff --git a/java/aar.go b/java/aar.go
index 85a6fbb..368f241 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -66,6 +66,9 @@
// ones.
Aapt_include_all_resources *bool
+ // list of files to use as assets.
+ Assets []string `android:"path"`
+
// list of directories relative to the Blueprints file containing assets.
// Defaults to ["assets"] if a directory called assets exists. Set to []
// to disable the default.
@@ -192,6 +195,11 @@
linkFlags = append(linkFlags, a.aaptProperties.Aaptflags...)
// Find implicit or explicit asset and resource dirs
+ assets := android.PathsRelativeToModuleSourceDir(android.SourceInput{
+ Context: ctx,
+ Paths: a.aaptProperties.Assets,
+ IncludeDirs: false,
+ })
assetDirs := android.PathsWithOptionalDefaultForModuleSrc(ctx, a.aaptProperties.Asset_dirs, "assets")
resourceDirs := android.PathsWithOptionalDefaultForModuleSrc(ctx, a.aaptProperties.Resource_dirs, "res")
resourceZips := android.PathsForModuleSrc(ctx, a.aaptProperties.Resource_zips)
@@ -226,6 +234,28 @@
assetDirStrings = append(assetDirStrings, filepath.Dir(a.noticeFile.Path().String()))
assetDeps = append(assetDeps, a.noticeFile.Path())
}
+ if len(assets) > 0 {
+ // aapt2 doesn't support adding individual asset files. Create a temp directory to hold asset
+ // files and pass it to aapt2.
+ tmpAssetDir := android.PathForModuleOut(ctx, "tmp_asset_dir")
+
+ rule := android.NewRuleBuilder(pctx, ctx)
+ rule.Command().
+ Text("rm -rf").Text(tmpAssetDir.String()).
+ Text("&&").
+ Text("mkdir -p").Text(tmpAssetDir.String())
+
+ for _, asset := range assets {
+ output := tmpAssetDir.Join(ctx, asset.Rel())
+ assetDeps = append(assetDeps, output)
+ rule.Command().Text("mkdir -p").Text(filepath.Dir(output.String()))
+ rule.Command().Text("cp").Input(asset).Output(output)
+ }
+
+ rule.Build("tmp_asset_dir", "tmp_asset_dir")
+
+ assetDirStrings = append(assetDirStrings, tmpAssetDir.String())
+ }
linkFlags = append(linkFlags, "--manifest "+manifestPath.String())
linkDeps = append(linkDeps, manifestPath)
diff --git a/java/app_test.go b/java/app_test.go
index e38a724..4d3b2dc 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -608,6 +608,15 @@
asset_dirs: ["assets_b"],
}
+ android_library {
+ name: "lib5",
+ sdk_version: "current",
+ assets: [
+ "path/to/asset_file_1",
+ "path/to/asset_file_2",
+ ],
+ }
+
android_library_import {
name: "import",
sdk_version: "current",
@@ -616,9 +625,11 @@
`
testCases := []struct {
- name string
- assetFlag string
- assetPackages []string
+ name string
+ assetFlag string
+ assetPackages []string
+ tmpAssetDirInputs []string
+ tmpAssetDirOutputs []string
}{
{
name: "foo",
@@ -644,6 +655,18 @@
name: "lib4",
assetFlag: "-A assets_b",
},
+ {
+ name: "lib5",
+ assetFlag: "-A out/soong/.intermediates/lib5/android_common/tmp_asset_dir",
+ tmpAssetDirInputs: []string{
+ "path/to/asset_file_1",
+ "path/to/asset_file_2",
+ },
+ tmpAssetDirOutputs: []string{
+ "out/soong/.intermediates/lib5/android_common/tmp_asset_dir/path/to/asset_file_1",
+ "out/soong/.intermediates/lib5/android_common/tmp_asset_dir/path/to/asset_file_2",
+ },
+ },
}
ctx := testApp(t, bp)
@@ -671,6 +694,14 @@
mergeAssets := m.Output("package-res.apk")
android.AssertPathsRelativeToTopEquals(t, "mergeAssets inputs", test.assetPackages, mergeAssets.Inputs)
}
+
+ if len(test.tmpAssetDirInputs) > 0 {
+ rule := m.Rule("tmp_asset_dir")
+ inputs := rule.Implicits
+ outputs := append(android.WritablePaths{rule.Output}, rule.ImplicitOutputs...).Paths()
+ android.AssertPathsRelativeToTopEquals(t, "tmp_asset_dir inputs", test.tmpAssetDirInputs, inputs)
+ android.AssertPathsRelativeToTopEquals(t, "tmp_asset_dir outputs", test.tmpAssetDirOutputs, outputs)
+ }
})
}
}
diff --git a/ui/build/paths/config.go b/ui/build/paths/config.go
index eba823a..65e2c8e 100644
--- a/ui/build/paths/config.go
+++ b/ui/build/paths/config.go
@@ -92,6 +92,7 @@
"expr": Allowed,
"fuser": Allowed,
"gcert": Allowed,
+ "gcertstatus": Allowed,
"getopt": Allowed,
"git": Allowed,
"hexdump": Allowed,