← Back to issue list

feat: new .NET plugin (v2)

View original Github issue

Metadata

Project
craft-parts
Number
#1047
Type
pull request
State
merged
Author
mateusrodrigues
Labels
Created
Updated
Closed

Current evaluation

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.

Suggested action:

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
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
#155 plugins: add dotnet plugin (CRAFT-612) craft-parts merged Merged the addition of a dotnet plugin (CRAFT-612). The change introduces 395 lines across four files, received one reviewer approval, and was successfully integrated into the codebase.
77%
#2958 dotnet plugin: use the new endpoint for releases snapcraft merged Merged. Updates the dotnet plugin to use a new releases endpoint after the old one was removed. Approved by one reviewer, passed CI checks, and modified two files with 31 additions and 79 deletions.
73%
#5807 feat: add .NET extensions snapcraft merged Merged. Added dotnet8, dotnet9, and dotnet10 extensions and a documentation reference page to Snapcraft. Approved by three reviewers following successful CI checks and resolution of review comments.
72%
#1140 feat: enabled new .NET plugin (v2) on 25.10+ rockcraft merged Merged to enable the new .NET plugin (v2) on Ubuntu 25.10 and devel bases. Documentation was updated to match the Python plugin format, CI checks passed, and the change received four approvals before integration.
72%
#2537 dotnet plugin: fix parsing of newer sdk releases snapcraft merged Merged into master. The dotnet plugin now parses newer SDK release formats, supporting full URLs and uppercase checksums. Approved by one reviewer, merged with a minor coverage decrease noted by Codecov.
72%
#723 docs: document the .NET plugin craft-parts merged Merged documentation update adding reference material for the .NET plugin. Approved by two reviewers, passed CI checks, and added 90 lines across two files.
71%
#6156 feat: make .NET extensions stable snapcraft merged Merged. Stabilizes dotnet8, dotnet9, and dotnet10 extensions by disabling experimental flags, closing #6154. Approved by two reviewers and passed CI checks.
71%