Skip to main content

alp_core/
lib.rs

1// SPDX-License-Identifier: Apache-2.0
2#![doc = include_str!("../README.md")]
3
4/// Default SoM SKU written into a scaffolded `board.yaml` when none is supplied
5/// (`alp init` without `--som`). Single source of truth for the literal, shared
6/// by the wizard (`wizard::service`) and the CLI's app-core guard.
7pub const DEFAULT_SOM_SKU: &str = "E1M-AEN701";
8
9pub mod build_plan;
10pub mod build_readiness;
11pub mod clock;
12pub mod debug;
13pub mod debug_launch;
14pub mod diff;
15pub mod loader;
16pub mod model;
17pub mod presets;
18pub mod preview;
19pub mod project;
20pub mod sdk;
21pub mod sdk_catalogue;
22pub mod system_manifest;
23pub mod validate;
24pub mod wizard;
25
26pub use build_plan::{
27    BUILD_PLAN_SCHEMA_VERSION, Backend, BuildPlan, BuildPlanError, BuildSlice, GeneratedFile,
28    PlanWarning, ToolStep, parse_build_plan, summarize_plan,
29};
30pub use build_readiness::{
31    BuildOs, BuildReadinessReport, BuildToolProbe, board_os_set, build_readiness_report,
32};
33pub use clock::format_iso8601_utc;
34pub use debug::{
35    DebugGenerationTraceDecision, DebugResolvedValue, DebugRuntimeCapabilities, DebugServerKind,
36    DebugTargetKind, DebugTraceOutcome, DebugValueSource, DebugWorkspaceContext,
37    DebuggerExtensionsState, DoctorCheck, DoctorReport, DoctorStatus, DoctorSummary,
38    build_doctor_report, collect_resolved_values, collect_runtime_capabilities_from_commands,
39    create_debug_workspace_context, is_server_supported_for_target, parse_server_kind,
40    parse_target_kind, server_choices_for_target,
41};
42pub use debug_launch::{
43    LaunchJsonWritePlan, create_launch_draft, create_launch_json_write_plan,
44    launch_preview_document, launch_preview_notes,
45};
46pub use diff::{DiffEntry, DiffKind, collect_diff_entries, prune_nulls};
47pub use loader::{
48    ALL_EMIT_MODES, GenerationTargetSupport, LoaderPlan, create_loader_plan,
49    generation_target_support, list_generation_target_support,
50};
51pub use model::{BoardModel, normalize_board_model};
52pub use presets::{PresetCatalogueDefaults, empty_preset_catalogue};
53pub use preview::{EffectiveConfigPreviewPayload, create_effective_config_preview_payload};
54pub use project::{
55    ProjectContext, ProjectResolutionInput, ProjectSettings, resolve_project_context,
56};
57pub use sdk::{
58    GITHUB_RELEASES_URL, SdkReadinessReport, SdkReadinessState, SdkRelease, check_sdk_readiness,
59    parse_remote_sdk_releases, resolve_active_sdk,
60};
61pub use sdk_catalogue::{
62    AcceleratorAvail, BoardPreset, ChipChoice, ChipDef, ChipKconfig, I2cDevice, MemorySpec,
63    PadRoute, SdkCatalogue, SocCore, SocSpec, SomPreset, TopologyCore, accelerator_availability,
64    boards_for_som, chip_defaults, chip_family_for_sku, chips_for_som, core_ids_for_som,
65    effective_chip_choices, effective_populated, parse_board_preset, parse_chip_def,
66    parse_soc_spec, parse_som_preset,
67};
68pub use validate::{
69    Outcome, ParseError, Severity, ValidationIssue, ValidationResult, ValidatorExecution,
70    analyze_validation_result, classify_validation_outcome, parse_board_model,
71    validate_board_yaml_local,
72};