List of usage examples for org.apache.maven.project MavenProject getArtifact
public Artifact getArtifact()
From source file:org.debian.dependency.sources.SCMSourceRetrieval.java
License:Apache License
private MavenProject constructProject(final Artifact artifact, final MavenSession session) throws SourceRetrievalException { try {//w w w . j a v a 2 s .com // pom files are not set up in projects which are not in the workspace, we add them in manually since they are needed Artifact pomArtifact = repositorySystem.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion()); pomArtifact = resolveArtifact(pomArtifact, session); ProjectBuildingRequest request = new DefaultProjectBuildingRequest(session.getProjectBuildingRequest()); request.setActiveProfileIds(null); request.setInactiveProfileIds(null); request.setUserProperties(null); ProjectBuildingResult result = projectBuilder.build(artifact, request); MavenProject mavenProject = result.getProject(); mavenProject.setArtifact(resolveArtifact(mavenProject.getArtifact(), session)); mavenProject.setFile(pomArtifact.getFile()); return mavenProject; } catch (ProjectBuildingException e) { throw new SourceRetrievalException(e); } }
From source file:org.debian.dependency.sources.SCMSourceRetrieval.java
License:Apache License
@Override public String getSourceDirname(final Artifact artifact, final MavenSession session) throws SourceRetrievalException { MavenProject project = findProjectRoot(constructProject(artifact, session)); return ArtifactUtils.key(project.getArtifact()); }
From source file:org.debian.maven.packager.GenerateDebianFilesMojo.java
License:Apache License
private void setupArtifactLocation(ListOfPOMs listOfPOMs, ListOfPOMs listOfJavadocPOMs, MavenProject mavenProject) { String dirRelPath = new WrappedProject(project, mavenProject).getBaseDir(); if (!"pom".equals(mavenProject.getPackaging())) { String pomFile = dirRelPath + "pom.xml"; listOfPOMs.getOrCreatePOMOptions(pomFile).setJavaLib(true); String extension = mavenProject.getPackaging(); if (extension.equals("bundle")) { extension = "jar"; }/*from w w w .ja va 2 s .c om*/ if (extension.equals("webapp")) { extension = "war"; } if (mavenProject.getArtifact() != null && mavenProject.getArtifact().getFile() != null) { extension = mavenProject.getArtifact().getFile().toString(); extension = extension.substring(extension.lastIndexOf('.') + 1); } POMOptions pomOptions = listOfPOMs.getOrCreatePOMOptions(pomFile); pomOptions.setArtifact(dirRelPath + "target/" + mavenProject.getArtifactId() + "-*." + extension); if ("jar".equals(extension) && generateJavadoc && "ant".equals(packageType) && listOfJavadocPOMs != null) { String artifactId = mavenProject.getArtifact().getArtifactId(); POMOptions javadocPomOptions = listOfJavadocPOMs.getOrCreatePOMOptions(pomFile); javadocPomOptions.setIgnorePOM(true); javadocPomOptions.setArtifact(dirRelPath + "target/" + artifactId + ".javadoc.jar"); javadocPomOptions.setClassifier("javadoc"); javadocPomOptions.setHasPackageVersion(pomOptions.getHasPackageVersion()); } pomOptions.setJavaLib(true); if (mavenProject.getArtifactId().matches(packageName + "\\d")) { pomOptions.setUsjName(packageName); } } }
From source file:org.deegree.maven.utils.ClasspathHelper.java
License:Open Source License
/** * @param project/*from www . j a v a 2 s. c o m*/ * @param artifactResolver * @param artifactFactory * @param metadataSource * @param localRepository * @param type * @return a list of all (possibly transitive) artifacts of the given type * @throws InvalidDependencyVersionException * @throws ArtifactResolutionException * @throws ArtifactNotFoundException */ public static Set<?> getDependencyArtifacts(MavenProject project, ArtifactResolver artifactResolver, ArtifactFactory artifactFactory, ArtifactMetadataSource metadataSource, ArtifactRepository localRepository, final String type, boolean transitively) throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { List<?> dependencies = project.getDependencies(); Set<Artifact> dependencyArtifacts = createArtifacts(artifactFactory, dependencies, null, new ArtifactFilter() { @Override public boolean include(Artifact artifact) { return artifact != null && artifact.getType() != null && artifact.getType().equals(type); } }, null); ArtifactResolutionResult result; Artifact mainArtifact = project.getArtifact(); result = artifactResolver.resolveTransitively(dependencyArtifacts, mainArtifact, EMPTY_MAP, localRepository, project.getRemoteArtifactRepositories(), metadataSource, null, EMPTY_LIST); if (transitively) { return result.getArtifacts(); } LinkedHashSet<Artifact> set = new LinkedHashSet<Artifact>(); if (mainArtifact.getType() != null && mainArtifact.getType().equals(type)) { set.add(mainArtifact); } set.addAll(dependencyArtifacts); return set; }
From source file:org.deegree.maven.utils.ClasspathHelper.java
License:Open Source License
private static Set<?> resolveDeps(MavenProject project, ArtifactResolver artifactResolver, ArtifactFactory artifactFactory, ArtifactMetadataSource metadataSource, ArtifactRepository localRepository) throws InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { List<?> dependencies = project.getDependencies(); Set<Artifact> dependencyArtifacts = createArtifacts(artifactFactory, dependencies, null, null, null); dependencyArtifacts.add(project.getArtifact()); ArtifactResolutionResult result = artifactResolver.resolveTransitively(dependencyArtifacts, project.getArtifact(), EMPTY_MAP, localRepository, project.getRemoteArtifactRepositories(), metadataSource, null, EMPTY_LIST); return result.getArtifacts(); }
From source file:org.eclipse.che.maven.server.MavenServerImpl.java
License:Open Source License
private MavenResult internalResolveProject(File pom, List<String> activeProfiles, List<String> inactiveProfiles, List<ResolutionListener> dependencyTreeResolutionListeners) { MavenExecutionRequest request = newMavenRequest(pom, activeProfiles, inactiveProfiles, Collections.emptyList()); request.setUpdateSnapshots(updateSnapshots); AtomicReference<MavenResult> reference = new AtomicReference<>(); runMavenRequest(request, () -> {//from www . j a v a2s . c o m try { ProjectBuilder builder = getMavenComponent(ProjectBuilder.class); List<ProjectBuildingResult> resultList = builder.build(Collections.singletonList(pom), false, request.getProjectBuildingRequest()); ProjectBuildingResult result = resultList.get(0); MavenProject mavenProject = result.getProject(); RepositorySystemSession repositorySession = getMavenComponent(LegacySupport.class) .getRepositorySession(); if (repositorySession instanceof DefaultRepositorySystemSession) { ((DefaultRepositorySystemSession) repositorySession) .setTransferListener(new ArtifactTransferListener(mavenProgressNotifier)); if (workspaceCache != null) { ((DefaultRepositorySystemSession) repositorySession) .setWorkspaceReader(new MavenWorkspaceReader(workspaceCache)); } } List<Exception> exceptions = new ArrayList<>(); loadExtensions(mavenProject, exceptions); mavenProject.setDependencyArtifacts( mavenProject.createArtifacts(getMavenComponent(ArtifactFactory.class), null, null)); ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest(); resolutionRequest.setArtifact(mavenProject.getArtifact()); resolutionRequest.setRemoteRepositories(mavenProject.getRemoteArtifactRepositories()); resolutionRequest.setArtifactDependencies(mavenProject.getDependencyArtifacts()); resolutionRequest.setListeners(dependencyTreeResolutionListeners); resolutionRequest.setLocalRepository(localRepo); resolutionRequest.setManagedVersionMap(mavenProject.getManagedVersionMap()); resolutionRequest.setResolveTransitively(true); resolutionRequest.setResolveRoot(false); ArtifactResolver resolver = getMavenComponent(ArtifactResolver.class); ArtifactResolutionResult resolve = resolver.resolve(resolutionRequest); mavenProject.setArtifacts(resolve.getArtifacts()); reference.set(new MavenResult(mavenProject, exceptions)); } catch (Exception e) { reference.set(new MavenResult(null, null, Collections.singletonList(e))); } }); return reference.get(); }
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();/*from w w w . j a v a 2 s.com*/ 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.m2e.wtp.WebProjectConfiguratorDelegate.java
License:Open Source License
public void setModuleDependencies(IProject project, MavenProject mavenProject, IProgressMonitor monitor) throws CoreException { IVirtualComponent component = ComponentCore.createComponent(project); //if the attempt to create dependencies happens before the project is actually created, abort. //this will be created again when the project exists. if (component == null) { return;/*from w ww. java 2s .c o m*/ } //MECLIPSEWTP-41 Fix the missing moduleCoreNature fixMissingModuleCoreNature(project, monitor); DebugUtilities.debug("==============Processing " + project.getName() + " dependencies ==============="); WarPluginConfiguration config = new WarPluginConfiguration(mavenProject, project); IPackagingConfiguration opts = new PackagingConfiguration(config.getPackagingIncludes(), config.getPackagingExcludes()); FileNameMapping fileNameMapping = config.getFileNameMapping(); List<AbstractDependencyConfigurator> depConfigurators = ExtensionReader .readDependencyConfiguratorExtensions(projectManager, MavenPlugin.getMavenRuntimeManager(), mavenMarkerManager); Set<IVirtualReference> references = new LinkedHashSet<IVirtualReference>(); List<IMavenProjectFacade> exportedDependencies = getWorkspaceDependencies(project, mavenProject); Set<String> dups = new HashSet<String>(); Set<String> names = new HashSet<String>(); Map<IVirtualReference, Artifact> referenceMapping = new HashMap<IVirtualReference, Artifact>( exportedDependencies.size()); for (IMavenProjectFacade dependency : exportedDependencies) { String depPackaging = dependency.getPackaging(); if ("pom".equals(depPackaging) //MNGECLIPSE-744 pom dependencies shouldn't be deployed || "war".equals(depPackaging) //Overlays are dealt with the overlay configurator || "zip".equals(depPackaging)) { continue; } try { preConfigureDependencyProject(dependency, monitor); if (!ModuleCoreNature.isFlexibleProject(dependency.getProject())) { //Projects unsupported by WTP (ex. adobe flex projects) should not be added as references continue; } MavenProject depMavenProject = dependency.getMavenProject(monitor); IVirtualComponent depComponent = ComponentCore.createComponent(dependency.getProject()); ArtifactKey artifactKey = ArtifactHelper.toArtifactKey(depMavenProject.getArtifact()); //Get artifact using the proper classifier Artifact artifact = ArtifactHelper.getArtifact(mavenProject.getArtifacts(), artifactKey); if (artifact == null) { //could not map key to artifact artifact = depMavenProject.getArtifact(); } ArtifactHelper.fixArtifactHandler(artifact.getArtifactHandler()); String deployedName = fileNameMapping.mapFileName(artifact); boolean isDeployed = !artifact.isOptional() && opts.isPackaged("WEB-INF/lib/" + deployedName); //an artifact in mavenProject.getArtifacts() doesn't have the "optional" value as depMavenProject.getArtifact(); if (isDeployed) { IVirtualReference reference = ComponentCore.createReference(component, depComponent); IPath path = new Path("/WEB-INF/lib"); reference.setArchiveName(deployedName); reference.setRuntimePath(path); references.add(reference); referenceMapping.put(reference, artifact); if (!names.add(deployedName)) { dups.add(deployedName); } } } catch (RuntimeException ex) { //Should probably be NPEs at this point String dump = DebugUtilities.dumpProjectState("An error occured while configuring a dependency of " + project.getName() + DebugUtilities.SEP, dependency.getProject()); LOG.error(dump); throw ex; } } for (IVirtualReference reference : references) { if (dups.contains(reference.getArchiveName())) { Artifact a = referenceMapping.get(reference); String newName = a.getGroupId() + "-" + reference.getArchiveName(); reference.setArchiveName(newName); } } IVirtualReference[] oldRefs = WTPProjectsUtil.extractHardReferences(component, false); IVirtualReference[] newRefs = references.toArray(new IVirtualReference[references.size()]); if (WTPProjectsUtil.hasChanged(oldRefs, newRefs)) { //Only write in the .component file if necessary IVirtualReference[] overlayRefs = WTPProjectsUtil.extractHardReferences(component, true); IVirtualReference[] allRefs = new IVirtualReference[overlayRefs.length + newRefs.length]; System.arraycopy(newRefs, 0, allRefs, 0, newRefs.length); System.arraycopy(overlayRefs, 0, allRefs, newRefs.length, overlayRefs.length); component.setReferences(allRefs); } //TODO why a 2nd loop??? for (IMavenProjectFacade dependency : exportedDependencies) { MavenProject depMavenProject = dependency.getMavenProject(monitor); Iterator<AbstractDependencyConfigurator> configurators = depConfigurators.iterator(); while (configurators.hasNext()) { try { configurators.next().configureDependency(mavenProject, project, depMavenProject, dependency.getProject(), monitor); } catch (MarkedException ex) { //XXX handle this } } } }
From source file:org.eclipse.tycho.plugins.p2.P2MetadataMojo.java
License:Open Source License
/** * Returns a map from classifiers to artifact files of the given project. The classifier * <code>null</code> is mapped to the project's main artifact. *///from w w w. j a va 2 s . co m private static Map<String, File> getAllProjectArtifacts(MavenProject project) { Map<String, File> artifacts = new HashMap<String, File>(); Artifact mainArtifact = project.getArtifact(); if (mainArtifact != null) { artifacts.put(null, mainArtifact.getFile()); } for (Artifact attachedArtifact : project.getAttachedArtifacts()) { artifacts.put(attachedArtifact.getClassifier(), attachedArtifact.getFile()); } return artifacts; }
From source file:org.efaps.maven_java5.EfapsAnnotationDescriptorExtractor.java
License:Open Source License
/** * * @param _project maven project// w ww . java 2 s. c om * @return * @throws InvalidPluginDescriptorException */ protected ClassLoader getClassLoader(final MavenProject _project) throws InvalidPluginDescriptorException { final List<URL> urls = new ArrayList<URL>(); // append all compile dependencies to the urls final Set<Artifact> toResolve = new HashSet<Artifact>(); for (final Object obj : _project.getDependencies()) { final Dependency dependency = (Dependency) obj; final String scope = dependency.getScope(); if (isCompileScope(scope)) { final Artifact artifact = this.artifactFactory.createArtifact(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion(), scope, dependency.getType()); toResolve.add(artifact); } } try { final ArtifactResolutionResult result = this.artifactResolver.resolveTransitively(toResolve, _project.getArtifact(), getManagedVersionMap(_project), getLocalRepository(), _project.getRemoteArtifactRepositories(), this.artifactMetadataSource, this.filter); for (final Object obj : result.getArtifacts()) { final Artifact artifact = (Artifact) obj; urls.add(artifact.getFile().toURL()); } } catch (final Exception e) { throw new InvalidPluginDescriptorException( "Failed to resolve transitively artifacts: " + e.getMessage(), e); } // append compile class path elements for (final Object obj : _project.getArtifacts()) { final Artifact cpe = (Artifact) obj; try { urls.add(cpe.getFile().toURL()); // URI().toURL() ); } catch (final MalformedURLException e) { getLogger().warn("Cannot convert '" + cpe + "' to URL", e); } } // append target output directory (where the compiled files are) try { urls.add(new File(_project.getBuild().getOutputDirectory()).toURL()); } catch (final MalformedURLException e) { getLogger().warn("Cannot convert '" + _project.getBuild().getOutputDirectory() + "' to URL", e); } if (getLogger().isDebugEnabled()) { getLogger().debug("URLS: \n" + urls.toString().replaceAll(",", "\n ")); } else if (getLogger().isInfoEnabled()) { getLogger().info("URLS: \n" + urls.toString().replaceAll(",", "\n ")); } return new URLClassLoader(urls.toArray(new URL[urls.size()]), getClass().getClassLoader()); }