chapel
chapel copied to clipboard
`source` field required in `Mason.toml` for registration, misleading documentation
According to masonTomlFileCheck in masonPublish here, the Mason.toml file need to have a source field in order to be registered, otherwise it fails (example 1, example 2 ).
There is no mention of this in the documentation about Manifest file and in the documentation on publishing packages it is only mentioned in the second bullet list (manual steps), letting understand that if one uses mason publish this will be taken care of automatically (which is not the case).
A few solutions:
- Mention in the first bullet list to add manually a
sourcefield pointing to the repository. - ~~Let
mason publishmodify theMason.tomlto add the field if missing.~~ Wouldnt work, would still need to commit the new manifest first. - (remove the requirement, but I guess it's there for a good reason, also I see no harm in the field being there)
and a few bonus points:
- Mention the field in the documentation about
Manifest.toml. While the field is strictly not compulsory unless one plans to publish on Mason, I think it would be good to mention there that it's good practice to have the field if you host your work in a repository, and it's needed if one wants to publish in mason - Initialize the field when running
mason newthis would require to ask for the user github account.
Thanks for this report! We're planning on going over and updating mason documentation in the near-ish future, and we'll make sure to address this case.
it is only mentioned in the second bullet list (manual steps), letting understand that if one uses mason publish this will be taken care of automatically (which is not the case).
Actually that mention refers to X.Y.Z.toml, so as far as I can tell source being required in the Mason.toml itself is not mentioned.
What was the idea behind that requirement? It can be a nice-to-have info, but I am not sure if it's strictly needed for anything. Does mason rely on it?
What was the idea behind that requirement? It can be a nice-to-have info, but I am not sure if it's strictly needed for anything. Does mason rely on it?
I believe mason relies on the source field to know where the source code for the package is hosted when pulling dependencies.
I believe mason relies on the source field to know where the source code for the package is hosted when pulling dependencies.
but that applies to the X.Y.Z.toml file in the registry, no? Indeed, I think mason would see a dependency Mason.toml only after having pulled the dependency