Fix Truffle invocation conflict on Windows #179
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request aims to resolve #173 . The
truffle compile
command invoked through slither will fail on Windows due to naming conflicts. On Windows,.JS
is an executable extension by default (see thePATHEXT
environment variable), which confuses windows into invokingtruffle.js
instead oftruffle.cmd
.Truffle's own website suggests a few fixes:
https://truffleframework.com/docs/truffle/reference/configuration#resolving-naming-conflicts-on-windows
The only fix which does not require the user modifying their environment is to explicitly invoke
truffle.cmd
. This seems simplistic and non-problematic, so I have added a switch to__main__.py
which invokestruffle.cmd
if on Windows, otherwise simplytruffle
is invoked.This has fixed truffle invocation on my Windows system.