Make the `nil` plugin out-of-source
Metadata
Current evaluation
The nil plugin out-of-source change was abandoned. The author closed the pull request without merging following discussions in issue #1609, indicating the proposed breaking change was not adopted.
Suggested action: —
No scores available.
Issue body
- [X] Have you followed the guidelines for contributing?
- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
This PR makes the `nil` plugin out-of-source. Resolves #1609.
This is a **breaking change**, as people using the `nil` plugin are most likely expecting the source files to already be in the **build** directory when executing the **override-build** instructions.
If this is merged, such existing projects will have to add a copy instruction from **source** to **build**, like this one:
```yaml
parts:
my-file:
plugin: nil
source: data
override-build: |
# Copy files from source to build. You can optionally add '--link' to create hard-links instead of copies.
cp -rf --archive --no-dereference ${CRAFT_PART_SRC}/* ${CRAFT_PART_BUILD}
# Existing instructions here
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | The nil plugin out-of-source change was abandoned. The author closed the pull request without merging following discussions in issue #1609, indicating the proposed breaking change was not adopted. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Abandoned after discussion in issue #1609. The author closed the pull request without merging the nil plugin out-of-source change due to its breaking nature and lack of consensus on migration paths. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1518404 Add a nil plugin | snapcraft (launchpad) | closed | Closed without implementation. The feature request to add a nil plugin for parts using only built-in keywords was abandoned due to lack of discussion or follow-up work. | |
| #1549691 Improve documentation for the nil plugin | snapcraft (launchpad) | closed | Abandoned after over ten years of inactivity. The request to modify the nil plugin schema or add a pull-only plugin was closed without resolution or implementation. | |
| #1794795 Update the nil plugin to be base aware | snapcraft (launchpad) | closed | Closed without recorded resolution or linked pull request. The nil plugin base awareness update was abandoned. | |
| #27 plugins: add the nil plugin | craft-parts | merged | Merged the nil plugin to handle parts with no source. Approved by two reviewers, passed CI checks, and introduced 109 lines across two files. |