platform_build_soong/android
Paul Duffin 8b0349c652 Separate dist processing from make specific output
Previously, the GetDistForGoals(Module) func combined the processing
of the dist properties with generating the make specific rules for
generating that dist. That has a couple of problems:
1. It combines two pieces of functionality into one method which is
   bad practice.
2. It makes it hard to test because the make specific output ends up
   containing absolute paths to temporary directories created by the
   test.
3. It makes switching to a non-make output difficult and fragile as
   changing the output will also require changing the tests.

This change adds an intermediate data structure to contain the result
of the dist processing. That processing is done by the new method
getDistContributions(Module) which returns the new intermediate
structure. It also adds generateDistContributionsForMake(..) to
generate the make output. The GetDistForGoals(Module) func uses them to
implement the previous behavior.

It adds identical tests to those in TestGetDistForGoals() but leaves
those tests alone to show that this refactoring does not change the
behavior. Follow up changes will clean up TestGetDistForGoals(). It
also adds a test for generateDistContributionsForMake(..).

Bug: 174226317
Test: m nothing
      m dist sdk - before and after this change, compare result to
      make sure that there are no significant differences.
Change-Id: I458b7c8e4485bf66d3498f50df85a8d65fc2ee00
2020-11-27 15:17:38 +00:00
..
soongconfig Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
Android.bp Merge changes I8af00c8c,Ia526ae89 2020-11-24 19:27:35 +00:00
android_test.go Share buildDir for android/soong/android tests 2019-06-10 15:51:06 -07:00
androidmk.go Separate dist processing from make specific output 2020-11-27 15:17:38 +00:00
androidmk_test.go Separate dist processing from make specific output 2020-11-27 15:17:38 +00:00
apex.go Documenting android/apex.go 2020-11-20 10:07:19 +09:00
apex_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
api_levels.go Replace android.WriteFile rule with android.WriteFileRule 2020-11-14 16:26:00 -08:00
arch.go Annotate dependency tags for dependencies of installed files 2020-11-23 18:06:08 -08:00
arch_list.go Add more comments to arch.go 2020-11-19 11:20:05 -08:00
arch_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
bazel_handler.go Merge "Use packagepath and local_repository for mixed builds" 2020-11-18 16:06:35 +00:00
config.go Merge "Comment android/config.go" 2020-11-25 04:18:56 +00:00
config_test.go Retry: Make ConfiguredJarList immutable 2020-10-27 17:37:20 +00:00
csuite_config.go Convert csuite config to use AndroidMkEntries 2020-11-24 13:41:28 -08:00
csuite_config_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
defaults.go Add more comments to arch.go 2020-11-19 11:20:05 -08:00
defaults_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
defs.go Replace android.WriteFile rule with android.WriteFileRule 2020-11-14 16:26:00 -08:00
depset.go Start using Providers instead of direct module access 2020-10-12 16:55:47 -07:00
depset_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
deptag.go Annotate dependency tags for dependencies of installed files 2020-11-23 18:06:08 -08:00
deptag_test.go Annotate dependency tags for dependencies of installed files 2020-11-23 18:06:08 -08:00
env.go Teach Soong to use a custom Delve binary. 2020-11-06 10:46:01 +01:00
expand.go Fix android.Expand and ninja escaping 2019-07-11 14:52:17 -07:00
expand_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
filegroup.go Move bazel_module property to a common file, and add it to filegroup. 2020-11-22 22:01:44 -05:00
hooks.go Add SrcPath to InstallHookContext 2020-06-04 01:26:16 +01:00
image.go Add vendor-ramdisk image to Soong. 2020-10-22 10:26:26 -07:00
makefile_goal.go makefile_goal: not arch specific. 2020-10-21 14:09:14 -07:00
makevars.go Refactor 'in_make' to mean Kati is not skipped. 2020-11-23 00:29:18 -05:00
metrics.go Collect metrics from inside soong_build 2020-02-25 20:50:00 +00:00
module.go Merge "Annotate dependency tags for dependencies of installed files" 2020-11-24 16:01:35 +00:00
module_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
mutator.go Add providers support 2020-09-17 18:57:03 -07:00
mutator_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
namespace.go Simplify vendor conditionals 2020-01-24 16:43:40 -08:00
namespace_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
neverallow.go Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709) 2020-08-29 01:17:45 -07:00
neverallow_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08: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 Store ninja file deps from PackageVarContext in the config 2020-11-17 10:50:19 -08:00
notices.go Make a soong-only copy of generate-notice-files.py 2020-03-03 13:50:53 -08:00
onceper.go Convert droidstubs to android.RuleBuilder 2019-07-18 14:28:14 -07:00
onceper_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
override_module.go Capture list of unused methods when shrinking in R8 2020-08-19 11:19:14 -07:00
package.go Simplify package by using LoadHook instead of mutators 2020-05-06 08:21:39 +01:00
package_ctx.go Store ninja file deps from PackageVarContext in the config 2020-11-17 10:50:19 -08:00
package_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
packaging.go Introduce PackagingBase 2020-11-19 08:58:06 +09:00
packaging_test.go Introduce PackagingBase 2020-11-19 08:58:06 +09:00
path_properties.go Add more comments to path_properties.go 2020-11-19 14:28:46 -08:00
path_properties_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
paths.go Refactor 'in_make' to mean Kati is not skipped. 2020-11-23 00:29:18 -05:00
paths_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
phony.go Refactor 'in_make' to mean Kati is not skipped. 2020-11-23 00:29:18 -05:00
prebuilt.go Support asan/hwasan versions of prebuilts. 2020-10-13 03:37:32 +00:00
prebuilt_build_tool.go Handle absolute source paths correctly. 2020-09-22 01:17:32 +01:00
prebuilt_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
proto.go Add method to determine variations from a Target 2019-10-16 14:52:30 -07:00
queryview.go Add 'pre-production' description to queryview action. 2020-11-13 10:06:40 -05:00
register.go Store ninja file deps from PackageVarContext in the config 2020-11-17 10:50:19 -08:00
rule_builder.go Reland: Rewrite sbox to use a textproto manifest 2020-11-20 15:45:04 -08:00
rule_builder_test.go Reland: Rewrite sbox to use a textproto manifest 2020-11-20 15:45:04 -08:00
sandbox.go Sandbox soong_build by changing to root directory 2020-01-11 01:11:46 +00:00
sdk.go Handle property structs and BpPropertySets as values to AddProperty. 2020-09-25 00:33:04 +01:00
singleton.go Add symlink_outputs support to Soong. 2020-10-19 01:26:50 -04:00
soong_config_modules.go Merge "soong config: add value_variable substitution" into rvc-dev 2020-04-11 17:24:57 +00:00
soong_config_modules_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
test_suites.go Expose android.filesToInstall 2020-09-29 20:17:22 +09:00
testing.go Refactor 'in_make' to mean Kati is not skipped. 2020-11-23 00:29:18 -05:00
util.go Use common helper functions for getting sorted map keys. 2020-08-20 12:37:03 +01:00
util_test.go Revert "Make lots of tests run in parallel" 2020-10-09 18:34:24 -07:00
variable.go Merge "Revert "Always turn on compatible property"" 2020-11-18 11:13:59 +00:00
variable_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
visibility.go Merge "Error if visibility specifies a module" 2020-10-19 19:06:49 +00:00
visibility_test.go Pass Config to NewTestContext instead of ctx.Register 2020-11-12 10:07:49 -08:00
writedocs.go Add dependency on dexpreopt.config to soong_build doc generation. 2020-11-04 01:51:40 -05:00