-
Notifications
You must be signed in to change notification settings - Fork 9
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
Split out help tasks into a separate plugin or remove (some of) them #130
Comments
I don't like the idea to removing tasks through options. It's not very idiomatic from my understanding. Plugins should register as many tasks as they like/need (and that should be cheap) and then Gradle should figure out which tasks are actually needed in a certain situation. There should not be additional options a user has to think about. What we could consider in the future is splitting the plugin up into two:
In any case, if the constructor of |
I would agree with that. But this is not how the IntelliJ Project sync works currently. The Intellij Project sync creates every single task of every single project. Maybe we should crossreport this to Jetbrains? |
Thank you for the additional thoughts. The more I think about it, I think we should split the tasks out and put them into a separate plugin that users can use if they need them. TBH, I don't know if anyone uses these tasks. I added them in early stages of the plugin more as an experiment to see what can be done and if it is useful. I still think some of the tasks could be useful if you want to migrate to using this plugin (or migrate away from using it). But that's a one time usage of such tasks and I don't have any data on how useful they really are in practice. Regarding IntelliJ:
|
Starting with
I did it like this, because removing them from the plugin is a quite a breaking change. I'll leave this issue open for further work on
|
Yes. It's the same "issue" there. I think it only adds that one task. But it should ideally also be moved to a separate plugin. |
This plugin uses registerTask instead of createTask. Thats sufficient for "normal" gradle build to avoid unnecessary overhead, as the tasks are simply not created if not needed.
However during an IDE/IntelliJ sync all tasks are actually created. This is can lead to reduced performance, especially when you have a look at all that stuff that happens in the constructor of ModuleVersionRecommendation which normally would be avoided if you dont call that target directly, however during a sync especially the creation of a new configuration at this stage can lead to odd sideeffects
The text was updated successfully, but these errors were encountered: