Use default package in workspace templates
This commit is contained in:
parent
0337974923
commit
60d1d0f8a3
@ -21,6 +21,8 @@ ABI promise.
|
||||
- Diagnose duplicate workspace members after path normalization before package
|
||||
loading.
|
||||
- Add workspace package and dependency summaries to `glagol doc`.
|
||||
- Teach generated workspace templates and canonical workspace examples to
|
||||
declare `default_package = "app"`.
|
||||
- Keep dependency resolution local-path-only and deterministic.
|
||||
|
||||
## Acceptance Gates
|
||||
@ -28,6 +30,7 @@ ABI promise.
|
||||
- `cargo test --test project_mode workspace_default_package`
|
||||
- `cargo test --test project_mode workspace_package_boundaries`
|
||||
- `cargo test --test dx_v1_7 doc_generates_workspace_package_summary`
|
||||
- `cargo test --test dx_v1_7 new_workspace_template`
|
||||
- `cargo fmt --check`
|
||||
- `git diff --check`
|
||||
|
||||
|
||||
@ -157,9 +157,9 @@ Local workspaces may declare `[workspace] default_package = "name"` to select
|
||||
the build/run entry package when multiple packages have entry modules.
|
||||
Duplicate normalized workspace members and missing default-package references
|
||||
are now dedicated diagnostics. `glagol doc <workspace> -o <dir>` includes a
|
||||
workspace package/dependency summary. Remote registries, lockfiles,
|
||||
semantic-version solving, package publishing, and stable package ABI/layout
|
||||
remain deferred.
|
||||
workspace package/dependency summary. New workspace templates declare
|
||||
`default_package = "app"`. Remote registries, lockfiles, semantic-version
|
||||
solving, package publishing, and stable package ABI/layout remain deferred.
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
@ -121,7 +121,7 @@ fn create_workspace_project(root: &Path, target: &str) -> Result<(), Diagnostic>
|
||||
create_dir_all_checked(&lib_src, target)?;
|
||||
write_checked(
|
||||
&root.join("slovo.toml"),
|
||||
"[workspace]\nmembers = [\"packages/app\", \"packages/libutil\"]\n",
|
||||
"[workspace]\nmembers = [\"packages/app\", \"packages/libutil\"]\ndefault_package = \"app\"\n",
|
||||
target,
|
||||
)?;
|
||||
write_checked(
|
||||
|
||||
@ -228,7 +228,7 @@ fn new_workspace_template_creates_local_package_workspace() {
|
||||
assert_success("glagol new --template workspace", &output);
|
||||
assert_eq!(
|
||||
fs::read_to_string(workspace.join("slovo.toml")).expect("read workspace manifest"),
|
||||
"[workspace]\nmembers = [\"packages/app\", \"packages/libutil\"]\n"
|
||||
"[workspace]\nmembers = [\"packages/app\", \"packages/libutil\"]\ndefault_package = \"app\"\n"
|
||||
);
|
||||
assert!(workspace.join("packages/app/slovo.toml").is_file());
|
||||
assert!(workspace.join("packages/libutil/slovo.toml").is_file());
|
||||
|
||||
@ -20,6 +20,8 @@ integration/readiness release, not the first real beta.
|
||||
that lacks its entry module with `WorkspaceDefaultPackageEntryMissing`.
|
||||
- `glagol doc <workspace> -o <dir>` now includes a deterministic workspace
|
||||
summary with members, packages, and local package dependency edges.
|
||||
- `glagol new --template workspace` and the canonical local workspace examples
|
||||
now declare `default_package = "app"`.
|
||||
|
||||
## 1.0.0-beta.4
|
||||
|
||||
|
||||
@ -28,6 +28,8 @@ diagnostics bundle.
|
||||
`WorkspaceDefaultPackageEntryMissing` during build/run.
|
||||
- Workspace documentation generated by `glagol doc` now includes a
|
||||
deterministic summary of members, packages, and local dependency edges.
|
||||
- Generated workspace templates and the canonical local workspace examples now
|
||||
declare `default_package = "app"`.
|
||||
|
||||
## 1.0.0-beta.4
|
||||
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
[workspace]
|
||||
members = ["packages/app", "packages/mathlib"]
|
||||
default_package = "app"
|
||||
|
||||
@ -1,2 +1,3 @@
|
||||
[workspace]
|
||||
members = ["packages/app", "packages/mathlib"]
|
||||
default_package = "app"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user