-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Regression: Help option subclassing no longer works with verion 8.1.8 #2832
Comments
@kdeldycke I guess that no refactor goes unpunished! |
The short term fix by @AyanSinhaMahapatra is that we skip using 8.1.8 entirely in https://github.com/aboutcode-org/scancode-toolkit/pull/4043/files#diff-fa602a8a75dc9dcc92261bac5f533c2a85e34fcceaff63b3a3a81d9acde2fc52R70
|
I just started to update Click Extra to the new v8.1.8 (bad release timing 😅), but I've already seen some strange behavior with the help option. Thanks @pombredanne for the details, I'll investigate the issue and keep you informed. |
An immediate solution would be to make the custom class inherit class PluggableCommandLineOption(click.decorators.HelpOption):
pass |
Removes `click.decorators.HelpOption` class. Closes pallets#2832.
The root of the problem is that by deduplicating the code generating the help option in 8.1.8, I introduced a The problem is by using a custom class on the I just made a proposal in PR #2840 to revert the behavior to what it was in 8.1.7. |
Removes `click.decorators.HelpOption` class. Closes pallets#2832.
Remove custom HelpOption class. Refs: pallets/click#2563 pallets/click#2832 pallets/click#2840
@kdeldycke I assume we want to keep the |
In retrospect I think introducing the Yes, it was more in line with the original (duplicated) implementation of the But on the other hand we ended up with the For the sake of simplicity and keeping the code aligned, I would propose to go with my implementation in #2840 for both 8.1.x and 8.2.0, and forget about changing the option decorators from decorators to classes altogether. |
Click 8.18 has a regression wrt. to help with Option subclasses.
This was found in this issue originally:
This was introduced in this PR by @kdeldycke 👋 :
--help
option definition #2563It breaks code that uses option subclasses.
and then with 8.1.7 and 8.1.8:
and then with 8.1.7
and then with 8.1.8
and then with 8.1.7
and then with 8.1.7
and then with 8.1.8
and then with 8.1.8 note the changes in
-h TEXT
Environment:
The text was updated successfully, but these errors were encountered: