Only evaluate 'needs' constraints of an option if that option is actually used. #101
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.
From the way I understood 'needs' it would create constraints that would make sure needed options that another option rely on are set. But the check seems to happen even if you haven't used the option that 'needs' the other options.
I, for instance, created an option to take an SMTP server host name.
Then I added options to supply username and password for that server if that was needed for the server. Using those options would 'need' the server address to be present.
But even if I didn't set the SMTP server or any of the username and password options it still complained about the need constraint. This made very little sense.
So I added a small check so it only evaluates 'needs' constraints of an option if that option is actually used.