Allow injection of logger in AbstractAzBlobStore and AbstractFileStore
Introduce getAllLatest to harvest stores, AzHarvestBlobStore and FileHarvestStore, to retrieve the latest versions of harvest tool results. It will fall back to getAll results in case any error in calculating the latest files. Use getAllLatest in definition computation.
Add an integration test to ensure that the definition computed using the latest harvest results are the same as the definition computed using all the harvest results.
Add unit tests
Timing of computing definition for npm/npmjs/-/debug/3.1.0:
before optimization: retrieve blob: 3.2 sec (without 2.9.0+b1), calculating summary: 0.004 sec, curation: 1.2 sec
after optimization: retrieve blob: 1.3 sec, calculating summary: 0.02 sec, curation: 1.2 sec
Timing of computing definition for npm/npmjs/-/debug/3.1.0: before optimization: retrieve blob: 3.2 sec (without 2.9.0+b1), calculating summary: 0.004 sec, curation: 1.2 sec after optimization: retrieve blob: 1.3 sec, calculating summary: 0.02 sec, curation: 1.2 sec
Task: https://github.com/clearlydefined/service/issues/1237