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.sonatype.flexmojos.utilities.MavenUtils.java

License:Apache License

/**
 * Get dependency artifacts for a project using the local and remote repositories to resolve the artifacts
 * /*  ww  w  .ja va  2s. c om*/
 * @param project maven project
 * @param resolver artifact resolver
 * @param localRepository artifact repository
 * @param remoteRepositories List of remote repositories
 * @param artifactMetadataSource artifactMetadataSource
 * @param artifactFactory TODO
 * @return all dependencies from the project
 * @throws MojoExecutionException thrown if an exception occured during artifact resolving
 */
@SuppressWarnings("unchecked")
public static Set<Artifact> getDependencyArtifacts(MavenProject project, ArtifactResolver resolver,
        ArtifactRepository localRepository, List remoteRepositories,
        ArtifactMetadataSource artifactMetadataSource, ArtifactFactory artifactFactory)
        throws MojoExecutionException {
    Set<Artifact> artifacts = project.getDependencyArtifacts();
    if (artifacts == null) {
        try {
            artifacts = project.createArtifacts(artifactFactory, null, null);
        } catch (InvalidDependencyVersionException e) {
            throw new MojoExecutionException(e.getMessage(), e);
        }
        project.setDependencyArtifacts(artifacts);
    }

    ArtifactResolutionResult arr;
    try {
        arr = resolver.resolveTransitively(project.getDependencyArtifacts(), project.getArtifact(),
                remoteRepositories, localRepository, artifactMetadataSource);
    } catch (AbstractArtifactResolutionException e) {
        throw new MojoExecutionException(e.getMessage(), e);
    }

    Set<Artifact> result = arr.getArtifacts();

    // ## 6/18/09 StoneRiver Change to resolve RELEASE Artifact version ##
    for (Artifact artifact : result) {
        if (artifact.getVersion().equals(Artifact.RELEASE_VERSION)) {
            getReleaseVersion(artifact, localRepository, remoteRepositories, artifactMetadataSource);
        }
    }

    return result;

}

From source file:org.sonatype.nexus.plugin.discovery.DefaultNexusDiscovery.java

License:Open Source License

private void collectForDiscovery(final Settings settings, final MavenProject project,
        final List<NexusConnectionInfo> candidates, final List<ServerMapping> serverMap,
        final Map<String, Server> serversById) throws NexusDiscoveryException {
    if (project != null && project.getDistributionManagement() != null && project.getArtifact() != null) {
        DistributionManagement distMgmt = project.getDistributionManagement();
        DeploymentRepository repo = distMgmt.getRepository();
        if (project.getArtifact().isSnapshot() && distMgmt.getSnapshotRepository() != null) {
            repo = distMgmt.getSnapshotRepository();
        }//from  ww  w  .  j  a va 2s  .com

        if (repo != null) {
            String id = repo.getId();
            String url = repo.getUrl();
            addCandidate(id, url, repo.getName(), serversById, candidates, serverMap);
        }
    }

    if (settings != null && settings.getMirrors() != null) {
        for (Mirror mirror : settings.getMirrors()) {
            addCandidate(mirror.getId(), mirror.getUrl(), mirror.getName(), serversById, candidates, serverMap);
        }
    }

    if (project != null) {
        if (project.getModel().getRepositories() != null) {
            for (Repository repo : project.getModel().getRepositories()) {
                addCandidate(repo.getId(), repo.getUrl(), repo.getName(), serversById, candidates, serverMap);
            }
        }

        if (project.getModel().getProfiles() != null) {
            for (Profile profile : project.getModel().getProfiles()) {
                for (Repository repo : profile.getRepositories()) {
                    addCandidate(repo.getId(), repo.getUrl(), repo.getName(), serversById, candidates,
                            serverMap);
                }
            }
        }
    }

    if (settings != null && settings.getProfiles() != null) {
        for (org.apache.maven.settings.Profile profile : settings.getProfiles()) {
            if (profile != null && profile.getRepositories() != null) {
                for (org.apache.maven.settings.Repository repo : profile.getRepositories()) {
                    addCandidate(repo.getId(), repo.getUrl(), repo.getName(), serversById, candidates,
                            serverMap);
                }
            }
        }
    }
}

From source file:org.sourcepit.common.maven.core.MavenProjectUtils.java

License:Apache License

private static ArtifactRepository getDistributionManagementRepository(MavenProject project, String version) {
    final MavenProject clone = project.clone();
    clone.setVersion(version);//  ww w  .j a  v a2 s. co m
    clone.getModel().setVersion(version);
    clone.getArtifact().setVersion(version);
    return clone.getDistributionManagementArtifactRepository();
}

