Example usage for org.apache.maven.repository RepositorySystem buildArtifactRepository

List of usage examples for org.apache.maven.repository RepositorySystem buildArtifactRepository

Introduction

In this page you can find the example usage for org.apache.maven.repository RepositorySystem buildArtifactRepository.

Prototype

ArtifactRepository buildArtifactRepository(Repository repository) throws InvalidRepositoryException;

Source Link

Usage

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;
}