You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make is problematic for Window users because it is typically not available. It is also quite challenging to write cross-platform shell commands and get escaping right. Make as a full build tool is naturally more complex than required for a simple command runner. Since we only need a command runner here, we may consider some alternatives.
I looked at
tasks (written in go, cross-platform, yaml-syntax for task-definitions)
just (written in rust, cross-platform, makefile-like syntax for task-definitions)
duty (written in Python, cross-platform, python-file syntax for task-definitions, similar to invoke)
For just and tasks binaries are available for all platforms and installation is straight-forward (also on Windows). duty as a Python tool can be installed by pipx. Since linkML-project-cookiecutter users are already instructed to use pipx for cruft the installation of duty as command runner is the simplest one.
The syntax of tasks and just can be learned relatively fast, but I found it clearly more time-consuming than learning to define tasks in Python for duty. In duty I already know how to deal with cross-platform compatibility and have all great Python features like f-strings or path-manipulation available. So my favorite is duty.
I wrote a duties.py file that mostly matches the current makefile. - PR to come...
What do you think in general about this? Does it help? Does it add or reduce complexity?
The text was updated successfully, but these errors were encountered:
Make is problematic for Window users because it is typically not available. It is also quite challenging to write cross-platform shell commands and get escaping right. Make as a full build tool is naturally more complex than required for a simple command runner. Since we only need a command runner here, we may consider some alternatives.
I looked at
For
just
andtasks
binaries are available for all platforms and installation is straight-forward (also on Windows).duty
as a Python tool can be installed bypipx
. Since linkML-project-cookiecutter users are already instructed to usepipx
forcruft
the installation ofduty
as command runner is the simplest one.The syntax of
tasks
andjust
can be learned relatively fast, but I found it clearly more time-consuming than learning to define tasks in Python forduty
. Induty
I already know how to deal with cross-platform compatibility and have all great Python features like f-strings or path-manipulation available. So my favorite isduty
.I wrote a
duties.py
file that mostly matches the currentmakefile
. - PR to come...What do you think in general about this? Does it help? Does it add or reduce complexity?
The text was updated successfully, but these errors were encountered: