Example usage for org.apache.maven.project MavenProject getPluginArtifactRepositories

List of usage examples for org.apache.maven.project MavenProject getPluginArtifactRepositories

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getPluginArtifactRepositories.

Prototype

public List<ArtifactRepository> getPluginArtifactRepositories() 

Source Link

Usage

From source file:com.google.gdt.eclipse.maven.e35.configurators.GoogleProjectConfigurator.java

License:Open Source License

@Override
protected void doConfigure(final MavenProject mavenProject, IProject project,
        ProjectConfigurationRequest request, final IProgressMonitor monitor) throws CoreException {

    final IMaven maven = MavenPlugin.getDefault().getMaven();

    boolean configureGaeNatureSuccess = configureNature(project, mavenProject, GaeNature.NATURE_ID, true,
            new NatureCallbackAdapter() {

                @Override//from ww w.java 2 s.c o m
                public void beforeAddingNature() {
                    try {
                        DefaultMavenExecutionRequest executionRequest = new DefaultMavenExecutionRequest();
                        executionRequest.setBaseDirectory(mavenProject.getBasedir());
                        executionRequest.setLocalRepository(maven.getLocalRepository());
                        executionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories());
                        executionRequest
                                .setPluginArtifactRepositories(mavenProject.getPluginArtifactRepositories());
                        executionRequest.setPom(mavenProject.getFile());
                        executionRequest.setGoals(GAE_UNPACK_GOAL);

                        MavenExecutionResult result = maven.execute(executionRequest, monitor);
                        if (result.hasExceptions()) {
                            Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                                    "Error configuring project", result.getExceptions().get(0)));
                        }
                    } catch (CoreException e) {
                        Activator.getDefault().getLog().log(
                                new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", e));
                    }
                }
            }, monitor);

    boolean configureGWTNatureSuccess = configureNature(project, mavenProject, GWTNature.NATURE_ID, true,
            new NatureCallbackAdapter() {

                @Override
                public void beforeAddingNature() {

                    // Get the GWT version from the project pom
                    String gwtVersion = null;
                    List<Dependency> dependencies = mavenProject.getDependencies();
                    for (Dependency dependency : dependencies) {
                        if (GWTMavenRuntime.MAVEN_GWT_GROUP_ID.equals(dependency.getGroupId())
                                && (GWTMavenRuntime.MAVEN_GWT_USER_ARTIFACT_ID
                                        .equals(dependency.getArtifactId())
                                        || GWTMavenRuntime.MAVEN_GWT_SERVLET_ARTIFACT_ID
                                                .equals(dependency.getArtifactId()))) {
                            gwtVersion = dependency.getVersion();
                            break;
                        }
                    }

                    // Check that the pom.xml has GWT dependencies
                    if (!StringUtilities.isEmpty(gwtVersion)) {
                        try {
                            /*
                             * Download and install the gwt-dev.jar into the local
                             * repository.
                             */
                            maven.resolve(GWTMavenRuntime.MAVEN_GWT_GROUP_ID,
                                    GWTMavenRuntime.MAVEN_GWT_DEV_JAR_ARTIFACT_ID, gwtVersion, "jar", null,
                                    mavenProject.getRemoteArtifactRepositories(), monitor);
                        } catch (CoreException e) {
                            Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                                    "Error configuring project", e));
                        }
                    }
                }
            }, monitor);

    if (configureGWTNatureSuccess || configureGaeNatureSuccess) {
        try {
            // Add GWT Web Application configuration parameters
            WebAppProjectProperties.setWarSrcDir(project, new Path("src/main/webapp"));
            WebAppProjectProperties.setWarSrcDirIsOutput(project, false);

            String artifactId = mavenProject.getArtifactId();
            String version = mavenProject.getVersion();
            IPath location = (project.getRawLocation() != null ? project.getRawLocation()
                    : project.getLocation());
            if (location != null && artifactId != null && version != null) {
                WebAppProjectProperties.setLastUsedWarOutLocation(project,
                        location.append("target").append(artifactId + "-" + version));
            }
        } catch (BackingStoreException be) {
            Activator.getDefault().getLog()
                    .log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error configuring project", be));
        }
    }
}

From source file:com.microfocus.plugins.attribution.datamodel.services.impl.DependenciesServiceImpl.java

@Override
public List<ProjectDependency> getProjectDependencies(MavenProject project, Settings settings,
        ArtifactRepository localRepository, DependencyOverride[] dependencyOverrides) {
    List<ProjectDependency> projectDependencies = new ArrayList<ProjectDependency>();
    Map<String, DependencyOverride> projectDependencyOverrides = new HashMap<String, DependencyOverride>();

    if (dependencyOverrides != null) {
        for (DependencyOverride dependencyOverride : dependencyOverrides) {
            projectDependencyOverrides.put(dependencyOverride.getForDependency(), dependencyOverride);
        }//from   www .  j  av  a2  s  .  co  m
    }

    RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory,
            resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(),
            localRepository, repositoryMetadataManager);
    DependencyNode dependencyNode = resolveProject(project);
    Dependencies dependencies = new Dependencies(project, dependencyNode, classesAnalyzer);

    try {
        List<Artifact> alldeps = dependencies.getAllDependencies();

        if (log.isInfoEnabled()) {
            System.out.print("[INFO] Reading dependency information from available repositories.");
        }

        for (Artifact artifact : alldeps) {
            MavenProject pluginProject = mavenProjectBuilder.buildFromRepository(artifact,
                    project.getRemoteArtifactRepositories(), localRepository);
            MavenProject artifactProject = repoUtils.getMavenProjectFromRepository(artifact);

            String projectUrl = pluginProject.getUrl();
            List<ProjectDependencyLicense> licenses = DependencyUtils
                    .toProjectLicenses(artifactProject.getLicenses());
            List<String> downloadUrls = new ArrayList<String>();

            for (ArtifactRepository artifactRepository : artifactProject.getRemoteArtifactRepositories()) {
                String downloadUrl = repoUtils.getDependencyUrlFromRepository(artifact, artifactRepository);
                if (dependencyExistsInRepo(repoUtils, artifactRepository, artifact)) {
                    downloadUrls.add(downloadUrl);
                }

                if (log.isInfoEnabled()) {
                    System.out.print('.');
                }
            }

            DependencyOverride dependencyOverride = projectDependencyOverrides
                    .get(artifact.getGroupId() + ":" + artifact.getArtifactId());
            if (dependencyOverride != null) {
                if (StringUtils.isNotBlank(dependencyOverride.getProjectUrl())) {
                    projectUrl = dependencyOverride.getProjectUrl();
                }

                if (StringUtils.isNotBlank(dependencyOverride.getDownloadUrl())) {
                    downloadUrls = Arrays.asList(dependencyOverride.getDownloadUrl());
                }

                if (dependencyOverride.getLicense() != null) {
                    licenses = Arrays.asList(dependencyOverride.getLicense());
                }
            }

            String name = StringUtils.defaultIfBlank(artifactProject.getName(), artifact.getArtifactId());

            ProjectDependency dependency = new ProjectDependency();
            dependency.setGroupId(artifact.getGroupId());
            dependency.setArtifactId(artifact.getArtifactId());
            dependency.setVersion(artifact.getVersion());
            dependency.setProjectUrl(projectUrl);
            dependency.setType(artifact.getType());
            dependency.setLicenses(licenses);
            dependency.setName(name);
            dependency.setDownloadUrls(downloadUrls);

            projectDependencies.add(dependency);
        }

        System.out.println(); // End with a carriage return, so normal logging can continue
    } catch (ProjectBuildingException e) {
        throw new DataModelException("An error occurred building the list of project dependencies.", e);
    }

    Collections.sort(projectDependencies, byName());

    return projectDependencies;
}

From source file:com.tenderowls.opensource.haxemojos.components.NativeBootstrap.java

License:Apache License

public void initialize(MavenProject project, ArtifactRepository localRepository) throws Exception {
    this.project = project;
    this.localRepository = localRepository;

    Map<String, Plugin> pluginMap = project.getBuild().getPluginsAsMap();
    Plugin plugin = pluginMap.get("com.tenderowls.opensource:haxemojos-maven-plugin");
    Artifact pluginArtifact = resolveArtifact(repositorySystem.createPluginArtifact(plugin),
            project.getPluginArtifactRepositories());
    String pluginHomeName = plugin.getArtifactId() + "-" + plugin.getVersion();
    File pluginHome = new File(pluginArtifact.getFile().getParentFile(), pluginHomeName);

    if (!pluginHome.exists())
        pluginHome.mkdirs();//  w w  w.j a  va2s . co  m

    initializePrograms(pluginHome, plugin.getDependencies());
    initializeHaxelib(pluginHome);
}

From source file:net.sf.buildbox.maven.contentcheck.LicenseShowMojo.java

License:Open Source License

private List<MavenProject> getMavenProjectForDependencies()
        throws MojoExecutionException, MojoFailureException {
    DependencyNode dependencyTreeNode = resolveProject();
    MavenProject project = getMavenProject();
    Dependencies dependencies = new Dependencies(project, dependencyTreeNode, classesAnalyzer);
    Log log = getLog();//from  ww w.jav  a 2 s .  com
    RepositoryUtils repoUtils = new RepositoryUtils(log, wagonManager, settings, mavenProjectBuilder, factory,
            resolver, project.getRemoteArtifactRepositories(), project.getPluginArtifactRepositories(),
            localRepository, repositoryMetadataManager);
    Artifact projectArtifact = project.getArtifact();
    log.info(String.format("Resolving project %s:%s:%s dependencies", projectArtifact.getGroupId(),
            projectArtifact.getArtifactId(), projectArtifact.getVersion()));
    List<Artifact> allDependencies = dependencies.getAllDependencies();
    List<MavenProject> mavenProjects = new ArrayList<MavenProject>();
    for (Artifact artifact : allDependencies) {
        log.debug(String.format("Resolving project information for %s:%s:%s", artifact.getGroupId(),
                artifact.getArtifactId(), artifact.getVersion()));
        try {
            MavenProject mavenProject = repoUtils.getMavenProjectFromRepository(artifact);
            mavenProjects.add(mavenProject);
        } catch (ProjectBuildingException e) {
            throw new MojoFailureException(
                    String.format("Cannot get project information for artifact %s:%s:%s from repository",
                            artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()),
                    e);
        }
    }
    return mavenProjects;
}

From source file:org.codehaus.mojo.sonar.Bootstraper.java

License:Open Source License

private void executeMojo(MavenProject project, MavenSession session) throws MojoExecutionException {
    ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
    try {// w  w  w  .jav a2 s.  co  m

        RepositoryRequest repositoryRequest = new DefaultRepositoryRequest();
        repositoryRequest.setLocalRepository(session.getLocalRepository());
        repositoryRequest.setRemoteRepositories(project.getPluginArtifactRepositories());

        Plugin plugin = createSonarPlugin();

        List<RemoteRepository> remoteRepositories = session.getCurrentProject().getRemotePluginRepositories();

        PluginDescriptor pluginDescriptor = pluginManager.getPluginDescriptor(plugin, remoteRepositories,
                session.getRepositorySession());

        String goal = "sonar";

        MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo(goal);
        if (mojoDescriptor == null) {
            throw new MojoExecutionException("Unknown mojo goal: " + goal);
        }
        MojoExecution mojoExecution = new MojoExecution(plugin, goal, "sonar" + goal);

        mojoExecution.setConfiguration(convert(mojoDescriptor));

        mojoExecution.setMojoDescriptor(mojoDescriptor);

        // olamy : we exclude nothing and import nothing regarding realm import and artifacts

        DependencyFilter artifactFilter = new DependencyFilter() {
            public boolean accept(DependencyNode arg0, List<DependencyNode> arg1) {
                return true;
            }
        };

        pluginManager.setupPluginRealm(pluginDescriptor, session,
                Thread.currentThread().getContextClassLoader(), Collections.<String>emptyList(),
                artifactFilter);

        Mojo mojo = pluginManager.getConfiguredMojo(Mojo.class, session, mojoExecution);
        Thread.currentThread().setContextClassLoader(pluginDescriptor.getClassRealm());
        mojo.execute();

    } catch (Exception e) {
        throw new MojoExecutionException("Can not execute Sonar", e);
    } finally {
        Thread.currentThread().setContextClassLoader(originalClassLoader);
    }
}

From source file:org.eclipse.m2e.core.internal.lifecyclemapping.LifecycleMappingFactory.java

License:Open Source License

public static List<MappingMetadataSource> getProjectMetadataSources(MavenProject mavenProject,
        List<LifecycleMappingMetadataSource> bundleMetadataSources, List<MojoExecution> mojoExecutions,
        boolean includeDefault, IProgressMonitor monitor)
        throws CoreException, LifecycleMappingConfigurationException {
    List<MappingMetadataSource> metadataSources = new ArrayList<MappingMetadataSource>();

    // List order
    // 1. preferences in project  (*** not implemented yet)
    // 2. preferences in ancestor project  (*** not implemented yet)
    // 3. this pom embedded, this pom referenced, parent embedded, parent referenced, grand parent embedded...
    // 4. preferences in workspace 
    // 5. sources contributed by eclipse extensions
    // 6. maven-plugin embedded metadata
    // 7. default source, if present

    // TODO validate metadata and replace invalid entries with error mapping

    for (LifecycleMappingMetadataSource source : getPomMappingMetadataSources(mavenProject, monitor)) {
        metadataSources.add(new SimpleMappingMetadataSource(source));
    }/*from w w  w.j av a  2s .co  m*/

    metadataSources.add(new SimpleMappingMetadataSource(getWorkspaceMetadata(false)));

    // TODO filter out invalid metadata from sources contributed by eclipse extensions and the default source 
    metadataSources.add(new SimpleMappingMetadataSource(bundleMetadataSources));
    for (LifecycleMappingMetadataSource source : getMavenPluginEmbeddedMetadataSources(mojoExecutions,
            mavenProject.getPluginArtifactRepositories(), monitor)) {
        metadataSources.add(new SimpleMappingMetadataSource(source));
    }
    if (includeDefault) {
        LifecycleMappingMetadataSource defaultSource = getDefaultLifecycleMappingMetadataSource();
        if (defaultSource != null) {
            metadataSources.add(new SimpleMappingMetadataSource(defaultSource));
        }
    }

    return metadataSources;
}

From source file:org.eclipse.m2e.core.internal.project.registry.MavenProjectFacade.java

License:Open Source License

public MavenProjectFacade(ProjectRegistryManager manager, IFile pom, MavenProject mavenProject,
        Map<String, List<MojoExecution>> executionPlans, ResolverConfiguration resolverConfiguration) {
    this.manager = manager;
    this.pom = pom;
    IPath location = pom.getLocation();//ww  w.j a  v  a2s. c om
    this.pomFile = location == null ? null : location.toFile(); // save pom file
    this.resolverConfiguration = resolverConfiguration;

    this.mavenProject = mavenProject;
    this.executionPlans = executionPlans;

    this.artifactKey = new ArtifactKey(mavenProject.getArtifact());
    this.packaging = mavenProject.getPackaging();
    this.modules = mavenProject.getModules();

    this.resourceLocations = MavenProjectUtils.getResourceLocations(getProject(), mavenProject.getResources());
    this.testResourceLocations = MavenProjectUtils.getResourceLocations(getProject(),
            mavenProject.getTestResources());
    this.compileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(),
            mavenProject.getCompileSourceRoots());
    this.testCompileSourceLocations = MavenProjectUtils.getSourceLocations(getProject(),
            mavenProject.getTestCompileSourceRoots());

    IPath fullPath = getProject().getFullPath();

    IPath path = getProjectRelativePath(mavenProject.getBuild().getOutputDirectory());
    this.outputLocation = (path != null) ? fullPath.append(path) : null;

    path = getProjectRelativePath(mavenProject.getBuild().getTestOutputDirectory());
    this.testOutputLocation = path != null ? fullPath.append(path) : null;

    this.artifactRepositories = new LinkedHashSet<ArtifactRepositoryRef>();
    for (ArtifactRepository repository : mavenProject.getRemoteArtifactRepositories()) {
        this.artifactRepositories.add(new ArtifactRepositoryRef(repository));
    }

    this.pluginArtifactRepositories = new LinkedHashSet<ArtifactRepositoryRef>();
    for (ArtifactRepository repository : mavenProject.getPluginArtifactRepositories()) {
        this.pluginArtifactRepositories.add(new ArtifactRepositoryRef(repository));
    }

    setMavenProjectArtifacts();

    updateTimestamp();
}

From source file:org.eclipse.tycho.extras.docbundle.DocletArtifactsResolver.java

License:Open Source License

/**
 * Resolves the dependencies and returns a list of paths to the dependency jar files.
 * //  w  w w.ja  v  a 2 s  . c  om
 * @param dependencies
 *            the Dependencies to be resolved
 * @return the paths to the jar files
 * @throws MojoExecutionException
 *             if one of the specified depenencies could not be resolved
 */
public Set<String> resolveArtifacts(List<Dependency> dependencies) throws MojoExecutionException {
    Set<String> files = new LinkedHashSet<String>();

    if (dependencies == null || dependencies.isEmpty()) {
        return files;
    }

    MavenSession session = legacySupport.getSession();
    MavenProject project = session.getCurrentProject();

    for (Dependency dependency : dependencies) {
        Artifact artifact = repositorySystem.createDependencyArtifact(dependency);
        ArtifactResolutionRequest request = new ArtifactResolutionRequest();
        request.setArtifact(artifact);
        request.setResolveRoot(true).setResolveTransitively(true);
        request.setLocalRepository(session.getLocalRepository());
        request.setRemoteRepositories(project.getPluginArtifactRepositories());
        request.setOffline(session.isOffline());
        request.setForceUpdate(session.getRequest().isUpdateSnapshots());
        ArtifactResolutionResult result = repositorySystem.resolve(request);
        try {
            resolutionErrorHandler.throwErrors(request, result);
        } catch (ArtifactResolutionException e) {
            throw new MojoExecutionException(
                    "Failed to resolve doclet artifact " + dependency.getManagementKey(), e);
        }
        for (Artifact resolvedArtifact : result.getArtifacts()) {
            files.add(resolvedArtifact.getFile().getAbsolutePath());
        }
    }

    return files;
}

From source file:org.eclipse.tycho.osgi.runtime.TychoOsgiRuntimeLocator.java

License:Open Source License

protected List<ArtifactRepository> getPluginRepositories(MavenSession session) {
    List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>();
    for (MavenProject project : session.getProjects()) {
        repositories.addAll(project.getPluginArtifactRepositories());
    }/*from w  w w. j a va2  s . com*/
    return repositorySystem.getEffectiveRepositories(repositories);
}

From source file:org.eclipse.tycho.osgi.runtime.TychoP2RuntimeLocator.java

License:Open Source License

private File resolveArtifact(MavenSession session, Artifact artifact) throws MavenExecutionException {
    List<ArtifactRepository> repositories = new ArrayList<ArtifactRepository>();
    for (MavenProject project : session.getProjects()) {
        repositories.addAll(project.getPluginArtifactRepositories());
    }//from   w  w  w.ja va2s . c om
    repositories = repositorySystem.getEffectiveRepositories(repositories);

    ArtifactResolutionRequest request = new ArtifactResolutionRequest();
    request.setArtifact(artifact);
    request.setResolveRoot(true).setResolveTransitively(false);
    request.setLocalRepository(session.getLocalRepository());
    request.setRemoteRepositories(repositories);
    request.setCache(session.getRepositoryCache());
    request.setOffline(session.isOffline());
    request.setForceUpdate(session.getRequest().isUpdateSnapshots());

    ArtifactResolutionResult result = repositorySystem.resolve(request);

    try {
        resolutionErrorHandler.throwErrors(request, result);
    } catch (ArtifactResolutionException e) {
        throw new MavenExecutionException("Could not resolve tycho-p2-runtime", e);
    }

    return artifact.getFile();
}