← 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

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.

Suggested action:

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
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.
qwen3.6-35b-a3b-mtp-q6 Merged an initial v2 Crystal plugin for snapcraft. Following review and testing with the oq project, commits were squashed and rebased to fix spread tests. The plugin now enables building Crystal shards via snap.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2598 crystal plugin: initial version snapcraft merged Merged an initial Crystal plugin for Snapcraft, introducing 370 lines across 8 files. Approved by one reviewer with 87.5% diff coverage. Successfully integrated into the main branch.
82%
#5797 docs: add 'Crystal plugin' reference snapcraft merged Merged documentation update adding a reference to the Crystal plugin. The change added 68 lines across two files, received approval from two reviewers, and was merged despite one failing integration test.
72%
#4672 Enable Snapcraft plugins in craft-application codepath snapcraft merged Merged via rebase merge after two approvals and passing CI. Registers Snapcraft plugins in the craft-application codepath and adds confinement and base variables to the lifecycle for plugin usage.
70%