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

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

Introduction

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

Prototype

public Artifact getArtifact() 

Source Link

Usage

From source file:org.jahia.utils.maven.plugin.osgi.FindPackageUsesMojo.java

License:Open Source License

public static void findPackageUsesInDirectory(List<String> packageNames, MavenProject project, Log log,
        Map<String, Map<String, Artifact>> packageResults, File directory) {
    for (String packageName : packageNames) {
        Map<String, Artifact> foundClasses = packageResults.get(packageName);
        if (foundClasses == null) {
            foundClasses = new TreeMap<String, Artifact>();
        }/*from  w w  w. ja  va 2  s . c  o  m*/
        Set<String> classesThatHaveDependency = findClassesThatUsePackage(directory, packageName, project, log);
        if (classesThatHaveDependency != null & classesThatHaveDependency.size() > 0) {
            for (String classThatHasDependency : classesThatHaveDependency) {
                log.info("+--> Found class " + classThatHasDependency + " that uses package " + packageName);
                foundClasses.put(classThatHasDependency, project.getArtifact());
            }
            packageResults.put(packageName, foundClasses);
        }
    }
}

From source file:org.jahia.utils.maven.plugin.osgi.FindPackageUsesMojo.java

License:Open Source License

private static Artifact findArtifactInProject(MavenProject project, String artifactIdentifier, Log log) {
    List<Artifact> results = new ArrayList<Artifact>();
    if (artifactMatches(project.getArtifact(), artifactIdentifier)) {
        results.add(project.getArtifact());
    }//from w w w. j a  v  a 2s. c o m
    for (Artifact artifact : project.getArtifacts()) {
        if (artifactMatches(artifact, artifactIdentifier)) {
            results.add(artifact);
        }
    }
    if (results.size() > 1) {
        log.warn("Found more than one matching dependency for identifier " + artifactIdentifier + ":");
        for (Artifact resultArtifact : results) {
            log.warn(" --> " + resultArtifact.toString());
        }
        return null;
    } else {
        if (results.size() == 1) {
            return results.get(0);
        } else {
            log.warn("Couldn't find project dependency for identifier " + artifactIdentifier + "!");
            return null;
        }
    }
}

From source file:org.jboss.javadoc.UnpackMojo.java

License:Open Source License

/**
 * Generate the full repo URL into which the archive will be unpacked.
 * Formate  [REPO_URL]/{OPTIONAL Subdir}/{group id}/{archive id}/{version}
 *
 * @param mProject the current maven project
 * @param upackRepositoryId repository id according to the maven settings.xml rules
 * @param nexusSubdirectory OPTIONAL subdir
 * @return  generated URL pat//from w  w w .  j a v a2s  . c  o m
 */
private String generateFullNexusPath(MavenProject mProject, String upackRepositoryId,
        String nexusSubdirectory) {
    StringBuilder sb = new StringBuilder();
    sb.append(upackRepositoryId);

    if (!upackRepositoryId.endsWith("/")) {
        sb.append("/");
    }

    if (nexusSubdirectory != null && !nexusSubdirectory.trim().isEmpty()) {
        String subDir = nexusSubdirectory.trim();
        sb.append(subDir);
        if (!subDir.endsWith("/")) {
            sb.append("/");
        }
    }

    Artifact artifact = mProject.getArtifact();
    sb.append(artifact.getGroupId() + "/" + artifact.getArtifactId() + "/" + artifact.getVersion());

    return sb.toString();
}

From source file:org.jboss.maven.shared.release.phase.MapVersionRangesPhase.java

License:Open Source License

private Artifact resolveVersionRange(final Artifact artifact, final MavenProject project)
        throws ReleaseExecutionException {
    final Set<Artifact> artifacts = asSet(artifact);
    final ArtifactResolutionResult result;
    try {//from  w w  w.j a  va2s  .  co m
        result = artifactResolver.resolveTransitively(artifacts, project.getArtifact(),
                project.getRemoteArtifactRepositories(), localRepository, artifactMetadataSource);
        return (Artifact) result.getArtifacts().iterator().next();
    } catch (AbstractArtifactResolutionException e) {
        throw new ReleaseExecutionException("Failed to resolve artifact " + artifact, e);
    }
}

