feat!(services): build plan service
Metadata
Current evaluation
Merged the build plan service implementation, resolving CRAFT-4159. Approved by two reviewers and passing CI, the change spans 42 files with 1851 additions and 786 deletions.
Suggested action: —
No scores available.
Issue body
- [ ] Have you followed the guidelines for contributing?
- [ ] 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`)?
---
Recommended review strategy (mark each file as viewed after completing):
1. Review [buildplan.py](https://github.com/canonical/craft-application/pull/666/files#diff-b18e5e1a75b585219477236f6de0036053b3482ccad4ab18878fadc4f6202548) and its related tests.
2. Review the changes to the other services.
3. Review the changes to the Application.
4. Review testcraft.
5. Review the remainder
CRAFT-4159
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged the build plan service implementation, resolving CRAFT-4159. Approved by two reviewers and passing CI, the change spans 42 files with 1851 additions and 786 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the build plan service implementation. The changes introduce a new service for building plans, reviewed across buildplan.py, other services, the Application class, and testcraft, resolving CRAFT-4159. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #999 docs: reference document for the Build Plan Service | craft-application | merged | Merged documentation update adding a reference guide for the Build Plan Service (CRAFT-4498). Approved by two reviewers, passed all CI checks, and modified three files with 26 additions and one deletion. | |
| #5368 feat: add a BuildPlan service | snapcraft | merged | Merged addition of a BuildPlan service and create_launchpad_build_plan() method to support remote builds. The change adds 847 lines and removes 125 across five files, updates unit tests, and received two reviewer approvals. | |
| #646 feat!(services): add a project service | craft-application | merged | Merged the new ProjectService for handling projects. Changes replace the abstract service class, update the service factory and Application, and add unit and integration tests. Approved by two reviewers and passed CI. | |
| #5111 feat: use `craft-platforms` for build plans | snapcraft | merged | Merged the change to replace existing build plan logic with the craft-platforms library. Approved by two reviewers, the update modifies six files with a net reduction of 17 lines, streamlining platform detection and build configuration. | |
| #362 feat: support platforms for the build plans | rockcraft | merged | Merged feature adding platform support for build plans. Approved by two reviewers, the change modifies eight files (+39/-32 lines) and integrates the functionality. | |
| #456 feat: add fetch-service integration | craft-application | merged | Merged fetch-service integration into the craft tool build. Changes span 18 files with 1445 additions and 32 deletions. Approved by two reviewers after individual commit reviews. | |
| #273 feat(project): keep the full build plan for later use | craft-application | merged | Merged to retain the full build plan in the project for remote build execution. Approved by two reviewers with no unresolved comments. The commit modifies one file with a four-line addition and three-line removal. | |
| #70 feat(application): enable build plans | craft-application | merged | Merged into main, enabling multi-artefact builds via an application-defined build plan resolver. Approved by reviewers, rebased, and CI passed. Resolves #60. Diff coverage at 96.05%. |