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
Task configuration avoidance is defeated by IDEA import/sync #7633
Comments
I think this is more of an issue on the idea side. Idea needs all tasks to populate the tasks view, including groups and descriptions. However this is not needed for the basic function of editing your project. So it could fetch the information for the tasks view later. |
It's on both sides. To build the |
I see, we should deprecate that and only leave |
I stumbled upon this issue after migrating all the plugins in our project to support configuration avoidance. Was that work all for naught? The performance of IDE sync was the main reason we invested in moving to the new task APIs. The problem can be easily reproduced by adding a task like this to any project: tasks.register("unusedTask") {
throw new GradleException("Should not be configured")
} |
This issue has been automatically marked as stale because it has not had recent activity. Given the limited bandwidth of the team, it will be automatically closed if no further activity occurs. If you're interested in how we try to keep the backlog in a healthy state, please read our blog post on how we refine our backlog. If you feel this is something you could contribute, please have a look at our Contributor Guide. Thank you for your contribution. |
Still relevant. |
This issue has been automatically marked as stale because it has not had recent activity. Given the limited bandwidth of the team, it will be automatically closed if no further activity occurs. If you're interested in how we try to keep the backlog in a healthy state, please read our blog post on how we refine our backlog. If you feel this is something you could contribute, please have a look at our Contributor Guide. Thank you for your contribution. |
The problem mentioned by @technoir42 still exists in Intellij 2021.2.1 |
I also experienced this problem - are there any plans to fix it? If it is a problem on the Intellij IDEA side, where can I report it? Task configuration avoidance by It's also confusing that right before this, the task: Mention of this problem: link |
annoying kotlin shit in my java project |
Not sure, maybe disabling "Kotlin" plugin in IDEA will help |
+1 We're having this issue over at Google as well. |
Same issue, still relevant in Intellij 2023.2.1 |
When importing/syncing a build in IDEA. all tasks are realized. This means that if one is using the configuration avoidance constructs to avoid expensive configuration (e.g. IO) unless the task is needed, this slows down the IDE sync. This reduces the “reliability” of configuration avoidance for avoiding expensive configuration.
Ideally, IDE sync wouldn't need to realise all of the tasks and the existing constructs would just work. Failing that, more targeted constructs may be necessary, or falling back to existing informal constructs such as configuration tasks or taskGraph.whenReady deferrals.
The text was updated successfully, but these errors were encountered: