diff options
Diffstat (limited to 'rust/doc.go')
-rw-r--r-- | rust/doc.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/rust/doc.go b/rust/doc.go index e7f137198..fe3581b42 100644 --- a/rust/doc.go +++ b/rust/doc.go @@ -29,6 +29,14 @@ func RustdocSingleton() android.Singleton { type rustdocSingleton struct{} func (n *rustdocSingleton) GenerateBuildActions(ctx android.SingletonContext) { + docDir := android.PathForOutput(ctx, "rustdoc") + docZip := android.PathForOutput(ctx, "rustdoc.zip") + rule := android.NewRuleBuilder(pctx, ctx) + zipCmd := rule.Command().BuiltTool("soong_zip"). + FlagWithOutput("-o ", docZip). + FlagWithArg("-C ", docDir.String()). + FlagWithArg("-D ", docDir.String()) + ctx.VisitAllModules(func(module android.Module) { if !module.Enabled() { return @@ -36,8 +44,10 @@ func (n *rustdocSingleton) GenerateBuildActions(ctx android.SingletonContext) { if m, ok := module.(*Module); ok { if m.docTimestampFile.Valid() { - ctx.Phony("rustdoc", m.docTimestampFile.Path()) + zipCmd.Implicit(m.docTimestampFile.Path()) } } }) + rule.Build("rustdoc-zip", "Zipping all built Rust documentation...") + ctx.Phony("rustdoc", docZip) } |