private SortedMap getMutableDependencies()

in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [645:681]


    private SortedMap<String, String> getMutableDependencies() throws IOException {
        SortedMap<String, String> result = new TreeMap<>();

        for (Dependency dependency : project.getDependencies()) {

            if (CacheUtils.isPom(dependency)) {
                // POM dependency will be resolved by maven system to actual dependencies
                // and will contribute to effective pom.
                // Effective result will be recorded by #getNormalizedPom
                // so pom dependencies must be skipped as meaningless by themselves
                continue;
            }

            // saved to index by the end of dependency build
            MavenProject dependencyProject = multiModuleSupport
                    .tryToResolveProject(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion())
                    .orElse(null);
            boolean isSnapshot = isSnapshot(dependency.getVersion());
            if (dependencyProject == null && !isSnapshot) {
                // external immutable dependency, should skip
                continue;
            }
            String projectHash;
            if (dependencyProject != null) // part of multi module
            {
                projectHash =
                        projectInputCalculator.calculateInput(dependencyProject).getChecksum();
            } else // this is a snapshot dependency
            {
                DigestItem resolved = resolveArtifact(repoSystem.createDependencyArtifact(dependency), false);
                projectHash = resolved.getHash();
            }
            result.put(
                    KeyUtils.getVersionlessArtifactKey(repoSystem.createDependencyArtifact(dependency)), projectHash);
        }
        return result;
    }