← Back to issue list

plugins: introduce v2.GoPlugin

View original Github issue

Metadata

Project
snapcraft
Number
#3046
Type
pull request
State
merged
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

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.

Suggested action:

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
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.
qwen3.6-35b-a3b-mtp-q6 Merged introduction of v2.GoPlugin to enable Go plugin support, mandating go.mod usage and adding .get_build_snaps as an abstract method to PluginV2.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#78 plugins: add go plugin (CRAFT-48) craft-parts merged Merged a Go plugin for go.mod-based projects, adapted from Snapcraft V2. Approved by two reviewers, passed CI, and introduced 425 additions across seven files. Co-authored by Sergio Schvezov.
84%
#997 plugins: update go plugin to use get_build_properties() snapcraft merged Merged after approval and passing CI. Updates the Go plugin to use get_build_properties(), adjusts the schema test, and adds unit tests for get_pull_properties() and get_build_properties(). Changes successfully integrated.
73%
#271 plugins: support "go generate" in go parts craft-parts merged Merged. Integrates go generate into the GoPlugin build step to execute code generation prior to compilation. Approved by a reviewer, passed CI checks, and modified five files. The change is backward compatible and resolves CRAFT-1316.
72%
#1802256 go plugin: support Go modules snapcraft (launchpad) open Feature request for first-class Go modules support in the Go plugin. Now implemented: craft-parts' go plugin is go.mod-based (craft-parts#78), and snapcraft#3133 added go.mod support to the old v1 plugin. No activity for ~8 years.
72%
#3061 plugins: introduce v2.RustPlugin snapcraft merged Merged introduction of v2.RustPlugin to the plugins module. Approved by one reviewer. Updated 26 files with 275 additions and 76 deletions, successfully integrating the new Rust plugin version into the codebase.
71%
#2323 go plugin: support for bases snapcraft merged Merged. Introduces base support to the Go plugin, prioritizing the Go snap from the Snap Store and enabling golang-go installation on supported bases. Approved by reviewer and passed all CI checks.
71%
#3133 go v1 plugin: go.mod support for 1.11 and 1.12 snapcraft merged Merged changes adding limited Go Modules support for Go 1.11 and 1.12. Introduces a _get_module helper for build target resolution and a one-time compatibility warning. Replaces PR #3132 after approval.
71%
#3037 plugins: introduce v2.CMakePlugin snapcraft merged Merged introduction of v2.CMakePlugin and consolidation of the v2 plugin spread test suite to streamline future development. Approved by one reviewer, passed CI, and modified 16 files with 196 additions and 23 deletions.
71%
#2194 plugins: do not install go debs if go snap is used snapcraft merged Merged a fix to the go plugin that skips installing the golang-go deb package when a go build-snap is defined, resolving PATH conflicts. Approved by reviewers, passed CI with full coverage, and integrated into master.
71%