Remove global state from apex modules
A global variant was used to store the global mapping between
modules and APEXes. Replace it with storing pointers to APEX
contents inside each module so that they can query the contents
of any APEXes they belong to.
Bug: 146393795
Test: all Soong tests
Test: single line change to build.ninja host install dependency ordering
Test: no Android-${TARGET_PRODUCT}.mk, make_vars-${TARGET_PRODUCT}.mk or late-${TARGET_PRODUCT}.mk
Change-Id: Id2d7b73ea27f8c3b41d30820bdd86b65c539bfa4
diff --git a/android/apex_test.go b/android/apex_test.go
index dd372f7..512b50f 100644
--- a/android/apex_test.go
+++ b/android/apex_test.go
@@ -29,10 +29,10 @@
{
name: "single",
in: []ApexInfo{
- {"foo", "current", false, nil, []string{"foo"}},
+ {"foo", "current", false, nil, []string{"foo"}, nil},
},
wantMerged: []ApexInfo{
- {"apex10000", "current", false, nil, []string{"foo"}},
+ {"apex10000", "current", false, nil, []string{"foo"}, nil},
},
wantAliases: [][2]string{
{"foo", "apex10000"},
@@ -41,12 +41,11 @@
{
name: "merge",
in: []ApexInfo{
- {"foo", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}},
- {"bar", "current", false, SdkRefs{{"baz", "1"}}, []string{"bar"}},
+ {"foo", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}, nil},
+ {"bar", "current", false, SdkRefs{{"baz", "1"}}, []string{"bar"}, nil},
},
wantMerged: []ApexInfo{
- {"apex10000_baz_1", "current", false, SdkRefs{{"baz", "1"}}, []string{"bar", "foo"}},
- },
+ {"apex10000_baz_1", "current", false, SdkRefs{{"baz", "1"}}, []string{"bar", "foo"}, nil}},
wantAliases: [][2]string{
{"bar", "apex10000_baz_1"},
{"foo", "apex10000_baz_1"},
@@ -55,12 +54,12 @@
{
name: "don't merge version",
in: []ApexInfo{
- {"foo", "current", false, nil, []string{"foo"}},
- {"bar", "30", false, nil, []string{"bar"}},
+ {"foo", "current", false, nil, []string{"foo"}, nil},
+ {"bar", "30", false, nil, []string{"bar"}, nil},
},
wantMerged: []ApexInfo{
- {"apex30", "30", false, nil, []string{"bar"}},
- {"apex10000", "current", false, nil, []string{"foo"}},
+ {"apex30", "30", false, nil, []string{"bar"}, nil},
+ {"apex10000", "current", false, nil, []string{"foo"}, nil},
},
wantAliases: [][2]string{
{"bar", "apex30"},
@@ -70,11 +69,11 @@
{
name: "merge updatable",
in: []ApexInfo{
- {"foo", "current", false, nil, []string{"foo"}},
- {"bar", "current", true, nil, []string{"bar"}},
+ {"foo", "current", false, nil, []string{"foo"}, nil},
+ {"bar", "current", true, nil, []string{"bar"}, nil},
},
wantMerged: []ApexInfo{
- {"apex10000", "current", true, nil, []string{"bar", "foo"}},
+ {"apex10000", "current", true, nil, []string{"bar", "foo"}, nil},
},
wantAliases: [][2]string{
{"bar", "apex10000"},
@@ -84,12 +83,12 @@
{
name: "don't merge sdks",
in: []ApexInfo{
- {"foo", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}},
- {"bar", "current", false, SdkRefs{{"baz", "2"}}, []string{"bar"}},
+ {"foo", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}, nil},
+ {"bar", "current", false, SdkRefs{{"baz", "2"}}, []string{"bar"}, nil},
},
wantMerged: []ApexInfo{
- {"apex10000_baz_2", "current", false, SdkRefs{{"baz", "2"}}, []string{"bar"}},
- {"apex10000_baz_1", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}},
+ {"apex10000_baz_2", "current", false, SdkRefs{{"baz", "2"}}, []string{"bar"}, nil},
+ {"apex10000_baz_1", "current", false, SdkRefs{{"baz", "1"}}, []string{"foo"}, nil},
},
wantAliases: [][2]string{
{"bar", "apex10000_baz_2"},