List of usage examples for org.apache.maven.repository RepositorySystem buildArtifactRepository
ArtifactRepository buildArtifactRepository(Repository repository) throws InvalidRepositoryException;
From source file:org.ebayopensource.turmeric.eclipse.mavenapi.impl.AbstractMavenApi.java
License:Open Source License
/** * Return the Maven remote repositories defined in the Maven settings.xml * file. The returned list of repositories depend on the pacakgeType. * // w w w. j a v a2 s . c o m * For <code>maven-plugin</code> package type, it will return * pluginRepositories, and all other types will return Mirrors and * Repositories. * * @param plexus the plexus * @param settings the settings.xml file to use * @param packagingType the pom packaging type to return. * @return the remote repositories defined in the Maven settings.xml file. * @throws MavenEclipseApiException the maven eclipse api exception */ protected List<ArtifactRepository> _getKnownRepositories(PlexusContainer plexus, Settings settings, String packagingType) throws MavenEclipseApiException { final boolean needPluginRepo = PACKAGING_TYPE_MAVENPLUGIN.equalsIgnoreCase(packagingType); if (settings == null) { throw new MavenEclipseApiException(Messages.ERROR_NULL_SETTINGS); } List<String> activeProfiles = (List<String>) settings.getActiveProfiles(); if (activeProfiles == null || activeProfiles.size() < 1) { throw new MavenEclipseApiException(Messages.ERROR_NO_ACTIVE_PROFILES); } List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>(8); try { // MavenTools mtools = (MavenTools) plexus // .lookup(org.apache.maven.MavenTools.class); RepositorySystem rs = plexus.lookup(RepositorySystem.class); if (needPluginRepo == false) { for (Mirror mirror : (List<Mirror>) settings.getMirrors()) { final org.apache.maven.model.Repository repo = new org.apache.maven.model.Repository(); repo.setId(mirror.getId()); // repo.setModelEncoding(mirror.getModelEncoding()); repo.setUrl(mirror.getUrl()); final RepositoryPolicy snapshotPolicty = new RepositoryPolicy(); snapshotPolicty.setEnabled(false); // snapshotPolicty.setModelEncoding(mirror.getModelEncoding()); repo.setSnapshots(snapshotPolicty); final RepositoryPolicy releasedPolicty = new RepositoryPolicy(); releasedPolicty.setEnabled(true); // releasedPolicty.setModelEncoding(mirror.getModelEncoding()); repo.setReleases(releasedPolicty); // repositories.add(mtools.buildArtifactRepository(repo)); repositories.add(rs.buildArtifactRepository(repo)); } } List<Profile> profiles = (List<Profile>) settings.getProfiles(); for (Profile p : profiles) { if (activeProfiles.contains(p.getId())) { org.apache.maven.model.Profile mp = SettingsUtils.convertFromSettingsProfile(p); if (needPluginRepo == true) { // requires plugin repositories final List<org.apache.maven.model.Repository> pluginRepos = mp.getPluginRepositories(); // repositories // .addAll((List<ArtifactRepository>) mtools // .buildArtifactRepositories(pluginRepos)); for (org.apache.maven.model.Repository repo : pluginRepos) { repositories.add(rs.buildArtifactRepository(repo)); } } else { final List<org.apache.maven.model.Repository> repos = mp.getRepositories(); // repositories // .addAll((List<ArtifactRepository>) mtools // .buildArtifactRepositories(repos)); for (org.apache.maven.model.Repository repo : repos) { repositories.add(rs.buildArtifactRepository(repo)); } } } } return repositories; } catch (Exception anyEx) { anyEx.printStackTrace(); throw new MavenEclipseApiException(anyEx); } }
From source file:org.eclipse.m2e.profiles.core.internal.management.ProfileManager.java
License:Open Source License
private List<ArtifactRepository> getProjectRepositories(Model projectModel) { List<ArtifactRepository> repos = new ArrayList<ArtifactRepository>(); List<Repository> modelRepos = projectModel.getRepositories(); if (modelRepos != null && !modelRepos.isEmpty()) { RepositorySystem repositorySystem = getRepositorySystem(); for (Repository modelRepo : modelRepos) { ArtifactRepository ar;//from ww w.j av a 2 s.c om try { ar = repositorySystem.buildArtifactRepository(modelRepo); if (ar != null) { repos.add(ar); } } catch (InvalidRepositoryException e) { MavenProfilesCoreActivator.log(e); } } } return repos; }