Merge "Special-case go modules in convertedToBazel" into main
This commit is contained in:
@@ -22,6 +22,7 @@ import (
|
|||||||
|
|
||||||
"android/soong/ui/metrics/bp2build_metrics_proto"
|
"android/soong/ui/metrics/bp2build_metrics_proto"
|
||||||
"github.com/google/blueprint"
|
"github.com/google/blueprint"
|
||||||
|
"github.com/google/blueprint/bootstrap"
|
||||||
"github.com/google/blueprint/proptools"
|
"github.com/google/blueprint/proptools"
|
||||||
|
|
||||||
"android/soong/android/allowlists"
|
"android/soong/android/allowlists"
|
||||||
@@ -426,8 +427,23 @@ func MixedBuildsEnabled(ctx BaseModuleContext) MixedBuildEnabledStatus {
|
|||||||
return ModuleIncompatibility
|
return ModuleIncompatibility
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isGoModule(module blueprint.Module) bool {
|
||||||
|
if _, ok := module.(*bootstrap.GoPackage); ok {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if _, ok := module.(*bootstrap.GoBinary); ok {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// ConvertedToBazel returns whether this module has been converted (with bp2build or manually) to Bazel.
|
// ConvertedToBazel returns whether this module has been converted (with bp2build or manually) to Bazel.
|
||||||
func convertedToBazel(ctx BazelConversionContext, module blueprint.Module) bool {
|
func convertedToBazel(ctx BazelConversionContext, module blueprint.Module) bool {
|
||||||
|
// Special-case bootstrap_go_package and bootstrap_go_binary
|
||||||
|
// These do not implement Bazelable, but have been converted
|
||||||
|
if isGoModule(module) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
b, ok := module.(Bazelable)
|
b, ok := module.(Bazelable)
|
||||||
if !ok {
|
if !ok {
|
||||||
return false
|
return false
|
||||||
|
@@ -431,7 +431,7 @@ func getOtherModuleLabel(ctx BazelConversionPathContext, dep, tag string,
|
|||||||
|
|
||||||
func BazelModuleLabel(ctx BazelConversionPathContext, module blueprint.Module) string {
|
func BazelModuleLabel(ctx BazelConversionPathContext, module blueprint.Module) string {
|
||||||
// TODO(b/165114590): Convert tag (":name{.tag}") to corresponding Bazel implicit output targets.
|
// TODO(b/165114590): Convert tag (":name{.tag}") to corresponding Bazel implicit output targets.
|
||||||
if !convertedToBazel(ctx, module) {
|
if !convertedToBazel(ctx, module) || isGoModule(module) {
|
||||||
return bp2buildModuleLabel(ctx, module)
|
return bp2buildModuleLabel(ctx, module)
|
||||||
}
|
}
|
||||||
b, _ := module.(Bazelable)
|
b, _ := module.(Bazelable)
|
||||||
|
Reference in New Issue
Block a user