← Back to issue list

Isolated charm_builder.py as a generic plugin script (CRAFT-1032).

View original Github issue

Metadata

Project
charmcraft
Number
#865
Type
pull request
State
merged
Author
facundobatista
Labels
Created
Updated
Closed

Current evaluation

Merged following approval and CI checks. Isolated charm_builder.py as a standalone plugin script, routing all output to stdout and replacing CraftError with RuntimeError to fully decouple from the Craft CLI. Resolves #750.

Suggested action:

No scores available.

Issue body

This will stop its execution from showing some weirdness in the logs and improve the general structure of the code (stop mixing code run from the plugin with the rest of Charmcraft). After a long talk with Claudio yesterday we decided to convert all outputs to plain prints to stdout, again, as a regular plugin script. Also converted the CraftError exceptions to Runtime ones (fully isolation from Craft CLI) and improved the message. Fixes #750 .

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged following approval and CI checks. Isolated charm_builder.py as a standalone plugin script, routing all output to stdout and replacing CraftError with RuntimeError to fully decouple from the Craft CLI. Resolves #750.
qwen3.6-35b-a3b-mtp-q6 Merged isolation of charm_builder.py as a standalone plugin script. Replaced CraftError with RuntimeError and converted outputs to stdout prints for full CLI isolation. Resolves #750.
qwen3.6-35b-a3b-mtp-q6 Isolated charm_builder.py as a generic plugin script. Outputs converted to stdout prints and CraftError replaced with RuntimeError for full CLI isolation. Merged and resolves #750.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#453 build: spin off charm builder as a separate tool (CRAFT-373) charmcraft merged Merged. Extracts charm building routines into a standalone CharmBuilder tool. Replaces PR #452 by deferring venv and pip features. Tests updated for new invocation with no behavioral changes. Approved and passed CI.
73%
#750 Convert charm_builder.py to a regular external script charmcraft closed Closed without implementation. The proposal to replace Craft CLI's Emitter with standard Python logging in charm_builder.py, add a --trace flag, and adjust log levels per Charmcraft mode was abandoned. No follow-up PR or resolution occurred.
72%