platform_build_soong/android
Chris Parsons 0bfb1c0556 Deterministic aquery details in mixed builds
This change constitutes a number of fixes which cause mixed builds to
have deterministic ninja file output:

1. Depsets are identified based on a hash of their contents instead of
   an arbitrary ID integer from Bazel
2. Depset definitions in the ninja file are sorted by the above hashes
3. BuildStatements (action information from Bazel's aquery) are sorted
   by their contents

Test: Ran `USE_BAZEL_ANALYSIS=1 m nothing` three times and verified the
md5sum of out/soong/build.ninja was identical all three runs.
Test: mixed_droid

Change-Id: Iffdf6cc62c31d76fbbfa78726827497516171f4f
2022-05-13 13:45:56 -04:00
..
allowlists bp2build: allowlist system/memory/libmemunreachable 2022-05-12 00:28:57 +00:00
soongconfig Revert "Prevent unspecified values in soong_config_string_variable" 2022-03-24 13:52:58 +00:00
Android.bp Add buildinfo_prop module 2022-04-27 14:10:52 +09:00
android_test.go
androidmk.go Install .rc files for ramdisk variants 2022-04-13 19:19:25 -07:00
androidmk_test.go Allow appending artifact in dist with product name 2022-03-24 14:46:18 +00:00
apex.go Clean up hard-coded min_sdk_version/apex_available 2022-05-06 12:21:04 +09:00
apex_test.go Remove unused uses_sdks property for apexes 2022-04-21 11:13:45 -04:00
api_levels.go Revert "Fix erroneous "Field requires API level 33 (current min is 32)" warnings" 2022-04-29 09:49:16 +00:00
arch.go Remove linux_glibc musl hack 2022-03-29 22:42:11 -07:00
arch_list.go Export variant/features via soong_injection 2022-02-28 14:17:15 -05:00
arch_test.go Remove linux_glibc musl hack 2022-03-29 22:42:11 -07:00
bazel.go Log information for Mixed Builds modules. 2022-05-03 18:11:32 +00:00
bazel_handler.go Deterministic aquery details in mixed builds 2022-05-13 13:45:56 -04:00
bazel_handler_test.go Handle arch/cpu variants in mixed builds 2022-03-21 11:13:49 -04:00
bazel_paths.go refactor bp2build module allowlists into struct 2022-04-14 13:31:05 +00:00
bazel_test.go add unit test for bp2build allowlist 2022-04-14 13:31:09 +00:00
buildinfo_prop.go Add buildinfo_prop module 2022-04-27 14:10:52 +09:00
config.go Log information for Mixed Builds modules. 2022-05-03 18:11:32 +00:00
config_bp2build.go export Java variables to Bazel 2022-04-08 14:15:43 +00:00
config_bp2build_test.go export Java variables to Bazel 2022-04-08 14:15:43 +00:00
config_test.go
csuite_config.go
csuite_config_test.go
deapexer.go Do not allow duplicate deapexer dependencies. 2021-12-07 23:30:30 +00:00
defaults.go Use Module.GetProperties() instead of ModuleBase.generalProperties 2022-01-08 03:09:52 +00:00
defaults_test.go
defs.go Install android_app_set modules in Soong 2021-11-17 19:55:33 -08:00
depset_generic.go
depset_paths.go
depset_test.go
deptag.go
deptag_test.go
expand.go
expand_test.go
filegroup.go Log information for Mixed Builds modules. 2022-05-03 18:11:32 +00:00
fixture.go Switch the namespace tests to fully use test fixtures 2022-05-11 17:30:58 +00:00
fixture_test.go
hooks.go Share CreateModule between hooks & mutators 2022-04-26 09:08:55 -04:00
image.go Update some comments about the image mutator. 2021-06-15 15:49:51 +02:00
license.go Support multiple library names per target. 2022-02-11 10:36:22 -08:00
license_kind.go Use Module.GetProperties() instead of ModuleBase.generalProperties 2022-01-08 03:09:52 +00:00
license_kind_test.go Do not modules in files called "Blueprints". 2021-09-02 11:46:24 +02:00
license_metadata.go Generate sdk_repo notice files from license metadata 2022-01-28 15:56:07 -08:00
license_sdk_member.go Support multiple library names per target. 2022-02-11 10:36:22 -08:00
license_test.go Do not modules in files called "Blueprints". 2021-09-02 11:46:24 +02:00
licenses.go Export listshare and checkshare to Soong and Make 2022-04-13 11:05:12 -07:00
licenses_test.go Support multiple library names per target. 2022-02-11 10:36:22 -08:00
makefile_goal.go
makevars.go Install android_app_set modules in Soong 2021-11-17 19:55:33 -08:00
metrics.go Log information for Mixed Builds modules. 2022-05-03 18:11:32 +00:00
module.go Export Java library dependency information 2022-04-18 10:23:28 +08:00
module_test.go Add values to json module graph 2022-03-25 18:30:49 -04:00
mutator.go Share CreateModule between hooks & mutators 2022-04-26 09:08:55 -04:00
mutator_test.go
namespace.go cosmetic: 1)typos 2)parameters named for clarity 2022-01-29 06:34:53 +00:00
namespace_test.go Switch the namespace tests to fully use test fixtures 2022-05-11 17:30:58 +00:00
neverallow.go Don't allow using framework and SDK at the same time. 2022-04-05 15:39:05 +09:00
neverallow_test.go Don't allow using framework and SDK at the same time. 2022-04-05 15:39:05 +09:00
ninja_deps.go
ninja_deps_test.go
notices.go Revert "Revert "Build notice files from license metadata."" 2022-04-01 18:00:00 +00:00
onceper.go
onceper_test.go
override_module.go Allows prebuilts in override_apex. 2021-09-02 09:28:52 -07:00
package.go
package_ctx.go Escape Host*Variable contents 2021-12-08 15:08:59 -08:00
package_test.go cosmetic changes 2021-12-13 13:33:15 -05:00
packaging.go Move GatherPackagingSpecs out of CopyDepsToZip 2022-03-28 14:29:14 +09:00
packaging_test.go Move GatherPackagingSpecs out of CopyDepsToZip 2022-03-28 14:29:14 +09:00
path_properties.go Use Module.GetProperties() instead of ModuleBase.generalProperties 2022-01-08 03:09:52 +00:00
path_properties_test.go Support customizing behavior around sourceOrOutputDependencyTag 2021-07-09 23:54:01 +01:00
paths.go Prototype changes for multitree 2022-04-28 08:20:10 +00:00
paths_test.go Remove InstallBypassMake and ToMakePath 2021-12-15 15:22:53 -08:00
phony.go
prebuilt.go Fix genrule tool dependencies when a prebuilt tool is preferred. 2022-01-12 23:35:57 +00:00
prebuilt_build_tool.go Replace android.BuildOs with Config.BuildOS 2021-07-20 12:46:48 -07:00
prebuilt_test.go bp2build: add support for soong_config_module_type. 2021-11-08 13:38:28 +00:00
proto.go convert java proto libraries with bp2build 2022-02-15 21:04:59 +00:00
register.go add type to modules created by LoadHookContext 2022-03-10 20:59:45 +00:00
rule_builder.go Enable restat for sbox rules 2022-04-04 16:42:46 -07:00
rule_builder_test.go Enable restat for sbox rules 2022-04-04 16:42:46 -07:00
sandbox.go
sdk.go Remove unused uses_sdks property for apexes 2022-04-21 11:13:45 -04:00
sdk_test.go Detect duplicates in sdkRegistry 2021-09-23 11:37:57 +01:00
sdk_version.go Test SdkSpecForm. 2021-12-01 17:43:00 +00:00
sdk_version_test.go Test SdkSpecForm. 2021-12-01 17:43:00 +00:00
singleton.go Rename BuildDir and NinjaBuildDir. 2021-08-27 10:08:49 +02:00
singleton_module.go
singleton_module_test.go Move functionality to test install rules into testing.go. 2022-02-10 23:36:06 +00:00
soong_config_modules.go Close opened paths 2022-02-07 10:17:35 -05:00
soong_config_modules_test.go Add package for printing starlark formatted data 2022-02-08 17:32:28 -05:00
test_asserts.go Rename BuildDir and NinjaBuildDir. 2021-08-27 10:08:49 +02:00
test_suites.go Remove InstallBypassMake and ToMakePath 2021-12-15 15:22:53 -08:00
testing.go refactor bp2build module allowlists into struct 2022-04-14 13:31:05 +00:00
util.go Add SortedStringValues and SortedUniqueStringValues 2022-02-17 15:52:07 -08:00
util_test.go Add SortedStringValues and SortedUniqueStringValues 2022-02-17 15:52:07 -08:00
variable.go Add a test for correctness of C++ compilation. 2022-05-04 09:12:01 +02:00
variable_test.go
visibility.go
visibility_test.go Do not modules in files called "Blueprints". 2021-09-02 11:46:24 +02:00