[x] Save the resolved build products for a given Package.resolved
[x] Skip checkout if no changes to Package.resolved & all build products cached
[x] Write tests to ensure skipping works even with future changes
Please note that the main goal of this implementation is to reduce build times on CI since that's where changes to code without changes to the dependencies happens all the time and this will further improve build times by preventing the entire dependency resolution process, just reusing the cached build products. But of course, developers will profit from the enhancement, too.
This fixes the most useful part of #43.
TODO:
Package.resolved
Package.resolved
& all build products cachedPlease note that the main goal of this implementation is to reduce build times on CI since that's where changes to code without changes to the dependencies happens all the time and this will further improve build times by preventing the entire dependency resolution process, just reusing the cached build products. But of course, developers will profit from the enhancement, too.