diff --git a/genrule/genrule.go b/genrule/genrule.go index 06a7e1891..b23530369 100644 --- a/genrule/genrule.go +++ b/genrule/genrule.go @@ -213,21 +213,7 @@ func (g *Module) GeneratedDeps() android.Paths { return g.outputDeps } -func (g *Module) OutputFiles(tag string) (android.Paths, error) { - if tag == "" { - return append(android.Paths{}, g.outputFiles...), nil - } - // otherwise, tag should match one of outputs - for _, outputFile := range g.outputFiles { - if outputFile.Rel() == tag { - return android.Paths{outputFile}, nil - } - } - return nil, fmt.Errorf("unsupported module reference tag %q", tag) -} - var _ android.SourceFileProducer = (*Module)(nil) -var _ android.OutputFileProducer = (*Module)(nil) func toolDepsMutator(ctx android.BottomUpMutatorContext) { if g, ok := ctx.Module().(*Module); ok { @@ -585,6 +571,19 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) { }) g.outputDeps = android.Paths{phonyFile} } + + g.setOutputFiles(ctx) +} + +func (g *Module) setOutputFiles(ctx android.ModuleContext) { + if len(g.outputFiles) == 0 { + return + } + ctx.SetOutputFiles(g.outputFiles, "") + // non-empty-string-tag should match one of the outputs + for _, files := range g.outputFiles { + ctx.SetOutputFiles(android.Paths{files}, files.Rel()) + } } // Collect information for opening IDE project files in java/jdeps.go. diff --git a/genrule/genrule_test.go b/genrule/genrule_test.go index 1df887b3e..fba9aec65 100644 --- a/genrule/genrule_test.go +++ b/genrule/genrule_test.go @@ -1254,12 +1254,6 @@ func (t *testOutputProducer) GenerateAndroidBuildActions(ctx android.ModuleConte t.outputFile = ctx.InstallFile(android.PathForModuleInstall(ctx, "bin"), ctx.ModuleName(), android.PathForOutput(ctx, ctx.ModuleName())) } -func (t *testOutputProducer) OutputFiles(tag string) (android.Paths, error) { - return android.Paths{t.outputFile}, nil -} - -var _ android.OutputFileProducer = (*testOutputProducer)(nil) - type useSource struct { android.ModuleBase props struct {