Replace el.toml with manifest.el throughout — El manifests are El, not TOML

This commit is contained in:
Will Anderson
2026-04-29 22:48:31 -05:00
parent ede087eb04
commit a7f89e4776
4 changed files with 24 additions and 24 deletions
+18 -18
View File
@@ -3,13 +3,13 @@
//! # Commands //! # Commands
//! //!
//! ## Project management //! ## Project management
//! el new <name> scaffold new project with el.toml + src/main.el //! el new <name> scaffold new project with manifest.el + src/main.el
//! el add <package>[@ver] add a dependency to el.toml //! el add <package>[@ver] add a dependency to manifest.el
//! el remove <package> remove a dependency from el.toml //! el remove <package> remove a dependency from manifest.el
//! el update update all deps to latest compatible versions //! el update update all deps to latest compatible versions
//! //!
//! ## Build & run //! ## Build & run
//! el build [--target prod] build the project (reads el.toml) //! el build [--target prod] build the project (reads manifest.el)
//! el build --cross build for all configured cross targets //! el build --cross build for all configured cross targets
//! el run build debug and run //! el run build debug and run
//! el test run tests //! el test run tests
@@ -23,7 +23,7 @@
//! el plugin add <plugin> add compiler plugin //! el plugin add <plugin> add compiler plugin
//! //!
//! ## Low-level //! ## Low-level
//! el build-file <file.el> compile a single .el file (no el.toml needed) //! el build-file <file.el> compile a single .el file (no manifest.el needed)
//! el seal <artifact> seal an existing release artifact //! el seal <artifact> seal an existing release artifact
//! el unseal <artifact> unseal a sealed artifact //! el unseal <artifact> unseal a sealed artifact
@@ -535,7 +535,7 @@ struct Cli {
enum Command { enum Command {
// ── Project management ──────────────────────────────────────────────────── // ── Project management ────────────────────────────────────────────────────
/// Scaffold a new Engram project with el.toml and src/main.el. /// Scaffold a new Engram project with manifest.el and src/main.el.
New { New {
/// Project name. /// Project name.
name: String, name: String,
@@ -544,7 +544,7 @@ enum Command {
dir: Option<PathBuf>, dir: Option<PathBuf>,
}, },
/// Add a dependency to el.toml. /// Add a dependency to manifest.el.
Add { Add {
/// Package name, optionally with version: `engram-http@1.2`. /// Package name, optionally with version: `engram-http@1.2`.
package: String, package: String,
@@ -553,7 +553,7 @@ enum Command {
path: Option<PathBuf>, path: Option<PathBuf>,
}, },
/// Remove a dependency from el.toml. /// Remove a dependency from manifest.el.
Remove { Remove {
/// Package name. /// Package name.
package: String, package: String,
@@ -564,7 +564,7 @@ enum Command {
// ── Build & run ─────────────────────────────────────────────────────────── // ── Build & run ───────────────────────────────────────────────────────────
/// Build the project (reads el.toml). /// Build the project (reads manifest.el).
Build { Build {
/// Override the build target: debug | release | prod. /// Override the build target: debug | release | prod.
#[arg(long)] #[arg(long)]
@@ -572,19 +572,19 @@ enum Command {
/// Build for all configured cross-compilation targets. /// Build for all configured cross-compilation targets.
#[arg(long)] #[arg(long)]
cross: bool, cross: bool,
/// Path to the project manifest (default: el.toml in current directory). /// Path to the project manifest (default: manifest.el in current directory).
#[arg(long)] #[arg(long)]
manifest: Option<PathBuf>, manifest: Option<PathBuf>,
}, },
/// Build in debug mode and run the output. /// Build in debug mode and run the output.
Run { Run {
/// Path to the project manifest (default: el.toml). /// Path to the project manifest (default: manifest.el).
#[arg(long)] #[arg(long)]
manifest: Option<PathBuf>, manifest: Option<PathBuf>,
}, },
/// Run tests in the current project (reads el.toml). /// Run tests in the current project (reads manifest.el).
Test { Test {
/// Only run tests matching this name (substring match). /// Only run tests matching this name (substring match).
filter: Option<String>, filter: Option<String>,
@@ -597,12 +597,12 @@ enum Command {
/// Output format: human (default) | json | junit. /// Output format: human (default) | json | junit.
#[arg(long, default_value = "human")] #[arg(long, default_value = "human")]
output: String, output: String,
/// Path to the project manifest (default: el.toml). /// Path to the project manifest (default: manifest.el).
#[arg(long)] #[arg(long)]
manifest: Option<PathBuf>, manifest: Option<PathBuf>,
}, },
/// Run tests from a single .el file (no el.toml required). /// Run tests from a single .el file (no manifest.el required).
TestFile { TestFile {
/// Source file containing test blocks (*.el). /// Source file containing test blocks (*.el).
file: PathBuf, file: PathBuf,
@@ -689,7 +689,7 @@ enum Command {
// ── Low-level / single-file ─────────────────────────────────────────────── // ── Low-level / single-file ───────────────────────────────────────────────
/// Compile and immediately run a single .el source file (no el.toml required). /// Compile and immediately run a single .el source file (no manifest.el required).
RunFile { RunFile {
/// Source file (*.el). /// Source file (*.el).
file: PathBuf, file: PathBuf,
@@ -698,7 +698,7 @@ enum Command {
args: Vec<String>, args: Vec<String>,
}, },
/// Compile a single .el source file (no el.toml required). /// Compile a single .el source file (no manifest.el required).
BuildFile { BuildFile {
/// Source file (*.el). /// Source file (*.el).
file: PathBuf, file: PathBuf,
@@ -762,12 +762,12 @@ enum Command {
#[derive(Subcommand, Debug)] #[derive(Subcommand, Debug)]
enum PluginAction { enum PluginAction {
/// Add a compiler plugin to el.toml. /// Add a compiler plugin to manifest.el.
Add { Add {
/// Plugin name, optionally with version: `el-fmt@1.0`. /// Plugin name, optionally with version: `el-fmt@1.0`.
plugin: String, plugin: String,
}, },
/// Remove a compiler plugin from el.toml. /// Remove a compiler plugin from manifest.el.
Remove { Remove {
plugin: String, plugin: String,
}, },
@@ -1,6 +1,6 @@
//! el-build — Build orchestrator for the Engram language toolchain. //! el-build — Build orchestrator for the Engram language toolchain.
//! //!
//! Reads `el.toml`, resolves dependencies, compiles source files, and produces //! Reads `manifest.el`, resolves dependencies, compiles source files, and produces
//! artifacts. Supports incremental builds via BLAKE3 file hashes stored in //! artifacts. Supports incremental builds via BLAKE3 file hashes stored in
//! `.el/build-cache.json`. //! `.el/build-cache.json`.
//! //!
@@ -10,7 +10,7 @@
//! use el_manifest::Manifest; //! use el_manifest::Manifest;
//! //!
//! # async fn example() -> Result<(), Box<dyn std::error::Error>> { //! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
//! let manifest = Manifest::from_file(std::path::Path::new("el.toml"))?; //! let manifest = Manifest::from_file(std::path::Path::new("manifest.el"))?;
//! let bs = BuildSystem::new(manifest, std::env::current_dir()?); //! let bs = BuildSystem::new(manifest, std::env::current_dir()?);
//! let output = bs.build(None).await?; //! let output = bs.build(None).await?;
//! println!("artifact: {}", output.artifact_path.display()); //! println!("artifact: {}", output.artifact_path.display());
@@ -59,7 +59,7 @@ pub enum PluginError {
/// Plugins receive three optional hooks during compilation. Each hook may /// Plugins receive three optional hooks during compilation. Each hook may
/// mutate the data it receives (AST, bytecode) or read it for analysis. /// mutate the data it receives (AST, bytecode) or read it for analysis.
pub trait CompilerPlugin: Send + Sync { pub trait CompilerPlugin: Send + Sync {
/// The plugin's canonical name (matches its key in `el.toml [plugins]`). /// The plugin's canonical name (matches its key in `manifest.el [plugins]`).
fn name(&self) -> &str; fn name(&self) -> &str;
/// The plugin's version string. /// The plugin's version string.
@@ -107,7 +107,7 @@ pub enum SealKeySource {
} }
impl SealKeySource { impl SealKeySource {
/// Parse from the `el.toml` string representation. /// Parse from the `manifest.el` string representation.
pub fn parse(s: &str) -> Result<Self, crate::ManifestError> { pub fn parse(s: &str) -> Result<Self, crate::ManifestError> {
if let Some(var) = s.strip_prefix("env:") { if let Some(var) = s.strip_prefix("env:") {
Ok(SealKeySource::EnvVar(var.to_string())) Ok(SealKeySource::EnvVar(var.to_string()))
@@ -178,7 +178,7 @@ pub enum CrossTarget {
} }
impl CrossTarget { impl CrossTarget {
/// Parse from the string used in `el.toml`. /// Parse from the string used in `manifest.el`.
pub fn parse(s: &str) -> Result<Self, crate::ManifestError> { pub fn parse(s: &str) -> Result<Self, crate::ManifestError> {
match s { match s {
"x86_64-linux" => Ok(CrossTarget::X86_64Linux), "x86_64-linux" => Ok(CrossTarget::X86_64Linux),
@@ -209,7 +209,7 @@ impl CrossTarget {
} }
} }
/// The string as it appears in `el.toml`. /// The string as it appears in `manifest.el`.
pub fn as_str(&self) -> &'static str { pub fn as_str(&self) -> &'static str {
match self { match self {
CrossTarget::X86_64Linux => "x86_64-linux", CrossTarget::X86_64Linux => "x86_64-linux",