-
Notifications
You must be signed in to change notification settings - Fork 788
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
docs: track full list of asdf dependencies #1435
Comments
The following are part of either GNU coreutils, or part of the base for BSD and BSD-like systems (e.g. MacOS). If someone is missing any of these and wants to use asdf, they are on a very bespoke system and they will know how to work around it.
The other three - Also worth noting that if it is decided to require bash >= 4, |
Mentioned in #1436 we are likely going to [have to] support Bash 3.2 because of macOS. |
In my shell scripts, I only have a minimum Bash version, and list the external scripts I use that are not strictly POSIX compliance. In my opinion, it's the best way to show necessary dependencies without having too long a list. In non-application cases, I list all non builtins, but I don't think that's applicable here. So judging from that list, I think it's important that we mention a minimum Git and cURL version. I haven't checked the flags for all the other commands, so I'm not sure if they are fully POSIX compliant (hopefully they are). Definitely skip over the builtins though, not necessary because they are covered by the minimum Bash version. |
Another dependency (development): Bats Bats now has a |
On stephanGarland's comment above: #1435 (comment) asdf-awscli ran into a problem with An alternative that I didn't pursue was only using system-provided utils ( |
How can we improve the documentation?
It would be ideal to improve our list of dependencies and also capture the minimum supported versions.
Prior discussion #511
Dependencies list
Here is a non-comprehensive list of dependencies from a quick look through some code:
git
1.7.7.2
git --work-tree
asdf plugin update
with--git-dir
to avoidcd
.git -C
is preferred but would require a latergit
versiongit
1.8.5.6
git -C
--git-dir
+--work-tree
curl
plugin-test
commandawk
grep
sed
tr
tail
head
cat
I am not sure if these tools are in the same class as the above. Should they be treated the same?
read
printf
rm
command
command -v
Bash
is almost certainly considered a dependency, but we will tackle that in another Issue.Thoughts
Is it even possible to list all min versions of tools which are different implementations of the same tool for different OSs? Eg: BSD vs GNU grep. Are the versions tracked the same? One assumes not as they could differ in minor/patch releases due to non-breaking changes and bugfixes, right? 🤔
Banned Commands
We have already banned some commands, or even just flags on commands because they are not common across most platforms. See - https://github.com/asdf-vm/asdf/blob/master/test/banned_commands.bats
Potential reduction
I am sure we can reduce this list.
curl
is used inplugin-test
to fetch the Rate Limit dynamically to an error message. We can probably get rid of it as the users who see this branch of code is definitely a single digit number.Why raise this issue
curl
is listed but technically not used by asdf coreTodo
What can we do to resolve this issue:
We will almost certainly get this wrong in some capacity, but any % of correctness is better than what we currently have.
How can you help?
Comment if you determine new tools or minimum versions used in the codebase.
The text was updated successfully, but these errors were encountered: