platform_build_soong/android
Paul Duffin f9b1da0fcb Dedup registration code for module types and singletons
The registration of module types and singletons is duplicated between
init() functions that register them for use in the build runtime and
test context creation code that registers them for testing.

This is a proof of concept for a mechanism that will allow the code
to be shared. It defines a RegistrationContext interface that is
implemented by both the TestContext and the new initRegistrationContext
type. An instance of the the latter is available through the
InitRegistrationContext variable.

The intent is that the registration of the module types and singleton
types will be extracted from the init() function into a separate
function that takes a RegistrationContext parameter. That method is
called from init() passing in the InitRegistrationContext and from a
test passing in the TestContext. Something like this:

  func init() {
    RegisterBuildComponents(android.InitRegistrationContext)
  }

  func RegisterBuildComponents(ctx android.RegistrationContext) {
    ctx.RegisterModuleType(....)
    ....
  }

A test would do something like this:

  ctx := android.NewTestContext()
  RegisterBuildComponents(ctx)

Test: m nothing
Change-Id: I97173cabb6d6cf7ce98fdb5f73418438b1997b35
2019-12-19 10:09:53 +00:00
..
android_test.go Share buildDir for android/soong/android tests 2019-06-10 15:51:06 -07:00
androidmk.go AndroidMkEntries() returns multiple AndroidMkEntries structs 2019-12-11 17:25:27 +09:00
androidmk_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
apex.go Merge changes Icbdf4979,I1a6f135d 2019-12-18 01:04:53 +00:00
api_levels.go Merge changes I9f8df94f,I2d7f5c56,I0ebb7381,Ieefcfc1a am: a6bf56d4be 2019-06-10 10:00:33 -07:00
arch.go Don't create native bridge variants of vendor modules 2019-12-18 10:45:46 -08:00
arch_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
config.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
config_test.go Fix go vet issues 2018-07-22 21:18:45 -07:00
csuite_config.go Create C-Suite config module 2019-10-18 18:28:00 +00:00
csuite_config_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
defaults.go apex_available is defaultable 2019-12-02 13:48:33 +09:00
defaults_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
defs.go Fix package path of android/soong/android pctx 2019-04-10 16:49:27 -07:00
env.go Allow debugging with SOONG_DELVE=<listen addr> 2019-07-03 16:33:31 -07:00
expand.go Fix android.Expand and ninja escaping 2019-07-11 14:52:17 -07:00
expand_test.go Fix android.Expand and ninja escaping 2019-07-11 14:52:17 -07:00
filegroup.go Replace ctx.ExpandSources with android.PathsForModuleSrc 2019-03-20 19:36:13 +00:00
hooks.go Separate InstallPath from OutputPath 2019-10-03 10:07:53 -07:00
image.go Use empty string for core image variant 2019-12-13 20:44:36 -08:00
makevars.go Add GlobWithDeps to MakeVarsContext 2019-11-04 10:27:48 -08:00
module.go Move imageMutator before archMutator 2019-12-17 14:45:11 -08:00
module_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
mutator.go Move imageMutator before archMutator 2019-12-17 14:45:11 -08:00
mutator_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
namespace.go Give Blueprint modules access to all namespaces 2019-06-14 11:26:09 -07:00
namespace_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
neverallow.go Update paths for libnative{bridge,loader} 2019-11-06 13:39:46 +00:00
neverallow_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
notices.go Separate InstallPath from OutputPath 2019-10-03 10:07:53 -07:00
onceper.go Convert droidstubs to android.RuleBuilder 2019-07-18 14:28:14 -07:00
onceper_test.go Prevent hangs in OncePer when the callback panics 2019-05-14 18:40:13 +00:00
override_module.go Overridden APEX doesn't contribute to the file contexts 2019-12-05 13:25:39 +09:00
package.go Ensure prebuilt modules have same visibility as source modules 2019-12-09 13:32:28 +00:00
package_ctx.go Move/dedupe some host path functions in package_ctx.go. 2019-12-09 22:04:21 +00:00
package_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
path_properties.go Dedup path properties across property structs 2019-07-16 09:52:23 -07:00
path_properties_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
paths.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
paths_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
prebuilt.go Merge "Delete prebuilt APEXes when installing source-built APEXes" am: a822256e15 2019-07-31 00:50:07 -07:00
prebuilt_etc.go AndroidMkEntries() returns multiple AndroidMkEntries structs 2019-12-11 17:25:27 +09:00
prebuilt_etc_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
prebuilt_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
proto.go Add method to determine variations from a Target 2019-10-16 14:52:30 -07:00
register.go Dedup registration code for module types and singletons 2019-12-19 10:09:53 +00:00
rule_builder.go Rewrite depfile from sbox to stay reproducible 2019-08-29 14:47:40 -07:00
rule_builder_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
sdk.go Decouple addition of new sdk member types from sdk code 2019-12-13 20:07:33 +00:00
sh_binary.go AndroidMkEntries() returns multiple AndroidMkEntries structs 2019-12-11 17:25:27 +09:00
sh_binary_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
singleton.go Run non-RBE supported actions in the local pool when USE_RBE is set. 2019-11-05 22:57:35 +00:00
testing.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
util.go Merge "Soong generates vndk-related .libraries.txt files" 2019-11-01 01:57:50 +00:00
util_test.go Move sharding functions for reuse 2019-09-29 23:26:37 -07:00
variable.go Install flattened/unflattend apexes for GSI 2019-12-06 09:52:19 +09:00
variable_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
visibility.go Ensure prebuilt modules have same visibility as source modules 2019-12-09 13:32:28 +00:00
visibility_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
vts_config.go Create C-Suite config module 2019-10-18 18:28:00 +00:00
vts_config_test.go Move filesystem into Config 2019-12-18 08:19:10 -08:00
writedocs.go Split up Soong build doc. 2019-02-20 15:43:06 -08:00