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
//!
//! ## Project management
//! el new <name> scaffold new project with el.toml + src/main.el
//! el add <package>[@ver] add a dependency to el.toml
//! el remove <package> remove a dependency from el.toml
//! el new <name> scaffold new project with manifest.el + src/main.el
//! el add <package>[@ver] add a dependency to manifest.el
//! el remove <package> remove a dependency from manifest.el
//! el update update all deps to latest compatible versions
//!
//! ## 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 run build debug and run
//! el test run tests
@@ -23,7 +23,7 @@
//! el plugin add <plugin> add compiler plugin
//!
//! ## 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 unseal <artifact> unseal a sealed artifact
@@ -535,7 +535,7 @@ struct Cli {
enum Command {
// ── 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 {
/// Project name.
name: String,
@@ -544,7 +544,7 @@ enum Command {
dir: Option<PathBuf>,
},
/// Add a dependency to el.toml.
/// Add a dependency to manifest.el.
Add {
/// Package name, optionally with version: `engram-http@1.2`.
package: String,
@@ -553,7 +553,7 @@ enum Command {
path: Option<PathBuf>,
},
/// Remove a dependency from el.toml.
/// Remove a dependency from manifest.el.
Remove {
/// Package name.
package: String,
@@ -564,7 +564,7 @@ enum Command {
// ── Build & run ───────────────────────────────────────────────────────────
/// Build the project (reads el.toml).
/// Build the project (reads manifest.el).
Build {
/// Override the build target: debug | release | prod.
#[arg(long)]
@@ -572,19 +572,19 @@ enum Command {
/// Build for all configured cross-compilation targets.
#[arg(long)]
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)]
manifest: Option<PathBuf>,
},
/// Build in debug mode and run the output.
Run {
/// Path to the project manifest (default: el.toml).
/// Path to the project manifest (default: manifest.el).
#[arg(long)]
manifest: Option<PathBuf>,
},
/// Run tests in the current project (reads el.toml).
/// Run tests in the current project (reads manifest.el).
Test {
/// Only run tests matching this name (substring match).
filter: Option<String>,
@@ -597,12 +597,12 @@ enum Command {
/// Output format: human (default) | json | junit.
#[arg(long, default_value = "human")]
output: String,
/// Path to the project manifest (default: el.toml).
/// Path to the project manifest (default: manifest.el).
#[arg(long)]
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 {
/// Source file containing test blocks (*.el).
file: PathBuf,
@@ -689,7 +689,7 @@ enum Command {
// ── 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 {
/// Source file (*.el).
file: PathBuf,
@@ -698,7 +698,7 @@ enum Command {
args: Vec<String>,
},
/// Compile a single .el source file (no el.toml required).
/// Compile a single .el source file (no manifest.el required).
BuildFile {
/// Source file (*.el).
file: PathBuf,
@@ -762,12 +762,12 @@ enum Command {
#[derive(Subcommand, Debug)]
enum PluginAction {
/// Add a compiler plugin to el.toml.
/// Add a compiler plugin to manifest.el.
Add {
/// Plugin name, optionally with version: `el-fmt@1.0`.
plugin: String,
},
/// Remove a compiler plugin from el.toml.
/// Remove a compiler plugin from manifest.el.
Remove {
plugin: String,
},
@@ -1,6 +1,6 @@
//! 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
//! `.el/build-cache.json`.
//!
@@ -10,7 +10,7 @@
//! use el_manifest::Manifest;
//!
//! # 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 output = bs.build(None).await?;
//! println!("artifact: {}", output.artifact_path.display());
@@ -59,7 +59,7 @@ pub enum PluginError {
/// Plugins receive three optional hooks during compilation. Each hook may
/// mutate the data it receives (AST, bytecode) or read it for analysis.
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;
/// The plugin's version string.
@@ -107,7 +107,7 @@ pub enum 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> {
if let Some(var) = s.strip_prefix("env:") {
Ok(SealKeySource::EnvVar(var.to_string()))
@@ -178,7 +178,7 @@ pub enum 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> {
match s {
"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 {
match self {
CrossTarget::X86_64Linux => "x86_64-linux",