Merge "Reapply "Only use partial compile on eng builds"" into main
diff --git a/android/apex_contributions.go b/android/apex_contributions.go
index 4cd8dda..ce34278 100644
--- a/android/apex_contributions.go
+++ b/android/apex_contributions.go
@@ -26,7 +26,7 @@
func RegisterApexContributionsBuildComponents(ctx RegistrationContext) {
ctx.RegisterModuleType("apex_contributions", apexContributionsFactory)
ctx.RegisterModuleType("apex_contributions_defaults", apexContributionsDefaultsFactory)
- ctx.RegisterSingletonModuleType("all_apex_contributions", allApexContributionsFactory)
+ ctx.RegisterModuleType("all_apex_contributions", allApexContributionsFactory)
}
type apexContributions struct {
@@ -87,10 +87,10 @@
// Based on product_config, it will create a dependency on the selected
// apex_contributions per mainline module
type allApexContributions struct {
- SingletonModuleBase
+ ModuleBase
}
-func allApexContributionsFactory() SingletonModule {
+func allApexContributionsFactory() Module {
module := &allApexContributions{}
InitAndroidModule(module)
return module
@@ -191,7 +191,7 @@
// This module type does not have any build actions.
func (a *allApexContributions) GenerateAndroidBuildActions(ctx ModuleContext) {
-}
-
-func (a *allApexContributions) GenerateSingletonBuildActions(ctx SingletonContext) {
+ if ctx.ModuleName() != "all_apex_contributions" {
+ ctx.ModuleErrorf("There can only be 1 all_apex_contributions module in build/soong")
+ }
}
diff --git a/android/module_context.go b/android/module_context.go
index d71992d..9fa3a62 100644
--- a/android/module_context.go
+++ b/android/module_context.go
@@ -16,14 +16,13 @@
import (
"fmt"
+ "github.com/google/blueprint/depset"
"path"
"path/filepath"
"strings"
"github.com/google/blueprint"
- "github.com/google/blueprint/depset"
"github.com/google/blueprint/proptools"
- "github.com/google/blueprint/uniquelist"
)
// BuildParameters describes the set of potential parameters to build a Ninja rule.
@@ -555,8 +554,8 @@
return m.packageFile(fullInstallPath, srcPath, false)
}
-func (m *moduleContext) getAconfigPaths() Paths {
- return m.aconfigFilePaths
+func (m *moduleContext) getAconfigPaths() *Paths {
+ return &m.aconfigFilePaths
}
func (m *moduleContext) setAconfigPaths(paths Paths) {
@@ -571,12 +570,12 @@
srcPath: srcPath,
symlinkTarget: "",
executable: executable,
- effectiveLicenseFiles: uniquelist.Make(licenseFiles),
+ effectiveLicenseFiles: &licenseFiles,
partition: fullInstallPath.partition,
skipInstall: m.skipInstall(),
- aconfigPaths: uniquelist.Make(m.getAconfigPaths()),
+ aconfigPaths: m.getAconfigPaths(),
archType: m.target.Arch.ArchType,
- overrides: uniquelist.Make(overrides),
+ overrides: &overrides,
owner: m.ModuleName(),
}
m.packagingSpecs = append(m.packagingSpecs, spec)
@@ -704,9 +703,9 @@
executable: false,
partition: fullInstallPath.partition,
skipInstall: m.skipInstall(),
- aconfigPaths: uniquelist.Make(m.getAconfigPaths()),
+ aconfigPaths: m.getAconfigPaths(),
archType: m.target.Arch.ArchType,
- overrides: uniquelist.Make(overrides),
+ overrides: &overrides,
owner: m.ModuleName(),
})
@@ -751,9 +750,9 @@
executable: false,
partition: fullInstallPath.partition,
skipInstall: m.skipInstall(),
- aconfigPaths: uniquelist.Make(m.getAconfigPaths()),
+ aconfigPaths: m.getAconfigPaths(),
archType: m.target.Arch.ArchType,
- overrides: uniquelist.Make(overrides),
+ overrides: &overrides,
owner: m.ModuleName(),
})
diff --git a/android/packaging.go b/android/packaging.go
index d455788..acafcd4 100644
--- a/android/packaging.go
+++ b/android/packaging.go
@@ -23,7 +23,6 @@
"github.com/google/blueprint"
"github.com/google/blueprint/gobtools"
"github.com/google/blueprint/proptools"
- "github.com/google/blueprint/uniquelist"
)
// PackagingSpec abstracts a request to place a built artifact at a certain path in a package. A
@@ -44,7 +43,7 @@
// Whether relPathInPackage should be marked as executable or not
executable bool
- effectiveLicenseFiles uniquelist.UniqueList[Path]
+ effectiveLicenseFiles *Paths
partition string
@@ -54,13 +53,13 @@
skipInstall bool
// Paths of aconfig files for the built artifact
- aconfigPaths uniquelist.UniqueList[Path]
+ aconfigPaths *Paths
// ArchType of the module which produced this packaging spec
archType ArchType
// List of module names that this packaging spec overrides
- overrides uniquelist.UniqueList[string]
+ overrides *[]string
// Name of the module where this packaging spec is output of
owner string
@@ -71,12 +70,12 @@
SrcPath Path
SymlinkTarget string
Executable bool
- EffectiveLicenseFiles Paths
+ EffectiveLicenseFiles *Paths
Partition string
SkipInstall bool
- AconfigPaths Paths
+ AconfigPaths *Paths
ArchType ArchType
- Overrides []string
+ Overrides *[]string
Owner string
}
@@ -86,12 +85,12 @@
SrcPath: p.srcPath,
SymlinkTarget: p.symlinkTarget,
Executable: p.executable,
- EffectiveLicenseFiles: p.effectiveLicenseFiles.ToSlice(),
+ EffectiveLicenseFiles: p.effectiveLicenseFiles,
Partition: p.partition,
SkipInstall: p.skipInstall,
- AconfigPaths: p.aconfigPaths.ToSlice(),
+ AconfigPaths: p.aconfigPaths,
ArchType: p.archType,
- Overrides: p.overrides.ToSlice(),
+ Overrides: p.overrides,
Owner: p.owner,
}
}
@@ -101,12 +100,12 @@
p.srcPath = data.SrcPath
p.symlinkTarget = data.SymlinkTarget
p.executable = data.Executable
- p.effectiveLicenseFiles = uniquelist.Make(data.EffectiveLicenseFiles)
+ p.effectiveLicenseFiles = data.EffectiveLicenseFiles
p.partition = data.Partition
p.skipInstall = data.SkipInstall
- p.aconfigPaths = uniquelist.Make(data.AconfigPaths)
+ p.aconfigPaths = data.AconfigPaths
p.archType = data.ArchType
- p.overrides = uniquelist.Make(data.Overrides)
+ p.overrides = data.Overrides
p.owner = data.Owner
}
@@ -156,7 +155,10 @@
}
func (p *PackagingSpec) EffectiveLicenseFiles() Paths {
- return p.effectiveLicenseFiles.ToSlice()
+ if p.effectiveLicenseFiles == nil {
+ return Paths{}
+ }
+ return *p.effectiveLicenseFiles
}
func (p *PackagingSpec) Partition() string {
@@ -169,7 +171,7 @@
// Paths of aconfig files for the built artifact
func (p *PackagingSpec) GetAconfigPaths() Paths {
- return p.aconfigPaths.ToSlice()
+ return *p.aconfigPaths
}
type PackageModule interface {
@@ -434,7 +436,9 @@
}
all = append(all, ps)
depNames = append(depNames, child.Name())
- overridden = append(overridden, ps.overrides.ToSlice()...)
+ if ps.overrides != nil {
+ overridden = append(overridden, *ps.overrides...)
+ }
}
})
diff --git a/android/path_properties.go b/android/path_properties.go
index f3c62ea..55a4dc0 100644
--- a/android/path_properties.go
+++ b/android/path_properties.go
@@ -52,16 +52,12 @@
var pathProperties []string
var pathDeviceFirstProperties []string
var pathDeviceFirstPrefer32Properties []string
- var pathDeviceFirstVendorProperties []string
- var pathDeviceFirstVendorSharedProperties []string
var pathDeviceCommonProperties []string
var pathCommonOsProperties []string
for _, ps := range props {
pathProperties = append(pathProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path")...)
pathDeviceFirstProperties = append(pathDeviceFirstProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path_device_first")...)
pathDeviceFirstPrefer32Properties = append(pathDeviceFirstPrefer32Properties, taggedPropertiesForPropertyStruct(ctx, ps, "path_device_first_prefer32")...)
- pathDeviceFirstVendorProperties = append(pathDeviceFirstVendorProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path_device_first_vendor")...)
- pathDeviceFirstVendorSharedProperties = append(pathDeviceFirstVendorSharedProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path_device_first_vendor_shared")...)
pathDeviceCommonProperties = append(pathDeviceCommonProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path_device_common")...)
pathCommonOsProperties = append(pathCommonOsProperties, taggedPropertiesForPropertyStruct(ctx, ps, "path_common_os")...)
}
@@ -70,8 +66,6 @@
pathProperties = FirstUniqueStrings(pathProperties)
pathDeviceFirstProperties = FirstUniqueStrings(pathDeviceFirstProperties)
pathDeviceFirstPrefer32Properties = FirstUniqueStrings(pathDeviceFirstPrefer32Properties)
- pathDeviceFirstVendorProperties = FirstUniqueStrings(pathDeviceFirstVendorProperties)
- pathDeviceFirstVendorSharedProperties = FirstUniqueStrings(pathDeviceFirstVendorSharedProperties)
pathDeviceCommonProperties = FirstUniqueStrings(pathDeviceCommonProperties)
pathCommonOsProperties = FirstUniqueStrings(pathCommonOsProperties)
@@ -108,23 +102,6 @@
}
}
}
- // path_device_first_vendor is path_device_first + vendor variation
- deviceFirstVendorVariations := ctx.Config().AndroidFirstDeviceTarget.Variations()
- deviceFirstVendorVariations = append(deviceFirstVendorVariations,
- blueprint.Variation{Mutator: "image", Variation: "vendor"})
- for _, s := range pathDeviceFirstVendorProperties {
- if m, t := SrcIsModuleWithTag(s); m != "" {
- ctx.AddVariationDependencies(deviceFirstVendorVariations, sourceOrOutputDepTag(m, t), m)
- }
- }
- // path_device_first_vendor_shared is path_device_first_vendor + shared linkage variation
- deviceFirstVendorSharedVariations := append(deviceFirstVendorVariations,
- blueprint.Variation{Mutator: "link", Variation: "shared"})
- for _, s := range pathDeviceFirstVendorSharedProperties {
- if m, t := SrcIsModuleWithTag(s); m != "" {
- ctx.AddVariationDependencies(deviceFirstVendorSharedVariations, sourceOrOutputDepTag(m, t), m)
- }
- }
// properties tagged "path_device_common" get the device common variant
for _, s := range pathDeviceCommonProperties {
if m, t := SrcIsModuleWithTag(s); m != "" {
diff --git a/apex/apex.go b/apex/apex.go
index 0c56c30..80af9c5 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1312,9 +1312,6 @@
// See android.UpdateDirectlyInAnyApex
// TODO(jiyong): move this to android/apex.go?
func apexDirectlyInAnyMutator(mctx android.BottomUpMutatorContext) {
- if !mctx.Module().Enabled(mctx) {
- return
- }
if am, ok := mctx.Module().(android.ApexModule); ok {
android.UpdateDirectlyInAnyApex(mctx, am)
}
diff --git a/java/app.go b/java/app.go
index fed971a..e01a2ba 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1442,8 +1442,6 @@
a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_common_data)...)
a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_data)...)
a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_prefer32_data)...)
- a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_vendor_data)...)
- a.data = append(a.data, android.PathsForModuleSrc(ctx, a.testProperties.Device_first_vendor_shared_data)...)
android.SetProvider(ctx, tradefed.BaseTestProviderKey, tradefed.BaseTestProviderData{
InstalledFiles: a.data,
OutputFile: a.OutputFile(),
diff --git a/java/java.go b/java/java.go
index 85024e1..c9bda72 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1301,16 +1301,6 @@
// host test.
Device_first_data []string `android:"path_device_first"`
- // same as data, but adds dependencies using the device's os variation, the device's first
- // architecture's variation, and the vendor image variation. Can be used to add a module built
- // for device to the data of a host test.
- Device_first_vendor_data []string `android:"path_device_first_vendor"`
-
- // same as data, but adds dependencies using the device's os variation, the device's first
- // architecture's variation, the vendor image variation, and the shared linkage variation. Can
- // be used to add a module built for device to the data of a host test.
- Device_first_vendor_shared_data []string `android:"path_device_first_vendor_shared"`
-
// same as data, but adds dependencies using the device's os variation and the device's first
// 32-bit architecture's variation. If a 32-bit arch doesn't exist for this device, it will use
// a 64 bit arch instead. Can be used to add a module built for device to the data of a
@@ -1608,8 +1598,6 @@
j.data = append(j.data, android.PathsForModuleSrc(ctx, j.testProperties.Device_common_data)...)
j.data = append(j.data, android.PathsForModuleSrc(ctx, j.testProperties.Device_first_data)...)
j.data = append(j.data, android.PathsForModuleSrc(ctx, j.testProperties.Device_first_prefer32_data)...)
- j.data = append(j.data, android.PathsForModuleSrc(ctx, j.testProperties.Device_first_vendor_data)...)
- j.data = append(j.data, android.PathsForModuleSrc(ctx, j.testProperties.Device_first_vendor_shared_data)...)
j.extraTestConfigs = android.PathsForModuleSrc(ctx, j.testProperties.Test_options.Extra_test_configs)
diff --git a/java/robolectric.go b/java/robolectric.go
index 37cac2c..5f46267 100644
--- a/java/robolectric.go
+++ b/java/robolectric.go
@@ -151,8 +151,6 @@
r.data = append(r.data, android.PathsForModuleSrc(ctx, r.testProperties.Device_common_data)...)
r.data = append(r.data, android.PathsForModuleSrc(ctx, r.testProperties.Device_first_data)...)
r.data = append(r.data, android.PathsForModuleSrc(ctx, r.testProperties.Device_first_prefer32_data)...)
- r.data = append(r.data, android.PathsForModuleSrc(ctx, r.testProperties.Device_first_vendor_data)...)
- r.data = append(r.data, android.PathsForModuleSrc(ctx, r.testProperties.Device_first_vendor_shared_data)...)
var ok bool
var instrumentedApp *AndroidApp