From source file:org.sourcepit.common.maven.testing.EmbeddedMaven.java

License:Apache License

public MavenExecutionResult2 buildProject(File pom, Properties userProperties, boolean resolveDependencies)
        throws Exception {
    final MavenExecutionRequest request = newMavenExecutionRequest(pom, newSystemProperties(), userProperties,
            "compile");
    request.getProjectBuildingRequest().setProcessPlugins(false);
    request.getProjectBuildingRequest().setResolveDependencies(resolveDependencies);

    final MavenSession[] session = new MavenSession[1];
    request.setExecutionListener(new ChainedExecutionListener(request.getExecutionListener()) {
        @Override/*from w w w  .j  av  a 2  s  .c  o  m*/
        public void sessionStarted(ExecutionEvent event) {
            super.sessionStarted(event);
            session[0] = event.getSession();
            throw new IllegalStateException();
        }
    });

    final MavenExecutionResult2 tmpResult = execute(request);
    if (session[0] == null) {
        if (tmpResult.hasExceptions()) {
            throw new IllegalStateException(tmpResult.getExceptions().get(0));
        }
    }

    final MavenExecutionResult2 result = new MavenExecutionResult2Impl(session[0], session[0].getResult());
    if (request.getProjectBuildingRequest().isResolveDependencies()) {
        Set<Artifact> projectArtifacts = new HashSet<Artifact>();

        for (MavenProject mavenProject : result.getTopologicallySortedProjects()) {
            File artifactFile = MavenProjectUtils.getOutputDir(mavenProject);
            if (artifactFile == null) {
                artifactFile = mavenProject.getBasedir();
            }
            mavenProject.getArtifact().setFile(artifactFile);
            mavenProject.getArtifact().setResolved(true);

            projectArtifacts.add(mavenProject.getArtifact());

            mavenProject.addLifecyclePhase("clean");
            mavenProject.addLifecyclePhase("process-resources");
            mavenProject.addLifecyclePhase("compile");

            ArrayList<String> scopesToCollect = new ArrayList<String>();
            Collections.addAll(scopesToCollect, "system", "compile", "provided", "runtime", "test");

            try {
                resolver.resolveProjectDependencies(mavenProject, scopesToCollect, scopesToCollect,
                        result.getSession(), true, Collections.<Artifact>emptySet());
            } catch (LifecycleExecutionException e) {
                result.addException(e);
            }

            mavenProject.setArtifactFilter(new CumulativeScopeArtifactFilter(scopesToCollect));
        }
    }
    if (result.hasExceptions()) {
        throw new IllegalStateException(result.getExceptions().get(0));
    }

    return result;
}

From source file:org.sourcepit.maven.bootstrap.internal.core.ReactorReader.java

License:Apache License

/**
 * Tries to resolve the specified artifact from the artifacts of the given project.
 * /*from  ww w.  ja v a  2  s  . c o  m*/
 * @param project The project to try to resolve the artifact from, must not be <code>null</code>.
 * @param requestedArtifact The artifact to resolve, must not be <code>null</code>.
 * @return The matching artifact from the project or <code>null</code> if not found.
 */
private org.apache.maven.artifact.Artifact findMatchingArtifact(MavenProject project,
        Artifact requestedArtifact) {
    String requestedRepositoryConflictId = getConflictId(requestedArtifact);

    org.apache.maven.artifact.Artifact mainArtifact = project.getArtifact();
    if (requestedRepositoryConflictId.equals(getConflictId(mainArtifact))) {
        return mainArtifact;
    }

    Collection<org.apache.maven.artifact.Artifact> attachedArtifacts = project.getAttachedArtifacts();
    if (attachedArtifacts != null && !attachedArtifacts.isEmpty()) {
        for (org.apache.maven.artifact.Artifact attachedArtifact : attachedArtifacts) {
            if (requestedRepositoryConflictId.equals(getConflictId(attachedArtifact))) {
                return attachedArtifact;
            }
        }
    }

    return null;
}

From source file:org.sourcepit.maven.dependency.model.aether.AetherDependencyModelResolver.java

License:Apache License

