diff options
Diffstat (limited to 'apex/apex.go')
-rw-r--r-- | apex/apex.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/apex/apex.go b/apex/apex.go index 33538fb13..04816580d 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -1475,6 +1475,12 @@ func apexFileForCompatConfig(ctx android.BaseModuleContext, config java.Platform return newApexFile(ctx, fileToCopy, depName, dirInApex, etc, config) } +func apexFileForVintfFragment(ctx android.BaseModuleContext, vintfFragment *android.VintfFragmentModule) apexFile { + dirInApex := filepath.Join("etc", "vintf") + + return newApexFile(ctx, vintfFragment.OutputFile(), vintfFragment.BaseModuleName(), dirInApex, etc, vintfFragment) +} + // javaModule is an interface to handle all Java modules (java_library, dex_import, etc) in the same // way. type javaModule interface { @@ -2160,7 +2166,13 @@ func (a *apexBundle) depVisitor(vctx *visitorContext, ctx android.ModuleContext, // nothing } else if am.CanHaveApexVariants() && am.IsInstallableToApex() { ctx.ModuleErrorf("unexpected tag %s for indirect dependency %q", android.PrettyPrintTag(depTag), depName) + } else if android.IsVintfDepTag(depTag) { + if vf, ok := child.(*android.VintfFragmentModule); ok { + apexFile := apexFileForVintfFragment(ctx, vf) + vctx.filesInfo = append(vctx.filesInfo, apexFile) + } } + return false } |