Add aliases
property for renaming Rust dependencies.
This is equivalent to specifying a dependency name different to the package name in cargo, which some external crates do. Bug: 308790322 Test: Built libgrpcio with aliases for protobuf Change-Id: I2801222051fdd962460cc7f4900cec357f63b974
This commit is contained in:
20
rust/rust.go
20
rust/rust.go
@@ -1142,6 +1142,7 @@ func collectIncludedProtos(mod *Module, dep *Module) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
var depPaths PathDeps
|
||||
|
||||
@@ -1433,16 +1434,29 @@ func (mod *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
|
||||
mod.transitiveAndroidMkSharedLibs = android.NewDepSet[string](android.PREORDER, directAndroidMkSharedLibs, transitiveAndroidMkSharedLibs)
|
||||
|
||||
var rlibDepFiles RustLibraries
|
||||
aliases := mod.compiler.Aliases()
|
||||
for _, dep := range directRlibDeps {
|
||||
rlibDepFiles = append(rlibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()})
|
||||
crateName := dep.CrateName()
|
||||
if alias, aliased := aliases[crateName]; aliased {
|
||||
crateName = alias
|
||||
}
|
||||
rlibDepFiles = append(rlibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName})
|
||||
}
|
||||
var dylibDepFiles RustLibraries
|
||||
for _, dep := range directDylibDeps {
|
||||
dylibDepFiles = append(dylibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()})
|
||||
crateName := dep.CrateName()
|
||||
if alias, aliased := aliases[crateName]; aliased {
|
||||
crateName = alias
|
||||
}
|
||||
dylibDepFiles = append(dylibDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName})
|
||||
}
|
||||
var procMacroDepFiles RustLibraries
|
||||
for _, dep := range directProcMacroDeps {
|
||||
procMacroDepFiles = append(procMacroDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: dep.CrateName()})
|
||||
crateName := dep.CrateName()
|
||||
if alias, aliased := aliases[crateName]; aliased {
|
||||
crateName = alias
|
||||
}
|
||||
procMacroDepFiles = append(procMacroDepFiles, RustLibrary{Path: dep.UnstrippedOutputFile(), CrateName: crateName})
|
||||
}
|
||||
|
||||
var staticLibDepFiles android.Paths
|
||||
|
Reference in New Issue
Block a user