Branch: refs/heads/main
Revision: 07eeea9dc9d668184950195490edca2bf8bf3ba9
Author: jabraham17
Link: https://github.com/chapel-lang/chapel/pull/28518
Log Message:
Rework mason new/init and allow external dependencies (#28518)
This PR heavily reworks mason new and mason init. As apart of this,
this PR adds logic to allow Mason to rely on external dependencies.
In this PR
- rewrote
mason new/mason init - rewrote the mason build system to allow for building with a different
chpl compiler. For example, fromtools/masonmake CHPL_COMPILER=/my/path/to/chpl DEBUG=1will build mason with an
arbitrary chpl compiler. - added the ability to pull dependencies from the mason repository (in a
very limited sense) and use them as dependencies for building mason.
This is also done ahead of time when generating the tarball so that
mason builds from the tarball do not rely on a network connection
Future work:
- This PR adds the
Manifest.chplfile, which is currently only used in
a very limited sense. Future work will expand its usage to replace all
of the raw accesses ofToml. MasonLoggerwill be moved into an external dep in a later PR- This PR has paved the way for improvements to mason new/init, like
adding the ability to generate projects with existing test structures.
That work is not done in this PR
- paratest
[Reviewed by @benharsh]
Diff:
M doc/rst/usingchapel/prereqs.rst
M test/mason/bashtests/colorOutput.good
M test/mason/chplVersion/mason-chpl-version-new.chpl
M test/mason/chplVersion/mason-chpl-version-new.good
M test/mason/mason-external/masonExternalRanges/mason-external-range.chpl
M test/mason/mason-help-tests/masonHelpTests.chpl
M test/mason/mason-help-tests/masonHelpTests.good
M test/mason/mason-new-init/initErrors.good
M test/mason/mason-new-init/masonNewBadName.good
M test/mason/mason-new-init/new.masontest
M test/mason/mason-new-init/newErrors.good
A test/mason/mason-new-init/noGit/COMPOPTS
A test/mason/mason-new-init/noGit/noGit.chpl
A test/mason/mason-new-init/noGit/noGit.good
R100 test/mason/mason-new-init/nogit.prediff test/mason/mason-new-init/noGit/noGit.prediff
R076 test/mason/mason-new-init/nogit.good test/mason/mason-new-init/nopath.good
R100 test/mason/mason-new-init/nogit.masontest test/mason/mason-new-init/nopath.masontest
A test/mason/mason-new-init/nopath.prediff
A test/mason/mason-system/myDebug.chpl
M test/mason/mason-system/systemadd.good
M test/mason/publish/badDry.chpl
M test/mason/publish/badDry.good
M test/mason/publish/badRegTest.chpl
M test/mason/publish/badRegTest.good
M test/mason/publish/dryTest.chpl
M test/mason/publish/publish.chpl
M test/mason/publish/publish.good
M test/mason/publish/publishGitCheck.chpl
M test/mason/publish/publishGitCheck.good
M test/mason/publish/use-local-registry/localRegistry.good
M tools/mason/Makefile
A tools/mason/Manifest.chpl
M tools/mason/Mason.chpl
M tools/mason/MasonHelp.chpl
D tools/mason/MasonInit.chpl
D tools/mason/MasonNew.chpl
A tools/mason/MasonNewInit.chpl
M tools/mason/MasonPublish.chpl
M tools/mason/MasonUtils.chpl
A tools/mason/ThirdParty.chpl
A tools/mason/ThirdParty/.gitignore
A tools/mason/ThirdParty/masonDeps.txt
M tools/mason/buildMason
A tools/mason/pullMasonDeps
M util/buildRelease/gen_release
https://github.com/chapel-lang/chapel/pull/28518.diff