← Back to issue list

Migrate legacy schema

View original Github issue

Metadata

Project
snapcraft
Number
#5744
Type
issue
State
closed
Author
mr-cal
Labels
good first issue Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

Migrated the legacy schema to snapcraft-legacy.json and updated snapcraft_legacy to use the copy; merged in #5751 (cf2ecd9dc).

Resolution: closed resolved

Reason: The schema migration was completed in merged PR #5751, commit cf2ecd9dc, which added the legacy schema copy for snapcraft_legacy while retaining the original schema for SchemaStore.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Move the current schema from `schema/snapcraft.json` to `schema/snapcraft-legacy.json` and update the file names in snapcraft_legacy, such as: https://github.com/canonical/snapcraft/blob/4defbc5012627f4be5b78d5291b647a7bee0c849/snapcraft_legacy/project/_schema.py#L55 ### Why it needs to get done `schema/snapcraft.json` is consumed by the schemastore for validation and auto-completion. It's also used by snapcraft_legacy for unpacking snapcraft.yaml files. This means we can't make schema changes (like https://github.com/canonical/snapcraft/pull/5730) without affecting legacy snapcraft's behavior.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Migrated the legacy schema to snapcraft-legacy.json and updated snapcraft_legacy to use the copy; merged in #5751 (cf2ecd9dc).
stealth/space-bunny-alpha — closed resolved Schema was copied to snapcraft-legacy.json for snapcraft_legacy while schema/snapcraft.json was kept for SchemaStore. Closed by mr-cal on 2025-09-05 as completed in merged PR #5751 (commit cf2ecd9dc).
stealth/space-bunny-alpha — closed resolved Completed in merged PR #5751: snapcraft_legacy now uses a copied schema, while schema/snapcraft.json remains available for SchemaStore.
qwen/qwen3.6-35b-a3b — — Migrated schema/snapcraft.json to snapcraft-legacy.json and updated legacy references in PR #5751. This isolates the legacy schema, allowing independent updates without affecting legacy snapcraft behavior.
qwen/qwen3.6-35b-a3b — — Migrated schema/snapcraft.json to schema/snapcraft-legacy.json and updated legacy references to isolate schema changes from legacy snapcraft. Completed and closed via pull request #5751.
qwen/qwen3.6-35b-a3b — — Migrated the legacy schema file and updated internal references to isolate legacy behavior. The enhancement was completed and merged via pull request #5751.
qwen3.6-35b-a3b-mtp-q6 — — Migrated schema/snapcraft.json to schema/snapcraft-legacy.json and updated legacy references. This allows independent schema updates without affecting legacy snapcraft. Completed and merged in PR #5751.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/snapcraft#5751 (confidence 100%)

    Merged PR explicitly resolving issue #5744 by separating the legacy schema.

Related issues

Issue Project State Summary Similarity
#5751 chore(snapcraft_legacy): use a copy of the schema #5744 snapcraft merged Merged in canonical/snapcraft#5751 (commit cf2ecd9dc), adding a legacy schema copy for snapcraft_legacy while retaining the original for SchemaStore.
78%
#1560158 Migrate old Snapcraft state tracking to new snapcraft (launchpad) closed Legacy file-based state was migrated to the new directory-based format, fixing builds in trees left dirty by older Snapcraft versions. Merged in snapcraft#385.
75%
#2446 Update schema/snapcraft.yaml snapcraft closed PR #2446 edited schema/snapcraft.yaml to aid yaml-to-json converters but was closed unmerged in favour of #2448, which replaced the YAML schema with snapcraft.json (commit 2a2f798d0).
73%
#5338 Migrate snapcraft_legacy store commands snapcraft closed All four legacy store commands were migrated through merged PRs #6109, #6128, #6207, and #6218; snapcraft_legacy was later removed.
70%