Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Sha1 checksum to ResolvedArtifacts #1979

Merged
merged 9 commits into from
Sep 15, 2023

Conversation

hpmellema
Copy link
Contributor

Description of changes:

Re-adds functionality removed in #1978.

Updates from previous version

This updated version pulls the sha1 checksum from the .sha1 files in the maven cache rather than computing the sha for each artifact. If a .sha1 checksum file can't be found then the sha1 checksum is computed using the Checksum algorithm provided by the maven resolver.

Overview

As in #1978, the sha is saved to the cache file as a property of the resolved artifact.
Example of the new cache file:

{"version":"1.0","artifacts":{"software.amazon.smithy:smithy-aws-traits:1.37.0":{"path":"/Users/hpm/.m2/repository/software/amazon/smithy/smithy-aws-traits/1.37.0/smithy-aws-traits-1.37.0.jar","sha1":"723b00f4473c0f3f308b57b2c95b32fad669904c68d8e287606304d841cd52ff"}}}

This sha1 checksum will be used to validate artifacts against locked dependencies as part of implementing lock files for the smithy cli.

A version is also added to the cache file to allow the CLI to invalidate and re-write cache file versions that are not compatible with the current implementation used by the CLI.

Simple Benchmarking of dependency resolution time

For a smithy-build.json with 6 dependencies
Without Cache
Before - 94.25ms +- 1.9ms (1sigma, 15 runs)
After - 99.5ms +- 3.0ms (1sigma, 15 runs)

With Cache
Before - 36ms +- 1.1ms (1sigma, 15 runs)
After - 37ms +- 0.5ms (1sigma, 15 runs)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@hpmellema hpmellema requested a review from a team as a code owner September 15, 2023 13:16
@hpmellema hpmellema merged commit bcff612 into smithy-lang:main Sep 15, 2023
10 checks passed
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants