As the number of packages and versions of those packages is constantly increasing (which is normal), notably because of the studio ones, it could be interesting to re-think the way we fetch and resolve the dependencies of a package in the P2CUDFDependencyResolver.
For now, we fetch all the available addons, hotfix and studio packages in order to :
- define if a package is available or not
- find all the versions of a given package
Even when the cache is used correctly (which is not the case during hot reload), it's not very efficient.
Some solutions could be :
- To use a Connect API to retrieve all the versions of a given package (and thus ensure it exists)
- To flush the cache only when needed. For example, Connect could have a dedicated "isFluchCacheNeeded/[targetPlatform]" API which would send true only if a package/studio project was added/removed since the last request of a given caller