We also show an informative pop-up to users to kickstart the process if we detect they haven't generated the persisted data yet. This should only show up on existing Kobweb projects after the user installs the plugin. If the project is not related to Kobweb, or if it is a Kobweb project opened for the first time, it should not show up.
The Kobweb plugin lifecycle at this point is:
The Kobweb plugin looks for persisted data.
If it can't find it, it asks the user to sync.
A sync, when done, resolves kobweb models (as before). But now, those models are also now persisted.
After a restart, the Kobweb plugin will detect the persisted data and use it.
If the user ever does another Gradle sync, the persisted model data will automatically be updated.
There's also now logic which checks if the project has at least one Kobweb dependency. If not, we make sure we don't show users the pop-up. We also early abort before checking / putting stuff into the KobwebProject cache in that case, which should save memory and time for those projects.
We also show an informative pop-up to users to kickstart the process if we detect they haven't generated the persisted data yet. This should only show up on existing Kobweb projects after the user installs the plugin. If the project is not related to Kobweb, or if it is a Kobweb project opened for the first time, it should not show up.
The Kobweb plugin lifecycle at this point is:
There's also now logic which checks if the project has at least one Kobweb dependency. If not, we make sure we don't show users the pop-up. We also early abort before checking / putting stuff into the KobwebProject cache in that case, which should save memory and time for those projects.