private DigestItem resolveArtifact()

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);
    }