static ArtifactRepository getDeploymentRepository()

in nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java [302:333]


    static ArtifactRepository getDeploymentRepository(String distBase, Map<String, ArtifactRepositoryLayout> layouts)
            throws MojoExecutionException, MojoFailureException {

        ArtifactRepository repo = null;

        if (distBase != null) {

            Matcher matcher = ALT_REPO_SYNTAX_PATTERN.matcher(distBase);

            if (!matcher.matches()) {
                if (!distBase.contains("::")) {
                    //backward compatibility gag.
                    return null;
                }
                throw new MojoFailureException(distBase,
                        "Invalid syntax for repository.",
                        "Invalid syntax for alternative repository. Use \"id::layout::url\".");
            } else {
                String id = matcher.group(1).trim();
                String layout = matcher.group(2).trim();
                String url = matcher.group(3).trim();

                ArtifactRepositoryLayout repoLayout = layouts.get(layout);
                if (repoLayout == null) {
                    throw new MojoExecutionException("Cannot find repository layout: " + layout);
                }

                repo = new DefaultArtifactRepository(id, url, repoLayout);
            }
        }
        return repo;
    }