plugins: introduce v2.GoPlugin
Metadata
Current evaluation
Merged as 7e14dd039, adding v2.GoPlugin for go.mod-based projects and making get_build_snaps an abstract PluginV2 method.
Resolution: closed resolved
Reason: PR snapcraft#3046 was merged in commit 7e14dd039, introducing the requested Go plugin and updating the PluginV2 build-snaps API.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The support added requires the project uses go.mod.
This also adds .get_build_snaps as an abstractmethod to PluginV2.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged as 7e14dd039, adding v2.GoPlugin for go.mod-based projects and making get_build_snaps an abstract PluginV2 method. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3046 in commit 7e14dd039, introducing v2.GoPlugin for go.mod-based projects and adding PluginV2.get_build_snaps. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and CI checks. Introduces v2.GoPlugin for Go plugin support requiring go.mod and adds .get_build_snaps as an abstract method to PluginV2. Changes span 26 files with 366 additions and 49 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged introduction of v2.GoPlugin for Go projects using go.mod. Added .get_build_snaps as an abstract method to PluginV2. Directly merged by maintainer sergiusens without review comments. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#78
(confidence 95%)
Added a Go plugin for go.mod-based projects, adapted from Snapcraft's v2 plugin.
-
Related To:
snapcraft#3070
(confidence 90%)
Follow-up PR standardizing behavior across the v2 plugins.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #78 plugins: add go plugin (CRAFT-48) | craft-parts | merged | Merged into main as commit b5b779df (squash fa3fe8c8), adding craft_parts/plugins/go_plugin.py with GoPlugin, GoPluginProperties and GoPluginEnvironmentValidator, adapted from Snapcraft's V2 go plugin. | |
| #2323 go plugin: support for bases | snapcraft | merged | Merged PR #2323 (commit 45a993643): Go plugin revamped to prefer the go snap from the Snap Store and allow installing golang-go build-packages on supported bases, fixing LP: #1794785. | |
| #2194 plugins: do not install go debs if go snap is used | snapcraft | merged | Merged as commit 12d9151d3: the Go plugin now skips golang-go when a go build-snap is defined, preventing PATH conflicts. |