feat: new .NET plugin (v2)
Metadata
Current evaluation
Merged PR #1047 added the v2 .NET plugin with unit and integration tests, documentation, a changelog entry, and default plugin registration.
Resolution: closed resolved
Reason: craft-parts#1047 was merged after approval by three reviewers, with all reported CI checks passing. The current plugin registry imports DotnetPlugin and includes it in PluginGroup.DEFAULT, confirming the feature landed.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [X] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
-----
Hi folks!
This PR introduces the new .NET plugin in accordance with the FO205 specification (.NET Snapcraft Plugin). I’ve created it as a separate file and included unit tests, integration tests, documentation, and a changelog entry.
There are a few points I’d like to address before finalizing the PR:
- Since the old .NET plugin is only available on `core22`, should we adjust the [current Snapcraft registration logic](https://github.com/canonical/snapcraft/blob/7651d96085a7d715b06764e4e5dff391fb68b4b1/snapcraft/application.py#L139-L141) to register the old one and unregister the new one on `core22`, while keeping the new one registered at the [craft-parts level](https://github.com/canonical/craft-parts/blob/ac6e1d249ee2eeb035f5ed7832ed9c450617c698/craft_parts/plugins/plugins.py#L57)? This should simplify things for newer bases, e.g. `core24` and above, as the new plugin wouldn't need to be manually registered for each.
- Relates to the point above, but since the new plugin is not registered here, the integration tests fails because it only finds the old `dotnet` plugin. Any suggestions on how we can work around this?
~**Note:** This is being submitted as a draft PR until the spec is fully approved. In the meantime, we can discuss the points above.~
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1047 added the v2 .NET plugin with unit and integration tests, documentation, a changelog entry, and default plugin registration. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged canonical/craft-parts#1047, adding the .NET v2 plugin with tests and docs. dotnet restore was moved back to build because all parts complete pull before build. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as canonical/craft-parts#1047 (commit 94c5c9eb), adding the .NET v2 plugin with tests, documentation, and changelog updates. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged the new .NET plugin (v2). Adjusted dotnet restore to the build step to match craft-parts execution order, resolved CI and linkcheck failures, and incorporated reviewer feedback. Approved by three reviewers and successfully merged. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1140 feat: enabled new .NET plugin (v2) on 25.10+ | rockcraft | merged | Merged PR #1140 as 42c7afa8, enabling the .NET v2 plugin for Ubuntu 25.10+ and devel, with updated documentation and spread-test coverage. | |
| #5534 Add unit and spread tests for the .NET (v2) plugin | snapcraft | merged | Merged in #5534 via commit 18417a277, adding unit and spread coverage for .NET v2, core24 registration, and a dotnet-hello build-and-run test. | |
| #723 docs: document the .NET plugin | craft-parts | merged | Merged PR #723 via commit 19723c2b, adding 90 lines of .NET plugin reference documentation across two files. |