in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [813:850]
private DigestItem resolveArtifact(final Dependency dependency)
throws IOException, ArtifactResolutionException, InvalidVersionSpecificationException {
org.eclipse.aether.artifact.Artifact dependencyArtifact = new org.eclipse.aether.artifact.DefaultArtifact(
dependency.getGroupId(),
dependency.getArtifactId(),
dependency.getClassifier(),
null,
dependency.getVersion(),
new DefaultArtifactType(dependency.getType()));
ArtifactRequest artifactRequest = new ArtifactRequest().setArtifact(dependencyArtifact);
ArtifactResult result = repoSystem.resolveArtifact(session.getRepositorySession(), artifactRequest);
if (!result.isResolved()) {
throw new DependencyNotResolvedException("Cannot resolve in-project dependency: " + dependencyArtifact);
}
if (result.isMissing()) {
throw new DependencyNotResolvedException("Cannot resolve missing artifact: " + dependencyArtifact);
}
org.eclipse.aether.artifact.Artifact resolved = result.getArtifact();
Artifact artifact = createArtifact(
resolved.getGroupId(),
resolved.getArtifactId(),
VersionRange.createFromVersionSpec(resolved.getVersion()),
dependency.getType(),
resolved.getClassifier(),
dependency.getType(),
dependency.getScope(),
false);
final HashAlgorithm algorithm = config.getHashFactory().createAlgorithm();
final String hash = algorithm.hash(resolved.getFile().toPath());
return DtoUtils.createDigestedFile(artifact, hash);
}