summaryrefslogtreecommitdiff
path: root/rust/rust.go
diff options
context:
space:
mode:
Diffstat (limited to 'rust/rust.go')
-rw-r--r--rust/rust.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/rust/rust.go b/rust/rust.go
index 7b82b1f69..7f8287394 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -49,8 +49,10 @@ type Flags struct {
GlobalLinkFlags []string // Flags that apply globally to linker
RustFlags []string // Flags that apply to rust
LinkFlags []string // Flags that apply to linker
+ ClippyFlags []string // Flags that apply to clippy-driver, during the linting
Toolchain config.Toolchain
Coverage bool
+ Clippy bool
}
type BaseProperties struct {
@@ -75,6 +77,7 @@ type Module struct {
compiler compiler
coverage *coverage
+ clippy *clippy
cachedToolchain config.Toolchain
subAndroidMkOnce map[subAndroidMkProvider]bool
outputFile android.OptionalPath
@@ -306,6 +309,7 @@ func DefaultsFactory(props ...interface{}) android.Module {
&PrebuiltProperties{},
&TestProperties{},
&cc.CoverageProperties{},
+ &ClippyProperties{},
)
android.InitDefaultsModule(module)
@@ -456,6 +460,9 @@ func (mod *Module) Init() android.Module {
if mod.coverage != nil {
mod.AddProperties(mod.coverage.props()...)
}
+ if mod.clippy != nil {
+ mod.AddProperties(mod.clippy.props()...)
+ }
android.InitAndroidArchModule(mod, mod.hod, mod.multilib)
@@ -487,6 +494,7 @@ func newBaseModule(hod android.HostOrDeviceSupported, multilib android.Multilib)
func newModule(hod android.HostOrDeviceSupported, multilib android.Multilib) *Module {
module := newBaseModule(hod, multilib)
module.coverage = &coverage{}
+ module.clippy = &clippy{}
return module
}
@@ -576,6 +584,9 @@ func (mod *Module) GenerateAndroidBuildActions(actx android.ModuleContext) {
if mod.coverage != nil {
flags, deps = mod.coverage.flags(ctx, flags, deps)
}
+ if mod.clippy != nil {
+ flags, deps = mod.clippy.flags(ctx, flags, deps)
+ }
if mod.compiler != nil {
outputFile := mod.compiler.compile(ctx, flags, deps)