Investigate use of ``shutil.which`` to discover tool availability
- Dominant language
- Python
- Stars
- 9
- Forks
- 9
- Avg merge
- 12d 12h
- Merged PRs (30d)
- 2
Description
Currently a "null" operation for each tool is needed to determine if it is available. This causes a lot of mess in the code and seems unnecessary as the ``which`` command is provided for precisely this job.
It can't cope with the situation where the tool exist but is broken (for example fails to link with a missing library) but maybe we don't need to worry about this as long as tool execution can gracefully report broken tooling.
Some tools (PSyclone is an example) behave different depending on their version but is this something we need to take into account in the availability check?
Contributor guide
Research direction
Start by tracing how each tool currently performs its null operation to determine availability, then inspect the execution path that reports broken tooling. Compare that flow with Python's shutil.which, including version-dependent tools such as PSyclone; done means the project has a decided availability-check approach and graceful handling for tools that exist but cannot run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100