feat(mcpp.plugins): 0.5.0, an island's entry points in the module's namespace - #372
Merged
Conversation
…amespace `docs/42` states one rule for both lanes: the module name and the namespace are one identifier path. The shader lane followed it and `mcpp.tools.island` did not, emitting every entry point at global scope, so `import app.kernels` bought a file name and nothing else. A root's directories now extend the namespace exactly as a payload tree's do. The API says roots rather than files: `options::roots` names the directories implementations live under and `options::layout_root` names the one whose structure decides where entry points live. `options::strip_prefix` emits a short spelling beside the authored name, which stays canonical because it is the symbol. Breaking for a consumer of `tools-island`, and `latest` moves anyway: every published consumer pins an exact version, and the three examples in mcpp that use the generator move to 0.5.0 in the same batch. The floor stays at mcpp 2026.9.8.1. This changes what the package generates, not what it asks the engine for. The CN asset is the same bytes as the GitHub source archive of tag v0.5.0, sha256 ec11aa99e84d8d003afff9d93a9e76d8b84926ab2586058ee5d51344559777b9, verified by downloading it back after the upload.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publishes
mcpp-pluginsv0.5.0, merged as992a1b4with a green run onmain.What the release changes
docs/42states one rule for both lanes: the module name and the namespace are one identifier path. The shader lane followed it;mcpp.tools.islanddid not, and emitted every entry point at global scope. A root's directories now extend the namespace exactly as a payload tree's do:options::rootsandoptions::layout_rootreplace the file list;options::strip_prefixadds a short spelling beside the authored name, which stays canonical because it is the symbol.Why
latestmoves even though the release is breakingEvery published consumer pins an exact version -- a bare version is read as a choice, not a range -- so nothing resolving today is affected. The three examples in
mcppthat use the generator move to 0.5.0 in the same batch, and their pull request is opened after this one lands because they resolve this package through the index.The floor does not move. 0.5.0 changes what the package generates, not what it asks the engine for, so it stays at mcpp 2026.9.8.1.
Checked before opening
loadfile(..., 't')syntaxcheck_cross_package_refs,check_platform_version_parity,check_duplicate_versionsmcpp xpkg parseversions linux 0.5.0, 0.4.0, ...andparse OK["latest"]per platform table, all three at 0.5.0ec11aa99...equals the GitHub source archive's sha256That last one is worth stating:
gtchas reporteduploadedfor an object that then answered 404, so the asset was fetched back and hashed rather than trusted.