← Back to issue list

ctl: add ctl protocol client (CRAFT-35)

View original Github issue

Metadata

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

Current evaluation

Merged the ctl protocol client, adding the craft_parts.ctl module and partsctl CLI. Approved by two reviewers and passing CI, the change modifies 8 files (+513/-15) to enable scriptlets to run step handlers and set custom variables.

Suggested action:

No scores available.

Issue body

The control protocol client allows a user scriptlet to execute the default handler for a step in the running application context, or set the value of a custom variable previously passed as an argument to `LifecycleManager`. The `craft_parts.ctl` module can be imported by application-defined clients, or invoked as a utility from the command line using the supplied `partsctl` tool. - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged the ctl protocol client, adding the craft_parts.ctl module and partsctl CLI. Approved by two reviewers and passing CI, the change modifies 8 files (+513/-15) to enable scriptlets to run step handlers and set custom variables.
qwen3.6-35b-a3b-mtp-q6 Merged: Added craft_parts.ctl module and partsctl CLI tool to enable user scriptlets to execute default step handlers or set custom variables via a control protocol.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#19 parts: add craftctl support rockcraft merged Merged after reviewer approval. Updated craft-parts to 1.4.1 and enabled craftctl support in step overrides across 16 files. Changes totaled +145/-66 lines. All CI checks passed with no unresolved comments.
76%
#728 parts: update craft-parts and enable craftctl charmcraft merged Merged update to craft-parts 1.4.0, enabling craftctl support. Users can now invoke craftctl default in part scriptlets to execute overridden step handlers. Approved and passed CI checks.
75%
#3677 parts: add craftctl support snapcraft merged Merged following approval and passing CI. Implements a craftctl wrapper for craft-parts, defines project variables, and adds adopt-info to project configuration. Diff coverage is 84%.
74%