Skip to content
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

tools, loader, plugins.rules: deprecate compile_rule #2027

Merged
merged 2 commits into from
Feb 28, 2021

Conversation

Exirel
Copy link
Contributor

@Exirel Exirel commented Feb 6, 2021

Description

See #1887.

This is only a draft, because it introduces a major change in loader.clean_callable: since compile_rule becomes deprecated, it is not used anymore by loader.clean_callable. It means that this function doesn't compile patterns anymore. So, even though it doesn't change anything for plugins that don't tinker with loader themselves (but why would they?), it doesn't generate any change and it should be transparent.

The documentation says that sopel.loader is for internal purpose, that it may and probably will change without warning, and that the documentation for this module is here for internal dev only. So, technically, it's not a breaking change, because that part of the API is documented as not public.

However, if we want to minimize the risk of a plugin relying on internal stuff (again: they should not), I've solutions to deal with that.

@dgw I need your opinion on that one!

Checklist

  • I have read CONTRIBUTING.md
  • I can and do license this contribution under the EFLv2
  • No issues are reported by make qa (runs make quality and make test)
  • I have tested the functionality of the things this change touches

@Exirel Exirel added the Tweak label Feb 6, 2021
@Exirel Exirel added this to the 7.1.0 milestone Feb 6, 2021
@Exirel Exirel requested a review from dgw February 6, 2021 01:28
Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't mind one bit changing how stuff in sopel.loader works, haha. There's just one random thing I noticed, but go ahead and change clean_callable() all you want! That whole module doesn't even appear in the docs.

sopel/loader.py Outdated Show resolved Hide resolved
@Exirel Exirel marked this pull request as ready for review February 7, 2021 15:02
@Exirel Exirel requested a review from dgw February 7, 2021 15:02
Copy link
Member

@dgw dgw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I edited the OP to avoid closing #1887 (since it's a tracking issue, now assigned to 8.0), but let's do it.

@dgw dgw merged commit f737da2 into sopel-irc:master Feb 28, 2021
@Exirel Exirel deleted the tools-deprecate-compile-rule branch May 1, 2021 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants