-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove non cycling commands from cylc #2983
Comments
Agreed in principle. |
I guess we can do this some time after packaging is done. |
@kinow - yes I agree with your proposal. Some of the quirks you've mentioned really date way back, to when I didn't know any better, or are a result of some quick solution that I never came back to tidy up. |
(god knows why I made commands to print the license and warranty, for instance - I can't even remember that myself ... but it's safe to say no one has ever used those commands!) |
Closing in favour of #2972 . Will move the list of commands there, and link back to this issue. |
Hi,
This may be a bit controversial, but given we have in Cylc 8 the opportunity for more drastic changes, I thought it would be worth suggesting this one.
Cylc provides the
cylc
entry command, which gives the user several sub commands, or utilities. They are nicely grouped (control, information, tasks, admin, etc).Many of these commands will disappear with the Web GUI, for instance
cylc gscan
, andcylc gui
.This behaviour is similar to
git
.git
is a distributed version-control system (from their Wikipedia), and usinggit
you have access to several commands which they group in high level ("porcelain") commands and low level ("plumbing") commands. But all the commands are related togit
.But we have commands in Cylc that are not related to cycling workflows, like
cylc make-docs
cylc profile-battery
cylc test-battery
cylc license
cylc warranty
cylc documentation
There are commands that are not really related to cycling workflows, but more to the build of Cylc, such as
make-docs
,profile-battery
, andtest-battery
. We will start using tools likesphinx
andsetuptools
that provide ways to generate documentation and to run tests.These tools are normally used in other projects to build, generate documentation, even to include the project license metadata. Having part of the build process in
setuptools
, and another part in Python and Shell would be redundant.cylc documentation
opens the link to the documentation page in a browser. I like the approach suggested in #2972 , the item 9: "Consider building a Cylc man page (we can do this with Sphinx!)".Having a man page for Cylc, we could include the license information (
cylc warranty
,cylc license
), also include a link to the project documentation as in Git. Git includes a few pointers for users, e.g. The Git User’s Manual[1] has a more in-depth intro..., and A formatted and hyperlinked copy of the latest Git documentation can be viewed at https://git.github.io/htmldocs/git.html..The website has moved to another repository. If some day we need to move the documentation to another repository (which I don't believe we will need, but just a hypothesis), that would mean that in
setup.py
, we would have to include a dependency to that project (IOW that project would have to be a dependency, and also a module), or we would have to write some custom shell code to fetch the documentation, so thatcylc make-docs
still worked (or find some other solution).I think displaying only options that users of cylc need for cycling workflows, suites, tasks, etc, would make it easier for users. Also, having less commands to maintain, and the build commands being responsibility of the build tools, would make it easier the maintenance for developers.
To complete the comparison with
git
, man pages are created withmake
, profiling tests are also executed withmake
, as well as tests, html documentation, and other build related tasks.Cheers
Bruno
The text was updated successfully, but these errors were encountered: