Skip to main content

tg_rcore_tutorial/
lib.rs

1//! Meta crate for the componentized rCore Tutorial workspace.
2//!
3//! This crate is a distribution bundle so learners can fetch the full
4//! teaching workspace via crates.io tooling (for example, cargo-clone).
5//!
6//! # Usage
7//!
8//! After cloning this crate via `cargo clone tg-rcore-tutorial`, you can
9//! extract all the submodules by running:
10//!
11//! ```bash
12//! bash scripts/extract_submodules.sh
13//! ```
14//!
15//! This will extract all chapter crates and component crates from the
16//! bundle directory, enabling you to build and develop the full workspace.
17//!
18//! # Components
19//!
20//! The bundle contains:
21//! - **Chapter crates** (ch1-ch8): Progressive OS kernel implementations
22//! - **Component crates**: Reusable kernel modules (console, syscall, memory, etc.)
23//! - **Test utilities**: User programs and output checkers
24
25/// Crate identifier for the workspace bundle.
26pub const BUNDLE_NAME: &str = "tg-rcore-tutorial";
27
28/// Version of the bundle.
29pub const BUNDLE_VERSION: &str = "0.4.5";
30
31/// List of all included submodule crates.
32pub const SUBMODULE_CRATES: &[&str] = &[
33    "tg-rcore-tutorial-ch1",
34    "tg-rcore-tutorial-ch2",
35    "tg-rcore-tutorial-ch3",
36    "tg-rcore-tutorial-ch4",
37    "tg-rcore-tutorial-ch5",
38    "tg-rcore-tutorial-ch6",
39    "tg-rcore-tutorial-ch7",
40    "tg-rcore-tutorial-ch8",
41    "tg-rcore-tutorial-checker",
42    "tg-rcore-tutorial-console",
43    "tg-rcore-tutorial-easy-fs",
44    "tg-rcore-tutorial-kernel-alloc",
45    "tg-rcore-tutorial-kernel-context",
46    "tg-rcore-tutorial-kernel-vm",
47    "tg-rcore-tutorial-linker",
48    "tg-rcore-tutorial-sbi",
49    "tg-rcore-tutorial-signal",
50    "tg-rcore-tutorial-signal-defs",
51    "tg-rcore-tutorial-signal-impl",
52    "tg-rcore-tutorial-sync",
53    "tg-rcore-tutorial-syscall",
54    "tg-rcore-tutorial-task-manage",
55    "tg-rcore-tutorial-user",
56];