← Back to issue list

plugins: add crystal v2 plugin

View original Github issue

Metadata

Project
snapcraft
Number
#3542
Type
pull request
State
merged
Author
Blacksmoke16
Labels
—
Created
Updated
Closed

Current evaluation

Added and merged the v2 Crystal plugin in canonical/snapcraft#3542 (implementation ba0718c3a; merge commit 2e626fc15).

Resolution: closed resolved

Reason: PR #3542 was merged with the initial v2 Crystal plugin. Commit ba0718c3a implements the plugin, and merge commit 2e626fc15 records its integration after review and rebasing.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh tests/unit`? ----- Initial implementation of a v2 Crystal plugin. Manually tested by loading in the changes as a local plugin and build a Crystal shard via snap. > **NOTE:** You'll need to name the local plugin `PluginImpl` instead of `CrystalPlugin` @mamantoha If you could test with your project that would be 💯. Some things that still need handled: - [ ] I'm not sure how to replicate the [elf](https://github.com/snapcore/snapcraft/blob/master/snapcraft/plugins/v1/crystal.py#L111-L133) stuff in the v1 plugin given there isn't a place to run arbitrary code like that after build? Maybe @bcardiff would have an idea? - [x] Is there a better way to move the built binaries than just `cp`? * Ideally we update it once https://github.com/crystal-lang/shards/issues/518 is implemented/released - [x] Do I need to write a `spread` test for the v2 plugin? I didn't see one for `go` or `rust` so I didn't bother... (CRAFT-823)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Added and merged the v2 Crystal plugin in canonical/snapcraft#3542 (implementation ba0718c3a; merge commit 2e626fc15).
stealth/space-bunny-alpha — closed resolved Merged PR #3542, adding the initial v2 Crystal plugin in commit ba0718c3a after runtime-dependency testing and rebasing.
stealth/space-bunny-alpha — closed resolved Merged the initial v2 Crystal plugin in canonical/snapcraft#3542 (commit ba0718c3a), after review, runtime-dependency testing, and rebasing past a spread-test failure.
qwen/qwen3.6-35b-a3b — — Merged addition of a v2 Crystal plugin to Snapcraft. The implementation was refined through manual testing, commit squashing, and rebasing to fix spread test failures. Handles runtime dependencies and resolves CRAFT-823.
qwen3.6-35b-a3b-mtp-q6 — — Added a v2 Crystal plugin to Snapcraft. The merged code was initially authored by Blacksmoke16, then refined by mr-cal through iterative testing, commit squashing, rebasing, and resolving spread test failures.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/snapcraft#3567 (confidence 98%)

    Parallel robustness follow-up for deleting source bin directories; explicitly described as not a hard dependency and later closed stale.

  • Related To: canonical/snapcraft#3670 (confidence 96%)

    Merged spread-test maintenance that had temporarily caused the CI failure addressed by rebasing #3542.

Related issues

Issue Project State Summary Similarity
#2598 crystal plugin: initial version snapcraft merged Merged the initial Crystal plugin in snapcore/snapcraft#2598 via commit 1ad037ee3, adding 370 lines across 8 files.
80%
#3037 plugins: introduce v2.CMakePlugin snapcraft merged Merged in canonical/snapcraft#3037 (4efb119ee), introducing v2.CMakePlugin and consolidating v2 plugin spread tests into one suite.
73%