/** * Sets collection of repositories. * * <p><b>Note: all existing repositories will be removed from model and xml as well</b> * * @param repositories new plugin repositories */ public Model setRepositories(Collection<? extends Repository> repositories) { // remove existing repositories for (Repository repository : repositories()) { repository.remove(); } // add repositories if necessary if (repositories != null && !repositories.isEmpty()) { for (Repository repository : repositories) { addRepository(repository); } } else { root.removeChild("repositories"); this.repositories = null; } return this; }
/** * Adds plugin repository * * @param repository new plugin repository */ public Model addRepository(Repository repository) { requireNonNull(repository, "Required not null repository"); repositories().add(repository); // add repository to xml if (root.hasSingleChild("repositories")) { root.getSingleChild("repositories").appendChild(repository.asXMLElement()); repository.element = root.getLastChild(); } else { root.insertChild( createElement("repositories", repository.asXMLElement()), beforeAnyOf("pluginRepositories", "build", "reporting", "profiles").or(inTheEnd())); repository.element = root.getSingleChild("repositories").getFirstChild(); } return this; }