protected RemoteRepository prepareRemoteRepository()

in src/main/java/org/apache/maven/plugins/dependency/utils/ResolverUtil.java [151:194]


    protected RemoteRepository prepareRemoteRepository(String repository) {
        String[] items = Objects.requireNonNull(repository, "repository must be not null")
                .split("::");
        String id = "temp";
        String type = null;
        String url;
        switch (items.length) {
            case 3:
                id = items[0];
                type = items[1];
                url = items[2];
                break;
            case 2:
                id = items[0];
                url = items[1];
                break;
            case 1:
                url = items[0];
                break;
            default:
                throw new IllegalArgumentException("Invalid repository: " + repository);
        }

        if (type == null || type.isEmpty()) {
            type = "default";
        }

        MavenSession mavenSession = mavenSessionProvider.get();
        RepositorySystemSession repositorySession = mavenSession.getRepositorySession();

        String checksumPolicy = repositorySession.getChecksumPolicy();
        if (checksumPolicy == null) {
            checksumPolicy = RepositoryPolicy.CHECKSUM_POLICY_WARN;
        }
        String updatePolicy =
                mavenSession.getRequest().isUpdateSnapshots() ? RepositoryPolicy.UPDATE_POLICY_ALWAYS : null;
        RepositoryPolicy repositoryPolicy = new RepositoryPolicy(true, updatePolicy, checksumPolicy);

        RemoteRepository.Builder builder = new RemoteRepository.Builder(id, type, url);
        builder.setReleasePolicy(repositoryPolicy);
        builder.setSnapshotPolicy(repositoryPolicy);

        return builder.build();
    }