Example usage for org.apache.maven.project ProjectUtils buildArtifactRepository

List of usage examples for org.apache.maven.project ProjectUtils buildArtifactRepository

Introduction

In this page you can find the example usage for org.apache.maven.project ProjectUtils buildArtifactRepository.

Prototype

public static ArtifactRepository buildArtifactRepository(Repository repo,
            ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c)
            throws InvalidRepositoryException 

Source Link

Usage

From source file:org.eclipse.che.maven.server.MavenServerImpl.java

License:Open Source License

@Override
public MavenArtifact resolveArtifact(MavenArtifactKey artifactKey, List<MavenRemoteRepository> repositories)
        throws RemoteException {
    Artifact artifact = getMavenComponent(ArtifactFactory.class).createArtifactWithClassifier(
            artifactKey.getGroupId(), artifactKey.getArtifactId(), artifactKey.getVersion(),
            artifactKey.getPackaging(), artifactKey.getClassifier());

    List<ArtifactRepository> repos = new ArrayList<>();
    ArtifactRepositoryFactory factory = getMavenComponent(ArtifactRepositoryFactory.class);
    for (MavenRemoteRepository repository : repositories) {
        try {//  w w  w  .j a va 2  s  .  c om
            ArtifactRepository artifactRepository = ProjectUtils.buildArtifactRepository(
                    MavenModelUtil.convertToMavenRepository(repository), factory, container);
            repos.add(artifactRepository);
        } catch (InvalidRepositoryException e) {
            MavenServerContext.getLogger().error(e);
        }

    }

    MavenExecutionRequest request = newMavenRequest(null, Collections.emptyList(), Collections.emptyList(),
            Collections.emptyList());
    repos.forEach(request::addRemoteRepository);

    DefaultMaven maven = (DefaultMaven) getMavenComponent(Maven.class);
    RepositorySystemSession repositorySystemSession = maven.newRepositorySession(request);

    org.eclipse.aether.impl.ArtifactResolver artifactResolver = getMavenComponent(
            org.eclipse.aether.impl.ArtifactResolver.class);
    InternalLoggerFactory loggerFactory = new InternalLoggerFactory();
    if (artifactResolver instanceof DefaultArtifactResolver) {
        ((DefaultArtifactResolver) artifactResolver).setLoggerFactory(loggerFactory);
    }

    org.eclipse.aether.RepositorySystem repositorySystem = getMavenComponent(
            org.eclipse.aether.RepositorySystem.class);
    if (repositorySystem instanceof DefaultRepositorySystem) {
        ((DefaultRepositorySystem) repositorySystem).setLoggerFactory(loggerFactory);
    }

    List<RemoteRepository> remoteRepositories = RepositoryUtils.toRepos(request.getRemoteRepositories());
    remoteRepositories = repositorySystem.newResolutionRepositories(repositorySystemSession,
            remoteRepositories);

    try {
        ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession,
                new ArtifactRequest(RepositoryUtils.toArtifact(artifact), remoteRepositories, null));
        return MavenModelUtil.convertArtifact(RepositoryUtils.toArtifact(artifactResult.getArtifact()),
                localRepository);
    } catch (ArtifactResolutionException e) {
        MavenServerContext.getLogger().info(e);
    }
    return MavenModelUtil.convertArtifact(artifact, localRepository);
}

From source file:org.jetbrains.idea.maven.server.embedder.Maven2ServerEmbedderImpl.java

License:Apache License

private List<ArtifactRepository> convertRepositories(List<MavenRemoteRepository> repositories)
        throws RemoteException {
    List<ArtifactRepository> result = new ArrayList<ArtifactRepository>();
    for (MavenRemoteRepository each : repositories) {
        try {//from   www  .jav  a  2  s . c o m
            ArtifactRepositoryFactory factory = getComponent(ArtifactRepositoryFactory.class);
            result.add(ProjectUtils.buildArtifactRepository(Maven2ModelConverter.toNativeRepository(each),
                    factory, getContainer()));
        } catch (InvalidRepositoryException e) {
            Maven2ServerGlobals.getLogger().warn(e);
        }
    }
    return result;
}

From source file:org.jetbrains.idea.maven.server.Maven30ServerEmbedderImpl.java

License:Apache License

@Nonnull
protected List<ArtifactRepository> convertRepositories(List<MavenRemoteRepository> repositories)
        throws RemoteException {
    List<ArtifactRepository> result = new ArrayList<ArtifactRepository>();
    for (MavenRemoteRepository each : repositories) {
        try {/*from ww  w. j  a  v a2  s .c o  m*/
            ArtifactRepositoryFactory factory = getComponent(ArtifactRepositoryFactory.class);
            result.add(ProjectUtils.buildArtifactRepository(MavenModelConverter.toNativeRepository(each),
                    factory, myContainer));
        } catch (InvalidRepositoryException e) {
            Maven3ServerGlobals.getLogger().warn(e);
        }
    }
    return result;
}

From source file:org.nuxeo.build.maven.EmbeddedMavenClient.java

License:Open Source License

public void addRemoteRepository(Repository repo) {
    try {/* w  w  w.  java 2 s . c  o  m*/
        ArtifactRepository arepo = ProjectUtils.buildArtifactRepository(repo, artifactRepositoryFactory,
                getPlexusEmbedder().getContainer());
        getRemoteRepositories().add(arepo);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.nuxeo.build.maven.EmbeddedMavenClient.java

License:Open Source License

public List<ArtifactRepository> buildRepositoriesFromProfiles() throws Exception {
    ArrayList<ArtifactRepository> repos = new ArrayList<ArtifactRepository>();
    List<Profile> profiles = getProfileManager().getActiveProfiles();
    for (Profile profile : profiles) {
        List<Repository> prepos = profile.getRepositories();
        for (Repository mavenRepo : prepos) {
            ArtifactRepository artifactRepo = null;
            try {
                artifactRepo = ProjectUtils.buildArtifactRepository(mavenRepo, artifactRepositoryFactory,
                        getPlexusEmbedder().getContainer());
            } catch (InvalidRepositoryException e) {
                throw new Exception("Failed to build profile repositories", e);
            }/*from  ww w  .  j a va  2  s  . c  o  m*/
            repos.add(artifactRepo);
        }
    }
    return repos;
}

From source file:org.nuxeo.build.maven.EmbeddedMavenClient.java

License:Open Source License

public List<ArtifactRepository> buildArtifactRepositories(Model model) throws Exception {
    ArrayList<ArtifactRepository> repos = new ArrayList<ArtifactRepository>();
    List<Repository> mavenRepos = model.getRepositories();
    for (Repository mavenRepo : mavenRepos) {
        ArtifactRepository artifactRepo = null;
        try {/*from   w  ww.  j a  v  a 2 s.c  o m*/
            artifactRepo = ProjectUtils.buildArtifactRepository(mavenRepo, artifactRepositoryFactory,
                    getPlexusEmbedder().getContainer());
        } catch (InvalidRepositoryException e) {
            throw new Exception("Failed to build profile repositories", e);
        }
        repos.add(artifactRepo);
    }
    return repos;
}