private RepositorySystemSession newRepositorySystemSession(MavenProject project, boolean resolveRoot,
        final DependencyModelBuilder modelBuilder) {
    final List<DependencyGraphTransformer> transformers = new ArrayList<DependencyGraphTransformer>(3);

    if (resolveRoot) {
        org.eclipse.aether.graph.Dependency dependency = new org.eclipse.aether.graph.Dependency(
                RepositoryUtils.toArtifact(project.getArtifact()), "compile");
        DefaultDependencyNode rootNode = new DefaultDependencyNode(dependency);
        rootNode.setRepositories(project.getRemoteProjectRepositories());
        rootNode.setRequestContext("project");

        transformers.add(new ReplaceRootNode(rootNode));
    }/*from  ww  w .j a  va 2 s .  c o  m*/

    transformers.add(new LatestAndReleseVersionResolverTransformer(versionResolver));
    transformers.add(new DependencyModelBuildingGraphTransformer(artifactFactory, modelBuilder, false, false));

    final DependencyGraphTransformer transformer = new ChainedDependencyGraphTransformer(
            transformers.toArray(new DependencyGraphTransformer[transformers.size()]));

    final RepositorySystemSession repositorySession = new AbstractForwardingRepositorySystemSession() {
        @Override
        public DependencySelector getDependencySelector() {
            return new ScopeChildDependenciesErasure(Collections.singleton("test"));
        }

        @Override
        public DependencyGraphTransformer getDependencyGraphTransformer() {
            return transformer;
        }

        @Override
        protected RepositorySystemSession getSession() {
            return buildContext.getRepositorySession();
        }
    };
    return repositorySession;
}

From source file:org.sourcepit.osgifier.maven.GenerateManifestMojo.java

License:Apache License

private ArtifactManifestBuilderRequest newManifestRequest(final MavenProject project) {
    final ArtifactManifestBuilderRequest request = new ArtifactManifestBuilderRequest();
    request.setArtifact(project.getArtifact());
    if (!skipSource) {
        request.setSourceArtifact(newProjectArtifact(project, sourceClassifier, "jar"));
    }//from   w  w  w. j  a  va  2 s  .  c om
    request.getDependencies().addAll(project.getArtifacts());

    final PropertiesSource options = chainOptions(getMojoConfigurationOptions(),
            toOptions(project.getProperties()), toOptions(System.getProperties()));
    request.setOptions(options);

    request.setSymbolicName(symbolicName);
    request.setTimestamp(buildContext.getSession().getStartTime());
    request.setHeaderModifications(headerModifications);
    return request;
}

From source file:org.sourcepit.osgifier.maven.GenerateManifestMojo.java

License:Apache License

private Artifact newProjectArtifact(final MavenProject project, String classifier, String type) {
    org.eclipse.aether.artifact.Artifact artifact = artifactFactory
            .createArtifact(RepositoryUtils.toArtifact(project.getArtifact()), classifier, type);

    final String buildDir = project.getBuild().getDirectory();

    final String finalName = project.getBuild().getFinalName();

    final String sourceFinalName = finalName + "-" + artifact.getClassifier();

    final File file = new File(buildDir + "/" + sourceFinalName + "." + artifact.getExtension());

    artifact = artifact.setFile(file);/*ww w  .j a  v a 2s.c  o  m*/

    return MavenArtifactUtils.toArtifact(artifact);
}

From source file:org.sourcepit.osgifier.maven.InjectManifestMojo.java

License:Apache License

@Override
protected void doExecute() throws MojoExecutionException, MojoFailureException {
    final MavenProject project = buildContext.getSession().getCurrentProject();

    final ArtifactManifestBuilderResult result = (ArtifactManifestBuilderResult) project
            .getContextValue("osgifier.manifestBuilderResult");

    if (result != null) {
        final BundleManifest manifest = result.getBundleManifest();
        if (manifest != null) {
            repackager.injectManifest(project.getArtifact().getFile(), manifest,
                    result.getBundleLocalization());
        }/*  w  w w . j av  a  2 s . c  o m*/

        final BundleManifest sourceManifest = result.getSourceBundleManifest();
        if (manifest != null) {
            final Artifact sourceArtifact = getAttachedArtifact(project, sourceClassifier);
            if (sourceArtifact != null) {
                repackager.injectManifest(sourceArtifact.getFile(), sourceManifest,
                        result.getSourceBundleLocalization());
            }
        }
    }
}

From source file:org.sourcepit.osgifier.maven.InjectManifestMojo.java

License:Apache License

private static Artifact getAttachedArtifact(MavenProject project, String classifier) {
    if (classifier == null) {
        return project.getArtifact();
    } else {/* www  .  ja va  2 s  .c  o m*/
        for (Artifact artifact : project.getAttachedArtifacts()) {
            if (classifier.equals(artifact.getClassifier())) {
                return artifact;
            }
        }
    }
    return null;
}