diff options
author | 2021-03-19 15:06:02 -0700 | |
---|---|---|
committer | 2021-04-16 13:38:01 -0700 | |
commit | 06feee9352b80ebd2a2a3f186ac746f5d1d7026e (patch) | |
tree | 969542d073006c9def63f99c1b618f53c71102b5 /rust/doc.go | |
parent | 744fb40e5fce2243c4635a315fca363d845b640c (diff) |
Rustdoc support.
Adds `m rustdoc` which generates documentation for all Rust libraries
to $OUT_DIR/soong/rustdoc.
Follow up work:
* Generate an index page that lists all modules.
* Preserve the artifacts so we can have an always-up-to-date go link.
Test: m rustdoc
Bug: None
Change-Id: Id2d6b9cbab5b02e36b575567563d7cc7606b9401
Diffstat (limited to 'rust/doc.go')
-rw-r--r-- | rust/doc.go | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/rust/doc.go b/rust/doc.go new file mode 100644 index 000000000..e7f137198 --- /dev/null +++ b/rust/doc.go @@ -0,0 +1,43 @@ +// Copyright 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package rust + +import ( + "android/soong/android" +) + +func init() { + android.RegisterSingletonType("rustdoc", RustdocSingleton) +} + +func RustdocSingleton() android.Singleton { + return &rustdocSingleton{} +} + +type rustdocSingleton struct{} + +func (n *rustdocSingleton) GenerateBuildActions(ctx android.SingletonContext) { + ctx.VisitAllModules(func(module android.Module) { + if !module.Enabled() { + return + } + + if m, ok := module.(*Module); ok { + if m.docTimestampFile.Valid() { + ctx.Phony("rustdoc", m.docTimestampFile.Path()) + } + } + }) +} |