platform_build_soong/android
Lukacs T. Berki d518e1a407 Make bp2build be more correct.
It now handles adding .bp files and changing globs.

In order to do this, depfiles are now written separately from RunBlueprint.

This is necessary due to the confluence of a number of seemingly
unrelated factors:

1. The glob filelist dependencies are discovered in globSingleton
2. Singletons need to be registered because otherwise singleton module
   types panic
3. Singletons don't work because they require mutators bp2build does not
   run

Due to (1), we would need to run the glob singleton. However, due to (2)
and (3), we can't run singletons and have to run Blueprint with
StopBeforeGeneratingBuildActions, which is when the build actions
writing glob files would be generated. So what happens is:

1. When bp2build is run, the glob singleton is disabled
2. At the end of bp2build, the list of glob files is artifically added
   to the depfile of the workspace marker file
3. When build.ninja is generated, the Ninja file containing the glob
   list file is written by the now-active glob singleton

Test: Presubmits.
Change-Id: I3c5898d8c57c554a93520276c64a952afc912dbe
2021-04-15 13:06:16 +02:00
..
soongconfig Fix nested properties in soong config structs 2021-03-05 17:26:37 -08:00
Android.bp Delete android/env.go . 2021-04-13 08:10:01 +02:00
android_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
androidmk.go Support paths for init_rc from Soong. 2021-04-07 16:26:55 -04:00
androidmk_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
apex.go Fix min_sdk_version err msg in apex. 2021-04-12 16:45:25 +00:00
apex_test.go Remove android/apex_test.go use of buildDir 2021-03-17 16:10:56 +00:00
api_levels.go Move java.sdkSpec to the android package 2021-04-03 08:25:12 +09:00
arch.go Add debug ramdisk variant 2021-04-15 00:56:30 +00:00
arch_list.go [arm64] Build NDK with PAuth and BTI 2021-01-26 08:15:07 +01:00
arch_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
bazel.go Transform paths to headers in include dirs to take package boundaries into account. 2021-04-14 17:05:36 -04:00
bazel_handler.go Make bp2build be more correct. 2021-04-15 13:06:16 +02:00
bazel_handler_test.go Add tests for bazel_handler 2021-04-12 15:59:06 -04:00
bazel_test.go bp2build: add allowlist for package-level conversions. 2021-03-24 02:27:19 -04:00
config.go Merge "Fix evaluation order of (Cfi|Memtag) exclude paths." 2021-04-15 03:49:38 +00:00
config_test.go Fix writing soong.variables . 2021-03-17 16:35:13 +01:00
csuite_config.go Convert android/csuite_config_test.go to test fixtures 2021-03-17 16:18:17 +00:00
csuite_config_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
deapexer.go Export dex implementation jars from prebuilt_apex 2021-01-15 18:14:10 +00:00
defaults.go Revert^2 "Add ability to declare licenses in soong." 2021-01-06 20:48:24 -08:00
defaults_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
defs.go Move android package on top of remotexec 2021-03-18 16:17:34 -07:00
depset_generic.go Reimplement DepSet as a wrapper around a generic implementation 2020-12-07 12:27:50 -08:00
depset_paths.go Reimplement DepSet as a wrapper around a generic implementation 2020-12-07 12:27:50 -08:00
depset_test.go Reimplement DepSet as a wrapper around a generic implementation 2020-12-07 12:27:50 -08:00
deptag.go Annotate dependency tags for dependencies of installed files 2020-11-23 18:06:08 -08:00
deptag_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
expand.go
expand_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
filegroup.go bp2build: arch-configurable selects for label list attrs. 2021-03-30 13:22:48 +00:00
fixture.go Remove FixturePreparer.Extend() 2021-04-01 10:33:20 +01:00
fixture_test.go Remove FixturePreparer.Extend() 2021-04-01 10:33:20 +01:00
hooks.go Add SrcPath to InstallHookContext 2020-06-04 01:26:16 +01:00
image.go Add debug ramdisk variant 2021-04-15 00:56:30 +00:00
license.go Reformat license code to comply with preupload checks 2021-03-04 22:35:29 +00:00
license_kind.go Revert^2 "Add ability to declare licenses in soong." 2021-01-06 20:48:24 -08:00
license_kind_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
license_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
licenses.go Reformat license code to comply with preupload checks 2021-03-04 22:35:29 +00:00
licenses_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
makefile_goal.go Remove AndroidMkExtraFootersFunc entries param. 2020-12-07 10:23:54 -08:00
makevars.go Add a new SingletonModule type 2021-01-07 17:19:27 -08:00
metrics.go Collect metrics from inside soong_build 2020-02-25 20:50:00 +00:00
module.go Add debug ramdisk variant 2021-04-15 00:56:30 +00:00
module_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
mutator.go Merge "Convert TestApexPermittedPackagesRules to use test fixtures" 2021-03-31 21:40:09 +00:00
mutator_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
namespace.go getNamespacesToSearchForModule to use blueprint.Namespace 2020-12-21 18:40:53 +00:00
namespace_test.go Add TestingBuildParams.RelativeToTop() 2021-03-22 22:09:53 +00:00
neverallow.go Convert TestApexPermittedPackagesRules to use test fixtures 2021-03-31 16:16:18 +01:00
neverallow_test.go Convert TestApexPermittedPackagesRules to use test fixtures 2021-03-31 16:16:18 +01:00
ninja_deps.go Store ninja file deps from PackageVarContext in the config 2020-11-17 10:50:19 -08:00
ninja_deps_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
notices.go Make a soong-only copy of generate-notice-files.py 2020-03-03 13:50:53 -08:00
onceper.go
onceper_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
override_module.go Run "prebuilt_postdeps" mutator again 2021-03-09 11:23:46 +09:00
package.go Add error handling to test fixtures 2021-03-02 20:17:19 +00:00
package_ctx.go Move android package on top of remotexec 2021-03-18 16:17:34 -07:00
package_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
packaging.go Fix PackagingBase.CopyDepsToZip 2021-03-17 11:54:53 +09:00
packaging_test.go Merge "Fix PackagingBase.CopyDepsToZip" 2021-03-23 04:21:38 +00:00
path_properties.go Lineage properties support module references. 2021-03-09 15:14:34 -08:00
path_properties_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
paths.go Merge "Transform paths to headers in include dirs to take package boundaries into account." 2021-04-15 05:42:40 +00:00
paths_test.go Add debug ramdisk variant 2021-04-15 00:56:30 +00:00
phony.go Refactor 'in_make' to mean Kati is not skipped. 2020-11-23 00:29:18 -05:00
prebuilt.go Make sure prebuilt modules are exported before attempting to use them 2021-04-14 22:55:22 +02:00
prebuilt_build_tool.go SOONG_* variables are emitted only for the BuildOS variants 2020-12-17 19:31:17 +09:00
prebuilt_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
proto.go Pass pctx and ctx to NewRuleBuilder 2020-12-01 16:22:16 -08:00
queryview.go queryview: fix depfile and incrementality. 2021-03-30 12:22:12 +00:00
register.go Register bp2build module types even outside generation 2021-03-31 12:26:01 -04:00
rule_builder.go Use interface for $(location) values in genrules 2021-03-25 11:06:45 -07:00
rule_builder_test.go Remove extraneous calls to TestingBuildParams.RelativeToTop() 2021-03-30 20:03:22 +01:00
sandbox.go cd to / before running soong_build . 2021-03-03 09:14:22 +01:00
sdk.go Export implementation class jars for java_boot_libs 2021-02-05 13:35:25 +00:00
sdk_version.go SdkSpec is fully using ApiLevel 2021-04-08 11:27:24 +09:00
singleton.go Add symlink_outputs support to Soong. 2020-10-19 01:26:50 -04:00
singleton_module.go Add a new SingletonModule type 2021-01-07 17:19:27 -08:00
singleton_module_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
soong_config_modules.go Add conditions_default for soong config variables. 2021-01-21 14:25:20 -05:00
soong_config_modules_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
test_asserts.go Replace AssertPanic with AssertPanicMessageContains 2021-03-20 12:08:51 +00:00
test_suites.go Add explicit rspfile argument to RuleBuilderCommand.FlagWithRspFileInputList 2021-03-16 16:52:56 -07:00
testing.go Remove extraneous calls to TestingBuildParams.RelativeToTop() 2021-03-30 20:03:22 +01:00
util.go Add FilterListPred. 2021-03-28 22:06:33 +01:00
util_test.go Add FilterListPred. 2021-03-28 22:06:33 +01:00
variable.go Add a variable that indicates build-time debugfs restrictions 2021-04-02 16:45:24 -07:00
variable_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
visibility.go Simplify preparers now that tests use consistent registration order 2021-03-09 14:14:48 +00:00
visibility_test.go Remove uses of FixtureFactory from android package 2021-03-22 18:31:53 +00:00
writedocs.go Fix writedocs. 2021-03-11 08:37:01 +01:00