Background
Currently, when given projections, we infix the version between {name} and any further demarcations on the modulefile, if they exist.
For example:
{name}/{variants.x}x{variants.y} -> {name}/2025.11.000/{variants.x}x{variants.y}
system-tools/{name} -> system-tools/{name}/2025.11.000
However, in the case that the user supplies the version accidentally (as we used to have to), we still infix it:
{name}/2025.11.000 -> {name}/2025.11.000/2025.11.000
Implementation Details
Maybe it would be better to have a placeholder string in the custom projection that will be replaced? For example:
{name}/VERSION/{variants.x} -> {name}/2025.11.000/{variants.x}
However, for prerelease injection, we will need to know where VERSION was replaced - we may not nessecarily be able to rely on {name}/2025.11.000 if VERSION is somewhere else. Consider passing in the original manifest as well. .
Background
Currently, when given projections, we infix the version between
{name}and any further demarcations on the modulefile, if they exist.For example:
However, in the case that the user supplies the version accidentally (as we used to have to), we still infix it:
Implementation Details
Maybe it would be better to have a placeholder string in the custom projection that will be replaced? For example:
However, for prerelease injection, we will need to know where
VERSIONwas replaced - we may not nessecarily be able to rely on{name}/2025.11.000ifVERSIONis somewhere else. Consider passing in the original manifest as well. .