Branch: refs/heads/main
Revision: 60a52c8
Author: bmcdonald3
Link: Add support for adding arbitrary git repos as mason dependencies by bmcdonald3 · Pull Request #20261 · chapel-lang/chapel · GitHub
Log Message:
Merge pull request #20261 from bmcdonald3/mason-git
Add support for adding arbitrary git repos as mason dependencies
[ reviewed by @arezaii - thank you! ]
Rust supports a repo = { git = "URL", branch = "BRANCH" }
syntax
for using git repos that are rust crates but not stored in the
registry. This PR adds support for the equivalent functionality
in mason.
With this PR, a user can specify a dependency such as:
HelloWorld = { git = "https://github.com/bmcdonald3/HelloWorld", branch = "master" }
and have the hello world master branch incorporated into their
project as a dependency, freeing them of the constraint of needing
to use a mason-versioned state of the project and also using
repos that aren't necessarily in the mason registry.
Still todo:
- Add checking of the toml file from the git repo to ensure that
all the dependencies are met - Add support for specific git revisions, not just branches
- Lock in the git revision of the repo when installed and only update
whenmason update
is run
Closes: Allow mason to use other fields other than the version · Issue #17818 · chapel-lang/chapel · GitHub
Modified Files:
A test/mason/gitTest.lock
A test/mason/masonGitDeps.chpl
A test/mason/masonGitDeps.good
M doc/rst/tools/mason/mason.rst
M modules/packages/TOML.chpl
M tools/mason/MasonBuild.chpl
M tools/mason/MasonExample.chpl
M tools/mason/MasonTest.chpl
M tools/mason/MasonUpdate.chpl
M tools/mason/MasonUtils.chpl
Compare: https://github.com/chapel-lang/chapel/compare/2b231023583b...60a52c8d1214