cmd/gomobile: emit replace directives without a version bind builds the bindings in a generated module and reconstructs its build list from 'go list -m -json all' run in the original module. For a replaced module it emitted the replacement scoped to the version the original module selected, and emitted no requirement at all. The generated module requires a different set of modules than the original one does, so minimal version selection can select a higher version: requirements that module graph pruning hides in the original module become direct requirements of the generated module. The scoped directive then matches nothing, and the module is fetched from the module proxy instead of the replacement. Nothing reports an error; the build just compiles sources other than the ones the original module resolves to. Emit replacements without a version so that they stay effective whichever version is selected, and record the selected version as a requirement. Extract the translation into parseModuleVersions so that it can be tested without running the go command. Fixes golang/go#80816 Change-Id: Ifd93b8b5ed8b216982a804ff9f4bfdf6aa439209 Reviewed-on: https://go-review.googlesource.com/c/mobile/+/812720 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Mark Freeman <markfreeman@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
The Go mobile repository holds packages and build tools for using Go on mobile platforms.
Package documentation as a starting point:
The Go Mobile project is experimental. Use this at your own risk. While we are working hard to improve it, neither Google nor the Go team can provide end-user support.
This is early work and installing the build system requires Go 1.5. Follow the instructions on golang.org/wiki/Mobile to install the gomobile command, build the basic and the bind example apps.
Contributions to Go are appreciated. See https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/mobile.