Skip to main content

vortex_edition/declarations/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4//! The first-party Vortex edition declarations, one module per edition.
5//!
6//! These are plain constants naming components by id, so they depend on nothing but the types
7//! in this crate. That keeps them cheap to read: tooling that only needs to know what an
8//! edition contains — `cargo run -p xtask -- generate-editions`, for one — can depend on
9//! this crate alone rather than on the whole of `vortex`.
10//!
11//! The `vortex` facade re-exports everything here and owns the session wiring: registering
12//! the declarations and selecting which of them the default writer may emit.
13
14pub mod core;
15pub mod preview;
16
17use crate::EditionDeclaration;
18use crate::EditionFamily;
19
20/// The first-party edition families. Every family must be declared before its editions.
21pub static EDITION_FAMILIES: &[&EditionFamily] = &[&core::FAMILY, &preview::FAMILY];
22
23/// The first-party Vortex edition declarations.
24pub static EDITION_DECLARATIONS: &[&EditionDeclaration] = &[
25    &core::v2025_05::DECLARATION,
26    &core::v2025_06::DECLARATION,
27    &core::v2025_10::DECLARATION,
28    &core::v2026_08::DECLARATION_0,
29    &core::v2026_08::DECLARATION_1,
30    &core::v2026_08_2::DECLARATION,
31    &core::v2026_08_3::DECLARATION,
32    &preview::v2026_08::DECLARATION,
33];