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

[IJ Plugin] Cache GraphQL project config #5952

Closed
BoD opened this issue Jun 7, 2024 · 2 comments
Closed

[IJ Plugin] Cache GraphQL project config #5952

BoD opened this issue Jun 7, 2024 · 2 comments
Assignees

Comments

@BoD
Copy link
Contributor

BoD commented Jun 7, 2024

In order to contribute the location of schemas/operations to the GraphQL plugin (the GraphQL project config), the Apollo plugin needs to fetch the Gradle tooling models from all Apollo modules of a project.

This can't be done all at once unfortunately, so is implemented by iterating over all modules and executing Gradle on each. On big projects, when there's a lot of modules, and/or on slow machines, this can take a long time (e.g. >10 minutes), and while this is ongoing, the GraphQL plugin will provide a degraded experience (missing references while editing files, etc.).

This information could be stored in the project, so when it is re-opened, it can be contributed right away.

In most project, we can expect that the project's structure doesn't change often, so this should provide a nice experience in most cases. Worst case, the cached configuration provided is out of date, and the GraphQL plugin will provide a degraded experience while the tooling models are being fetched - which is already the case in the current situation.

@BoD BoD self-assigned this Jun 7, 2024
@BoD
Copy link
Contributor Author

BoD commented Jun 7, 2024

Also, could there be a way to implement a dedicated Gradle task that can provide all this information in just 1 run?

Copy link
Contributor

Do you have any feedback for the maintainers? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo Kotlin usage and allow us to serve you better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants