Example usage for org.apache.maven.execution MavenExecutionRequest addRemoteRepository

List of usage examples for org.apache.maven.execution MavenExecutionRequest addRemoteRepository

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenExecutionRequest addRemoteRepository.

Prototype

MavenExecutionRequest addRemoteRepository(ArtifactRepository repository);

Source Link

Usage

From source file:org.appformer.maven.integration.embedder.MavenEmbedder.java

License:Apache License

protected MavenExecutionRequest buildMavenExecutionRequest(MavenRequest mavenRequest)
        throws MavenEmbedderException, ComponentLookupException {
    MavenExecutionRequest mavenExecutionRequest = new DefaultMavenExecutionRequest();

    if (mavenRequest.getGlobalSettingsFile() != null) {
        mavenExecutionRequest.setGlobalSettingsFile(new File(mavenRequest.getGlobalSettingsFile()));
    }/*from   w ww. j  a  v a  2 s .co m*/

    SettingsSource userSettings = mavenRequest.getUserSettingsSource();
    if (userSettings != null) {
        if (userSettings instanceof FileSettingsSource) {
            mavenExecutionRequest.setUserSettingsFile(((FileSettingsSource) userSettings).getSettingsFile());
        } else {
            try {
                mavenExecutionRequest.setUserSettingsFile(copyInTempFile(userSettings.getInputStream(), "xml"));
            } catch (IOException ioe) {
                log.warn("Unable to use maven settings defined in " + userSettings, ioe);
            }
        }
    }

    try {
        componentProvider.lookup(MavenExecutionRequestPopulator.class)
                .populateFromSettings(mavenExecutionRequest, getSettings());
        componentProvider.lookup(MavenExecutionRequestPopulator.class).populateDefaults(mavenExecutionRequest);
    } catch (MavenExecutionRequestPopulationException e) {
        throw new MavenEmbedderException(e.getMessage(), e);
    }

    ArtifactRepository localRepository = getLocalRepository();
    mavenExecutionRequest.setLocalRepository(localRepository);
    mavenExecutionRequest.setLocalRepositoryPath(localRepository.getBasedir());
    mavenExecutionRequest.setOffline(mavenRequest.isOffline());

    mavenExecutionRequest.setUpdateSnapshots(mavenRequest.isUpdateSnapshots());

    // TODO check null and create a console one ?
    mavenExecutionRequest.setTransferListener(mavenRequest.getTransferListener());

    mavenExecutionRequest.setCacheNotFound(mavenRequest.isCacheNotFound());
    mavenExecutionRequest.setCacheTransferError(true);

    mavenExecutionRequest.setUserProperties(mavenRequest.getUserProperties());
    mavenExecutionRequest.getSystemProperties().putAll(System.getProperties());
    if (mavenRequest.getSystemProperties() != null) {
        mavenExecutionRequest.getSystemProperties().putAll(mavenRequest.getSystemProperties());
    }
    mavenExecutionRequest.getSystemProperties().putAll(getEnvVars());

    if (mavenRequest.getProfiles() != null && !mavenRequest.getProfiles().isEmpty()) {
        for (String id : mavenRequest.getProfiles()) {
            Profile p = new Profile();
            p.setId(id);
            p.setSource("cli");
            mavenExecutionRequest.addProfile(p);
            mavenExecutionRequest.addActiveProfile(id);
        }
    }

    MavenRepositoryConfiguration mavenRepoConf = getMavenRepositoryConfiguration();

    //DROOLS-899: Copy repositories defined in settings to execution request
    for (ArtifactRepository artifactRepository : mavenRepoConf.getArtifactRepositoriesForRequest()) {
        mavenExecutionRequest.addRemoteRepository(artifactRepository);
    }

    mavenExecutionRequest.setProxies(mavenRepoConf.getProxies());

    mavenExecutionRequest.setLoggingLevel(mavenRequest.getLoggingLevel());

    componentProvider.lookup(Logger.class).setThreshold(mavenRequest.getLoggingLevel());

    mavenExecutionRequest.setExecutionListener(mavenRequest.getExecutionListener())
            .setInteractiveMode(mavenRequest.isInteractive())
            .setGlobalChecksumPolicy(mavenRequest.getGlobalChecksumPolicy()).setGoals(mavenRequest.getGoals());

    if (mavenRequest.getPom() != null) {
        mavenExecutionRequest.setPom(new File(mavenRequest.getPom()));
    }

    if (mavenRequest.getWorkspaceReader() != null) {
        mavenExecutionRequest.setWorkspaceReader(mavenRequest.getWorkspaceReader());
    }

    return mavenExecutionRequest;
}

From source file:org.jboss.tools.maven.ui.Activator.java

License:Open Source License

@SuppressWarnings("restriction")
public String getDependencyVersion(Artifact artifact, List<ArtifactRepository> remoteRepos, String gid,
        String aid) {// w  ww .j  av  a 2s.  co  m
    IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getMavenProject(artifact.getGroupId(),
            artifact.getArtifactId(), artifact.getVersion());
    //If the artifact is a workspace dependency, the mavenProject is already loaded
    if (facade != null) {
        return getDependencyVersion(facade.getMavenProject(), gid, aid);
    }

    //look at the artifact pom file and if it exists, load the corresponding MavenProject
    File pom = getPomFile(artifact);
    String version = null;
    if (pom != null) {
        MavenProject mavenProject = null;
        MavenImpl maven = (MavenImpl) MavenPlugin.getMaven();
        try {
            //Create a custom execution request
            IProgressMonitor monitor = new NullProgressMonitor();
            MavenExecutionRequest request = maven.createExecutionRequest(monitor);
            for (ArtifactRepository repo : remoteRepos) {
                request.addRemoteRepository(repo);
            }
            request.setPom(pom);
            request.getProjectBuildingRequest().setResolveDependencies(true);

            //Load the MavenProject
            MavenExecutionResult result = maven.readProject(request, monitor);
            //log errors
            if (result.hasExceptions()) {
                for (Throwable e : result.getExceptions()) {
                    log(e);
                }
            } else {
                mavenProject = result.getProject();
                if (mavenProject != null) {
                    //finally look at the dependency version
                    version = getDependencyVersion(mavenProject, gid, aid);
                    //Detach the mavenProject from the maven session to avoid memory leaks
                    maven.detachFromSession(mavenProject);
                }
            }
        } catch (CoreException e) {
            //Don't crash on failures to read the dependency version
            log(e);
        }
    }
    return version;
}

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

License:Apache License

private Artifact resolve(@Nonnull final Artifact artifact, @Nonnull final List<ArtifactRepository> repos)
        throws ArtifactResolutionException, ArtifactNotFoundException, RemoteException,
        org.eclipse.aether.resolution.ArtifactResolutionException {

    final String mavenVersion = getMavenVersion();
    // org.eclipse.aether.RepositorySystem.newResolutionRepositories() method doesn't exist in aether-api-0.9.0.M2.jar used before maven 3.2.5
    // see https://youtrack.jetbrains.com/issue/IDEA-140208 for details
    if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING
            || MavenStringUtil.compareVersionNumbers(mavenVersion, "3.2.5") < 0) {
        MavenExecutionRequest request = new DefaultMavenExecutionRequest();
        request.setRemoteRepositories(repos);
        try {/*from w  w w.jav a 2 s  .c o m*/
            getComponent(MavenExecutionRequestPopulator.class).populateFromSettings(request, myMavenSettings);
            getComponent(MavenExecutionRequestPopulator.class).populateDefaults(request);
        } catch (MavenExecutionRequestPopulationException e) {
            throw new RuntimeException(e);
        }

        getComponent(ArtifactResolver.class).resolve(artifact, request.getRemoteRepositories(),
                myLocalRepository);
        return artifact;
    } else {
        final MavenExecutionRequest request = createRequest(null, Collections.<String>emptyList(),
                Collections.<String>emptyList(), Collections.<String>emptyList());
        for (ArtifactRepository artifactRepository : repos) {
            request.addRemoteRepository(artifactRepository);
        }

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

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

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

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

        final ArtifactResult artifactResult = repositorySystem.resolveArtifact(repositorySystemSession,
                new ArtifactRequest(RepositoryUtils.toArtifact(artifact), repositories, null));

        return RepositoryUtils.toArtifact(artifactResult.getArtifact());
    }
}

From source file:org.kie.workbench.common.services.backend.compiler.external339.AFConfigurationProcessor.java

License:Apache License

private MavenExecutionRequest populateFromSettings(MavenExecutionRequest request, Settings settings)
        throws MavenExecutionRequestPopulationException {
    if (settings == null) {
        return request;
    } else {/*from  w w w  . jav  a  2 s  .  c  o  m*/
        request.setOffline(settings.isOffline());
        request.setInteractiveMode(settings.isInteractiveMode());
        request.setPluginGroups(settings.getPluginGroups());
        request.setLocalRepositoryPath(settings.getLocalRepository());
        Iterator i$ = settings.getServers().iterator();

        while (i$.hasNext()) {
            Server server = (Server) i$.next();
            server = server.clone();
            request.addServer(server);
        }

        i$ = settings.getProxies().iterator();

        while (i$.hasNext()) {
            Proxy proxy = (Proxy) i$.next();
            if (proxy.isActive()) {
                proxy = proxy.clone();
                request.addProxy(proxy);
            }
        }

        i$ = settings.getMirrors().iterator();

        while (i$.hasNext()) {
            Mirror mirror = (Mirror) i$.next();
            mirror = mirror.clone();
            request.addMirror(mirror);
        }

        request.setActiveProfiles(settings.getActiveProfiles());
        i$ = settings.getProfiles().iterator();

        while (true) {
            Profile rawProfile;
            do {
                if (!i$.hasNext()) {
                    return request;
                }

                rawProfile = (Profile) i$.next();
                request.addProfile(SettingsUtils.convertFromSettingsProfile(rawProfile));
            } while (!settings.getActiveProfiles().contains(rawProfile.getId()));

            List<Repository> remoteRepositories = rawProfile.getRepositories();
            Iterator i$2 = remoteRepositories.iterator();

            while (i$2.hasNext()) {
                Repository remoteRepository = (Repository) i$.next();

                try {
                    request.addRemoteRepository(
                            MavenRepositorySystem.buildArtifactRepository(remoteRepository));
                } catch (InvalidRepositoryException var10) {
                    logger.error(var10.getMessage());
                }
            }

            List<Repository> pluginRepositories = rawProfile.getPluginRepositories();
            Iterator i$3 = pluginRepositories.iterator();

            while (i$3.hasNext()) {
                Repository pluginRepository = (Repository) i$.next();

                try {
                    request.addPluginArtifactRepository(
                            MavenRepositorySystem.buildArtifactRepository(pluginRepository));
                } catch (InvalidRepositoryException var11) {
                    logger.error(var11.getMessage());
                }
            }
        }
    }
}

From source file:org.kie.workbench.common.services.backend.compiler.external339.AFSettingsXmlConfigurationProcessor.java

License:Apache License

private MavenExecutionRequest populateFromSettings(MavenExecutionRequest request, Settings settings)
        throws MavenExecutionRequestPopulationException {
    if (settings == null) {
        return request;
    }/* w ww .j  a  va 2 s.c  om*/

    request.setOffline(settings.isOffline());

    request.setInteractiveMode(settings.isInteractiveMode());

    request.setPluginGroups(settings.getPluginGroups());

    request.setLocalRepositoryPath(settings.getLocalRepository());

    for (Server server : settings.getServers()) {
        server = server.clone();

        request.addServer(server);
    }

    //  <proxies>
    //    <proxy>
    //      <active>true</active>
    //      <protocol>http</protocol>
    //      <host>proxy.somewhere.com</host>
    //      <port>8080</port>
    //      <username>proxyuser</username>
    //      <password>somepassword</password>
    //      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
    //    </proxy>
    //  </proxies>

    for (Proxy proxy : settings.getProxies()) {
        if (!proxy.isActive()) {
            continue;
        }

        proxy = proxy.clone();

        request.addProxy(proxy);
    }

    // <mirrors>
    //   <mirror>
    //     <id>nexus</id>
    //     <mirrorOf>*</mirrorOf>
    //     <url>http://repository.sonatype.org/content/groups/public</url>
    //   </mirror>
    // </mirrors>

    for (Mirror mirror : settings.getMirrors()) {
        mirror = mirror.clone();

        request.addMirror(mirror);
    }

    request.setActiveProfiles(settings.getActiveProfiles());

    for (org.apache.maven.settings.Profile rawProfile : settings.getProfiles()) {
        request.addProfile(SettingsUtils.convertFromSettingsProfile(rawProfile));

        if (settings.getActiveProfiles().contains(rawProfile.getId())) {
            List<Repository> remoteRepositories = rawProfile.getRepositories();
            for (Repository remoteRepository : remoteRepositories) {
                try {
                    request.addRemoteRepository(
                            MavenRepositorySystem.buildArtifactRepository(remoteRepository));
                } catch (InvalidRepositoryException e) {
                    // do nothing for now
                }
            }

            List<Repository> pluginRepositories = rawProfile.getPluginRepositories();
            for (Repository pluginRepository : pluginRepositories) {
                try {
                    request.addPluginArtifactRepository(
                            MavenRepositorySystem.buildArtifactRepository(pluginRepository));
                } catch (InvalidRepositoryException e) {
                    // do nothing for now
                }
            }
        }
    }
    return request;
}