From source file:org.jenkinsci.plugins.pipeline.maven.eventspy.handler.ProjectSucceededExecutionHandler.java

License:Open Source License

@Override
protected void addDetails(ExecutionEvent executionEvent, Xpp3Dom element) {
    super.addDetails(executionEvent, element);
    MavenProject project = executionEvent.getProject();

    Artifact artifact = project.getArtifact();
    if (artifact == null) {

    } else {/*from   ww  w.  j av a2s  .  c o  m*/
        Xpp3Dom artifactElt = newElement("artifact", artifact);
        File file = artifact.getFile();
        try {
            artifactElt.addChild(newElement("file", file == null ? null : file.getCanonicalPath()));
        } catch (IOException e) {
            throw new RuntimeIOException(e);
        }
        element.addChild(artifactElt);
    }

    Xpp3Dom attachedArtifactsElt = new Xpp3Dom("attachedArtifacts");
    element.addChild(attachedArtifactsElt);
    for (Artifact attachedArtifact : project.getAttachedArtifacts()) {
        Xpp3Dom artifactElt = newElement("artifact", attachedArtifact);
        File file = attachedArtifact.getFile();
        try {
            artifactElt.addChild(newElement("file", file == null ? null : file.getCanonicalPath()));
        } catch (IOException e) {
            throw new RuntimeIOException(e);
        }
        attachedArtifactsElt.addChild(artifactElt);
    }

}

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

License:Apache License

@Nonnull
public MavenExecutionResult doResolveProject(@Nonnull final File file,
        @Nonnull final List<String> activeProfiles, @Nonnull final List<String> inactiveProfiles,
        final List<ResolutionListener> listeners) throws RemoteException {
    final MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles,
            Collections.<String>emptyList());

    request.setUpdateSnapshots(myAlwaysUpdateSnapshots);

    final AtomicReference<MavenExecutionResult> ref = new AtomicReference<MavenExecutionResult>();

    executeWithMavenSession(request, new Runnable() {
        @Override//  w w w  .  j ava 2  s.  co m
        public void run() {
            try {
                // copied from DefaultMavenProjectBuilder.buildWithDependencies
                ProjectBuilder builder = getComponent(ProjectBuilder.class);

                CustomMaven3ModelInterpolator2 modelInterpolator = (CustomMaven3ModelInterpolator2) getComponent(
                        ModelInterpolator.class);

                String savedLocalRepository = modelInterpolator.getLocalRepository();
                modelInterpolator.setLocalRepository(request.getLocalRepositoryPath().getAbsolutePath());
                List<ProjectBuildingResult> results;

                try {
                    // Don't use build(File projectFile, ProjectBuildingRequest request) , because it don't use cache !!!!!!!! (see http://devnet.jetbrains.com/message/5500218)
                    results = builder.build(Collections.singletonList(new File(file.getPath())), false,
                            request.getProjectBuildingRequest());
                } finally {
                    modelInterpolator.setLocalRepository(savedLocalRepository);
                }

                ProjectBuildingResult buildingResult = results.get(0);

                MavenProject project = buildingResult.getProject();

                RepositorySystemSession repositorySession = getComponent(LegacySupport.class)
                        .getRepositorySession();
                if (repositorySession instanceof DefaultRepositorySystemSession) {
                    ((DefaultRepositorySystemSession) repositorySession)
                            .setTransferListener(new Maven30TransferListenerAdapter(myCurrentIndicator));

                    if (myWorkspaceMap != null) {
                        ((DefaultRepositorySystemSession) repositorySession)
                                .setWorkspaceReader(new Maven30WorkspaceReader(myWorkspaceMap));
                    }
                }

                List<Exception> exceptions = new ArrayList<Exception>();
                loadExtensions(project, exceptions);

                //Artifact projectArtifact = project.getArtifact();
                //Map managedVersions = project.getManagedVersionMap();
                //ArtifactMetadataSource metadataSource = getComponent(ArtifactMetadataSource.class);
                project.setDependencyArtifacts(
                        project.createArtifacts(getComponent(ArtifactFactory.class), null, null));
                //

                if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) {
                    ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest();
                    resolutionRequest.setArtifactDependencies(project.getDependencyArtifacts());
                    resolutionRequest.setArtifact(project.getArtifact());
                    resolutionRequest.setManagedVersionMap(project.getManagedVersionMap());
                    resolutionRequest.setLocalRepository(myLocalRepository);
                    resolutionRequest.setRemoteRepositories(project.getRemoteArtifactRepositories());
                    resolutionRequest.setListeners(listeners);

                    resolutionRequest.setResolveRoot(false);
                    resolutionRequest.setResolveTransitively(true);

                    ArtifactResolver resolver = getComponent(ArtifactResolver.class);
                    ArtifactResolutionResult result = resolver.resolve(resolutionRequest);

                    project.setArtifacts(result.getArtifacts());
                    // end copied from DefaultMavenProjectBuilder.buildWithDependencies
                    ref.set(new MavenExecutionResult(project, exceptions));
                } else {
                    final DependencyResolutionResult dependencyResolutionResult = resolveDependencies(project,
                            repositorySession);
                    final List<Dependency> dependencies = dependencyResolutionResult.getDependencies();

                    Set<Artifact> artifacts = new LinkedHashSet<Artifact>(dependencies.size());
                    for (Dependency dependency : dependencies) {
                        final Artifact artifact = RepositoryUtils.toArtifact(dependency.getArtifact());
                        artifact.setScope(dependency.getScope());
                        artifact.setOptional(dependency.isOptional());
                        artifacts.add(artifact);
                        resolveAsModule(artifact);
                    }

                    project.setArtifacts(artifacts);
                    ref.set(new MavenExecutionResult(project, dependencyResolutionResult, exceptions));
                }
            } catch (Exception e) {
                ref.set(handleException(e));
            }
        }
    });

    return ref.get();
}

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

License:Apache License

/**
 * copied from {@link DefaultProjectBuilder#resolveDependencies(MavenProject, RepositorySystemSession)}
 *//*from  www .  j  av  a 2  s  .c  o  m*/
private DependencyResolutionResult resolveDependencies(MavenProject project, RepositorySystemSession session) {
    DependencyResolutionResult resolutionResult;

    try {
        ProjectDependenciesResolver dependencyResolver = getComponent(ProjectDependenciesResolver.class);
        DefaultDependencyResolutionRequest resolution = new DefaultDependencyResolutionRequest(project,
                session);
        resolutionResult = dependencyResolver.resolve(resolution);
    } catch (DependencyResolutionException e) {
        resolutionResult = e.getResult();
    }

    Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
    if (resolutionResult.getDependencyGraph() != null) {
        RepositoryUtils.toArtifacts(artifacts, resolutionResult.getDependencyGraph().getChildren(),
                Collections.singletonList(project.getArtifact().getId()), null);

        // Maven 2.x quirk: an artifact always points at the local repo, regardless whether resolved or not
        LocalRepositoryManager lrm = session.getLocalRepositoryManager();
        for (Artifact artifact : artifacts) {
            if (!artifact.isResolved()) {
                String path = lrm.getPathForLocalArtifact(RepositoryUtils.toArtifact(artifact));
                artifact.setFile(new File(lrm.getRepository().getBasedir(), path));
            }
        }
    }
    project.setResolvedArtifacts(artifacts);
    project.setArtifacts(artifacts);

    return resolutionResult;
}

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

License:Apache License

