← Back to issue list

feat: support nested project variables

View original Github issue

Metadata

Project
craft-parts
Number
#1220
Type
pull request
State
merged
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

Merged. Adds nested project variable support via a new ProjectVarInfo class, enabling commands like craftctl set var.subvar=foo. Approved by three reviewers, passed all CI checks, and updated 19 files.

Suggested action:

No scores available.

Issue body

- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? ----- Uses the new `ProjectVarInfo` class to manage project variables. This enables setting nested project variables. For example, `craftctl set var.subvar=foo` sets the nested project variable `var.subvar` to `foo`. Used downstream in https://github.com/canonical/craft-application/pull/872 (SNAPCRAFT-1052)

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Adds nested project variable support via a new ProjectVarInfo class, enabling commands like craftctl set var.subvar=foo. Approved by three reviewers, passed all CI checks, and updated 19 files.
qwen3.6-35b-a3b-mtp-q6 Merged to add nested project variable support using the ProjectVarInfo class. Enables setting nested variables via craftctl, such as craftctl set var.subvar=foo. Resolves SNAPCRAFT-1052 and is utilized downstream in craft-application.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#872 feat: support nested project variables craft-application merged Merged following three approvals and successful CI checks. The update enables nested project variables, altering 22 files (+526/-62 lines). It relies on craft-parts PR #1220 and addresses SNAPCRAFT-1054.
85%
#1206 feat(infos): add ProjectVarInfo class craft-parts merged Merged a new ProjectVarInfo class to wrap nested project variables dictionaries. Approved by two reviewers, passed all CI checks, and modified three files (+426/-7). Prepares infrastructure for subsequent feature work.
77%
#217 feat: implement adoptable project variables craft-application merged Merged implementation of adoptable project variables, enabling metadata fields to be set via craftctl. Approved by two reviewers, passed CI, and includes integration tests. Changes span 17 files with 216 additions and 24 deletions.
74%
#4601 feat: use craft-application project variables snapcraft merged Merged after three approvals and passing CI. Implements version and grade as craft-application project variables updatable via craftctl. Rebased and test failures resolved prior to merge.
71%