Merge changes Ia106d48e,Ib6c0e778 am: 63f4b57a7f
am: 723cc24f2e
Change-Id: I467f93f44713b548c48a09d7b88f7a538cdd6b0a
This commit is contained in:
commit
96e77eece5
|
@ -35,16 +35,17 @@ func pathDepsMutator(ctx BottomUpMutatorContext) {
|
|||
|
||||
props := m.base().generalProperties
|
||||
|
||||
var pathProperties []string
|
||||
for _, ps := range props {
|
||||
pathProperties := pathPropertiesForPropertyStruct(ctx, ps)
|
||||
pathProperties = FirstUniqueStrings(pathProperties)
|
||||
pathProperties = append(pathProperties, pathPropertiesForPropertyStruct(ctx, ps)...)
|
||||
}
|
||||
|
||||
for _, s := range pathProperties {
|
||||
if m, t := SrcIsModuleWithTag(s); m != "" {
|
||||
ctx.AddDependency(ctx.Module(), sourceOrOutputDepTag(t), m)
|
||||
}
|
||||
pathProperties = FirstUniqueStrings(pathProperties)
|
||||
|
||||
for _, s := range pathProperties {
|
||||
if m, t := SrcIsModuleWithTag(s); m != "" {
|
||||
ctx.AddDependency(ctx.Module(), sourceOrOutputDepTag(t), m)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,12 +28,17 @@ type pathDepsMutatorTestModule struct {
|
|||
Qux string
|
||||
}
|
||||
|
||||
// A second property struct with a duplicate property name
|
||||
props2 struct {
|
||||
Foo string `android:"path"`
|
||||
}
|
||||
|
||||
sourceDeps []string
|
||||
}
|
||||
|
||||
func pathDepsMutatorTestModuleFactory() Module {
|
||||
module := &pathDepsMutatorTestModule{}
|
||||
module.AddProperties(&module.props)
|
||||
module.AddProperties(&module.props, &module.props2)
|
||||
InitAndroidArchModule(module, DeviceSupported, MultilibBoth)
|
||||
return module
|
||||
}
|
||||
|
@ -44,6 +49,13 @@ func (p *pathDepsMutatorTestModule) GenerateAndroidBuildActions(ctx ModuleContex
|
|||
p.sourceDeps = append(p.sourceDeps, ctx.OtherModuleName(dep))
|
||||
}
|
||||
})
|
||||
|
||||
if p.props.Foo != "" {
|
||||
// Make sure there is only one dependency on a module listed in a property present in multiple property structs
|
||||
if ctx.GetDirectDepWithTag(SrcIsModule(p.props.Foo), sourceOrOutputDepTag("")) == nil {
|
||||
ctx.ModuleErrorf("GetDirectDepWithTag failed")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPathDepsMutator(t *testing.T) {
|
||||
|
|
|
@ -2040,7 +2040,7 @@ func ImportFactoryHost() android.Module {
|
|||
// dex_import module
|
||||
|
||||
type DexImportProperties struct {
|
||||
Jars []string
|
||||
Jars []string `android:"path"`
|
||||
}
|
||||
|
||||
type DexImport struct {
|
||||
|
@ -2068,10 +2068,6 @@ func (j *DexImport) Name() string {
|
|||
return j.prebuilt.Name(j.ModuleBase.Name())
|
||||
}
|
||||
|
||||
func (j *DexImport) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||
android.ExtractSourcesDeps(ctx, j.properties.Jars)
|
||||
}
|
||||
|
||||
func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
if len(j.properties.Jars) != 1 {
|
||||
ctx.PropertyErrorf("jars", "exactly one jar must be provided")
|
||||
|
|
Loading…
Reference in New Issue