@Nonnull
public MavenExecutionResult doResolveProject(@Nonnull final File file,
        @Nonnull final List<String> activeProfiles, @Nonnull final List<String> inactiveProfiles,
        final List<ResolutionListener> listeners) throws RemoteException {
    final MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles,
            Collections.<String>emptyList());

    request.setUpdateSnapshots(myAlwaysUpdateSnapshots);

    final AtomicReference<MavenExecutionResult> ref = new AtomicReference<MavenExecutionResult>();

    executeWithMavenSession(request, new Runnable() {
        @Override//from  w  w w.j  a  va 2  s  . co  m
        public void run() {
            try {
                // copied from DefaultMavenProjectBuilder.buildWithDependencies
                ProjectBuilder builder = getComponent(ProjectBuilder.class);

                CustomMaven3ModelInterpolator2 modelInterpolator = (CustomMaven3ModelInterpolator2) getComponent(
                        ModelInterpolator.class);

                String savedLocalRepository = modelInterpolator.getLocalRepository();
                modelInterpolator.setLocalRepository(request.getLocalRepositoryPath().getAbsolutePath());
                List<ProjectBuildingResult> results;

                try {
                    // Don't use build(File projectFile, ProjectBuildingRequest request) , because it don't use cache !!!!!!!! (see http://devnet.jetbrains.com/message/5500218)
                    results = builder.build(Collections.singletonList(new File(file.getPath())), false,
                            request.getProjectBuildingRequest());
                } finally {
                    modelInterpolator.setLocalRepository(savedLocalRepository);
                }

                ProjectBuildingResult buildingResult = results.get(0);

                MavenProject project = buildingResult.getProject();

                RepositorySystemSession repositorySession = getComponent(LegacySupport.class)
                        .getRepositorySession();
                if (repositorySession instanceof DefaultRepositorySystemSession) {
                    ((DefaultRepositorySystemSession) repositorySession)
                            .setTransferListener(new TransferListenerAdapter(myCurrentIndicator));

                    if (myWorkspaceMap != null) {
                        ((DefaultRepositorySystemSession) repositorySession)
                                .setWorkspaceReader(new Maven32WorkspaceReader(myWorkspaceMap));
                    }
                }

                List<Exception> exceptions = new ArrayList<Exception>();
                loadExtensions(project, exceptions);

                //Artifact projectArtifact = project.getArtifact();
                //Map managedVersions = project.getManagedVersionMap();
                //ArtifactMetadataSource metadataSource = getComponent(ArtifactMetadataSource.class);
                project.setDependencyArtifacts(
                        project.createArtifacts(getComponent(ArtifactFactory.class), null, null));
                //

                if (USE_MVN2_COMPATIBLE_DEPENDENCY_RESOLVING) {
                    ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest();
                    resolutionRequest.setArtifactDependencies(project.getDependencyArtifacts());
                    resolutionRequest.setArtifact(project.getArtifact());
                    resolutionRequest.setManagedVersionMap(project.getManagedVersionMap());
                    resolutionRequest.setLocalRepository(myLocalRepository);
                    resolutionRequest.setRemoteRepositories(project.getRemoteArtifactRepositories());
                    resolutionRequest.setListeners(listeners);

                    resolutionRequest.setResolveRoot(false);
                    resolutionRequest.setResolveTransitively(true);

                    ArtifactResolver resolver = getComponent(ArtifactResolver.class);
                    ArtifactResolutionResult result = resolver.resolve(resolutionRequest);

                    project.setArtifacts(result.getArtifacts());
                    // end copied from DefaultMavenProjectBuilder.buildWithDependencies
                    ref.set(new MavenExecutionResult(project, exceptions));
                } else {
                    final DependencyResolutionResult dependencyResolutionResult = resolveDependencies(project,
                            repositorySession);
                    final List<Dependency> dependencies = dependencyResolutionResult.getDependencies();

                    Set<Artifact> artifacts = new LinkedHashSet<Artifact>(dependencies.size());
                    for (Dependency dependency : dependencies) {
                        final Artifact artifact = RepositoryUtils.toArtifact(dependency.getArtifact());
                        artifact.setScope(dependency.getScope());
                        artifact.setOptional(dependency.isOptional());
                        artifacts.add(artifact);
                        resolveAsModule(artifact);
                    }

                    project.setArtifacts(artifacts);
                    ref.set(new MavenExecutionResult(project, dependencyResolutionResult, exceptions));
                }
            } catch (Exception e) {
                ref.set(handleException(e));
            }
        }
    });

    return ref.get();
}

