diff options
| author | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
|---|---|---|
| committer | mosimchah <mosimchah@gmail.com> | 2025-12-02 09:27:38 -0500 |
| commit | c7bade461dc55726f62997d13a48582f7c4b4655 (patch) | |
| tree | ea0588da76060a2038f54f67efd046ca77634b10 /golang/golang.go | |
| parent | 0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff) | |
| parent | 89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff) | |
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits)
Revert "install_symlink: Make symlink target configurable"
Reapply "Clear as much of cc.Module as possible after GenerateBuildActions"
Revert "rust: config: Fix missing CPU variant LD flags in Rust"
Rename build-flag in outdir
Revert^4 "cipd: Default CIPD proxy server to on, add opt-out"
Convert check-vintf-all to phony with actions
Create a partial implementation of check-vintf-all for soong-only
Configure RBE rust pool based on build variant
Revert^3 "Add sdk version check to arr"
Add jdk.internal.invoke to the allowlist
Make droid always depend on symbols zip
Import Device and Odm skus
Don't install gob_gen in Soong
Remove bazel reference from run_integration_tests.sh
Fix bootstrap_test.sh
Don't panic in aconfig libraries when AllowMissingDependencies is set
Avoid returning nil paths from PathForModuleSrc
Revert "Flag controled clang version"
Rework module target dependencies on required deps
Revert^2 "Add sdk version check to arr"
...
Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'golang/golang.go')
| -rw-r--r-- | golang/golang.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/golang/golang.go b/golang/golang.go index 9e0744aaf..282ac7805 100644 --- a/golang/golang.go +++ b/golang/golang.go @@ -38,10 +38,17 @@ func RegisterGoModuleTypes(ctx android.RegistrationContext) { ctx.RegisterModuleType("blueprint_go_binary", goBinaryModuleFactory) } +// wrapGoPackage is used to increase the depth of the blueprint.ModuleBase struct embedded in bootstrap.GoPackage +// so that the Go selector rules will choose the blueprint.ModuleBase in android.ModuleBase instead of throwing +// an ambiguous method error. +type wrapGoPackage struct { + bootstrap.GoPackage +} + // A GoPackage is a module for building Go packages. type GoPackage struct { android.ModuleBase - bootstrap.GoPackage + wrapGoPackage } func goPackageModuleFactory() android.Module { @@ -63,10 +70,17 @@ func (g *GoPackage) GenerateAndroidBuildActions(ctx android.ModuleContext) { g.GoPackage.GenerateBuildActions(ctx.BlueprintModuleContext()) } +// wrapGoBinary is used to increase the depth of the blueprint.ModuleBase struct embedded in bootstrap.GoBinary +// so that the Go selector rules will choose the blueprint.ModuleBase in android.ModuleBase instead of throwing +// an ambiguous method error. +type wrapGoBinary struct { + bootstrap.GoBinary +} + // A GoBinary is a module for building executable binaries from Go sources. type GoBinary struct { android.ModuleBase - bootstrap.GoBinary + wrapGoBinary outputFile android.Path } @@ -114,7 +128,7 @@ func (g *GoBinary) GenerateAndroidBuildActions(ctx android.ModuleContext) { func usedByBootstrap(name string) bool { switch name { - case "loadplugins", "soong_build": + case "gob_gen", "loadplugins", "soong_build": return true default: return false |
