[Chapel Merge] Improve `mason modules` to allow for more structured output

Branch: refs/heads/main
Revision: 6a2212e4698527224e0179ec237224c115d9e9b4
Author: jabraham17
Link: Improve `mason modules` to allow for more structured output by jabraham17 · Pull Request #28671 · chapel-lang/chapel · GitHub
Log Message:
Improve mason modules to allow for more structured output (#28671)

Improves mason modules to allow for more structured output. For
example, mason modules --format json will print the output in a json
format, making it easier to parse by other tools

Also in this PR

  • fix --no-update to avoid rewriting the lock file
  • rewrite the mason help tests
  • use path in a few more localized places. future work will expand
    this
  • paratest

[Reviewed by @DanilaFe]

Compare: Comparing 572b69c253bb0c7df389b98e090359bd6b3123e1...e767ba2048f6a55cd75681d0b88b7b8aad0c9bad · chapel-lang/chapel · GitHub

Diff:
M test/mason/chplVersion/CLEANFILES
R100 test/mason/chplVersion/mason_home/registry/Bricks/badThenGood/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/badThenGood/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/badThenGood/0.2.0.toml test/mason/chplVersion/dummyRegistry/Bricks/badThenGood/0.2.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/badThenGood/0.3.0.toml test/mason/chplVersion/dummyRegistry/Bricks/badThenGood/0.3.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/innerBadDep/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/innerBadDep/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/innerBadDep/0.2.0.toml test/mason/chplVersion/dummyRegistry/Bricks/innerBadDep/0.2.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/outerBadDep/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/outerBadDep/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/simpleBadDepA/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/simpleBadDepA/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/simpleBadDepB/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/simpleBadDepB/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/simpleGoodDep/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/simpleGoodDep/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/twoZero/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/twoZero/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/usesBad/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/usesBad/0.1.0.toml
R100 test/mason/chplVersion/mason_home/registry/Bricks/usesGood/0.1.0.toml test/mason/chplVersion/dummyRegistry/Bricks/usesGood/0.1.0.toml
M test/mason/chplVersion/mason-chpl-version-update.chpl
A test/mason/chplVersion/mason-chpl-version-update.execenv
A test/mason/chplVersion/mason-chpl-version-update.postexec
A test/mason/chplVersion/mason-chpl-version-update.preexec
M test/mason/chplVersion/tomls/fail/depWantsLaterUnbounded.good
M test/mason/chplVersion/tomls/fail/failMultipleDeps.good
M test/mason/chplVersion/tomls/fail/ivrsTwo.good
M test/mason/chplVersion/tomls/pass/ivrsChooses.good
M test/mason/chplVersion/tomls/pass/simpleDep.good
D test/mason/mason-help-tests/COMPOPTS
D test/mason/mason-help-tests/SKIPIF
D test/mason/mason-help-tests/masonHelpTests.chpl
M test/mason/mason-help-tests/masonHelpTests.good
A test/mason/mason-help-tests/masonHelpTests.masontest
D test/mason/mason-help-tests/masonHelpTests.skipif
A test/mason/mason-help-tests/sub_test
A test/mason/mason-modules/.gitignore
A test/mason/mason-modules/CLEANFILES
A test/mason/mason-modules/EXECENV
A test/mason/mason-modules/local-reg.notest
A test/mason/mason-modules/mason_home.notest
A test/mason/mason-modules/modules.good
A test/mason/mason-modules/modules.masontest
A test/mason/mason-modules/modules.prediff
A test/mason/mason-modules/sub_test
M tools/mason/MasonHelp.chpl
M tools/mason/MasonModules.chpl
M tools/mason/MasonUpdate.chpl
M util/test/sub_test.py
https://github.com/chapel-lang/chapel/pull/28671.diff