From source file:org.jetbrains.maven.embedder.MavenEmbedder.java

License:Apache License

@Nonnull
public MavenExecutionResult resolveProject(@Nonnull final File file, @Nonnull final List<String> activeProfiles,
        @Nonnull final List<String> inactiveProfiles, List<ResolutionListener> listeners) {
    MavenExecutionRequest request = createRequest(file, activeProfiles, inactiveProfiles,
            Collections.<String>emptyList());
    ProjectBuilderConfiguration config = request.getProjectBuilderConfiguration();

    request.getGlobalProfileManager().loadSettingsProfiles(mySettings);

    ProfileManager globalProfileManager = request.getGlobalProfileManager();
    globalProfileManager.loadSettingsProfiles(request.getSettings());

    List<Exception> exceptions = new ArrayList<Exception>();
    MavenProject project = null;
    try {// ww w  .j a v  a  2  s .c  om
        // copied from DefaultMavenProjectBuilder.buildWithDependencies
        MavenProjectBuilder builder = getComponent(MavenProjectBuilder.class);
        project = builder.build(new File(file.getPath()), config);
        builder.calculateConcreteState(project, config, false);

        // copied from DefaultLifecycleExecutor.execute
        findExtensions(project);
        // end copied from DefaultLifecycleExecutor.execute

        Artifact projectArtifact = project.getArtifact();
        Map managedVersions = project.getManagedVersionMap();
        ArtifactMetadataSource metadataSource = getComponent(ArtifactMetadataSource.class);
        project.setDependencyArtifacts(
                project.createArtifacts(getComponent(ArtifactFactory.class), null, null));

        ArtifactResolver resolver = getComponent(ArtifactResolver.class);
        ArtifactResolutionResult result = resolver.resolveTransitively(project.getDependencyArtifacts(),
                projectArtifact, managedVersions, myLocalRepository, project.getRemoteArtifactRepositories(),
                metadataSource, null, listeners);
        project.setArtifacts(result.getArtifacts());
        // end copied from DefaultMavenProjectBuilder.buildWithDependencies
    } catch (Exception e) {
        return handleException(e);
    }

    return new MavenExecutionResult(project, exceptions);
}

From source file:org.jetbrains.maven.embedder.MavenEmbedder.java

License:Apache License

@SuppressWarnings({ "unchecked" })
private Map findArtifactTypeHandlers(MavenProject project) {
    // end copied from DefaultLifecycleExecutor.findExtensions
    Map result = new HashMap();
    for (Object each : project.getBuildPlugins()) {
        Plugin eachPlugin = (Plugin) each;

        if (eachPlugin.isExtensions()) {
            try {
                PluginManager pluginManager = getComponent(PluginManager.class);
                pluginManager.verifyPlugin(eachPlugin, project, mySettings, myLocalRepository);
                result.putAll(pluginManager.getPluginComponents(eachPlugin, ArtifactHandler.ROLE));
            } catch (Exception e) {
                MavenEmbedderLog.LOG.info(e);
                continue;
            }//from   w  w w. j a  v  a  2  s .co m

            for (Object o : result.values()) {
                ArtifactHandler handler = (ArtifactHandler) o;
                if (project.getPackaging().equals(handler.getPackaging())) {
                    project.getArtifact().setArtifactHandler(handler);
                }
            }
        }
    }
    return result;
}