Spracherkennung für: .go vermutete Sprache: Abap {ABAP[33] C[24] Corba[24]} [Methode: maximale Elemente, drei Dimensionen]
// 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.RegisterParallelSingletonType(
"rustdoc", RustdocSingleton)
}
func RustdocSingleton() android.Singleton {
return &rustdocSingleton{}
}
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).SandboxDisabled()
zipCmd := rule.Command().BuiltTool(
"soong_zip").
FlagWithOutput(
"-o ", docZip).
FlagWithArg(
"-C ", docDir.
String()).
FlagWithArg(
"-D ", docDir.
String())
ctx.VisitAllModuleProxies(func(
module android.ModuleProxy) {
if !android.OtherModulePointerProviderOrDefault(ctx,
module, android.CommonModuleIn
foProvider).Enabled {
return
}
if m, ok := android.OtherModuleProvider(ctx, module, RustInfoProvider); ok {
if m.CollectDoc && m.DocTimestampFile.Valid() {
zipCmd.Implicit(m.DocTimestampFile.Path())
}
}
})
rule.Build("rustdoc-zip", "Zipping all built Rust documentation...")
ctx.Phony("rustdoc", docZip)
}