IKVM adds more than 1 GB of NuGet dependencies and has a big impact on the length of a build. So, we should add some caching so the build server only needs to download NuGet packages if they change.
This was done on Azure Pipelines a long time ago
It was removed in e017bda
It was added in d484b33
However, the cache key wasn't set up to read all *.props, *.targets, and *.csproj files, so when we updated version numbers of packages, it broke the build on the server. Also, I couldn't figure out how to invalidate the cache once the key was corrected, so it was simpler just to remove the caching at the time. But now that it will have a more significant impact on performance, this should be added again.
The caching change should also be propagated to ICU4N, J2N, RandomizedTesting, Spatial4n, and Morfologik.Stemming build pipelines.
IKVM adds more than 1 GB of NuGet dependencies and has a big impact on the length of a build. So, we should add some caching so the build server only needs to download NuGet packages if they change.
This was done on Azure Pipelines a long time ago
It was removed in e017bda
It was added in d484b33
However, the cache key wasn't set up to read all
*.props,*.targets, and*.csprojfiles, so when we updated version numbers of packages, it broke the build on the server. Also, I couldn't figure out how to invalidate the cache once the key was corrected, so it was simpler just to remove the caching at the time. But now that it will have a more significant impact on performance, this should be added again.The caching change should also be propagated to ICU4N, J2N, RandomizedTesting, Spatial4n, and Morfologik.Stemming build pipelines.