Improve error messages when output file is invalid

Bug: 155720025
Test: m nothing
Merged-In: I01eebaad58c5a6950e4419d0a8bf80bd02fed543
Change-Id: I01eebaad58c5a6950e4419d0a8bf80bd02fed543
(cherry picked from commit 712993cf0c)
This commit is contained in:
Paul Duffin 2020-05-05 14:11:57 +01:00
parent 6615b30812
commit 2df45faa7b
2 changed files with 13 additions and 2 deletions

View File

@ -111,7 +111,7 @@ func (p *nativeBinaryInfoProperties) PopulateFromVariant(ctx android.SdkMemberCo
ccModule := variant.(*Module)
p.archType = ccModule.Target().Arch.ArchType.String()
p.outputFile = ccModule.OutputFile().Path()
p.outputFile = getRequiredMemberOutputFile(ctx, ccModule)
if ccModule.linker != nil {
specifiedDeps := specifiedDeps{}

View File

@ -354,7 +354,7 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
// If the library has some link types then it produces an output binary file, otherwise it
// is header only.
if !p.memberType.noOutputFiles {
p.outputFile = ccModule.OutputFile().Path()
p.outputFile = getRequiredMemberOutputFile(ctx, ccModule)
}
// Separate out the generated include dirs (which are arch specific) from the
@ -388,6 +388,17 @@ func (p *nativeLibInfoProperties) PopulateFromVariant(ctx android.SdkMemberConte
}
}
func getRequiredMemberOutputFile(ctx android.SdkMemberContext, ccModule *Module) android.Path {
var path android.Path
outputFile := ccModule.OutputFile()
if outputFile.Valid() {
path = outputFile.Path()
} else {
ctx.SdkModuleContext().ModuleErrorf("member variant %s does not have a valid output file", ccModule)
}
return path
}
func (p *nativeLibInfoProperties) AddToPropertySet(ctx android.SdkMemberContext, propertySet android.BpPropertySet) {
addPossiblyArchSpecificProperties(ctx.SdkModuleContext(), ctx.SnapshotBuilder(), p, propertySet)
}