List of usage examples for org.apache.maven.project MavenProject getDependencies
public List<Dependency> getDependencies()
From source file:com.github.alexfalappa.nbspringboot.projects.service.spi.SpringBootServiceImpl.java
License:Apache License
private boolean dependencyArtifactIdContains(NbMavenProject nbMvn, String artifactId) { MavenProject mPrj = nbMvn.getMavenProject(); for (Object o : mPrj.getDependencies()) { Dependency d = (Dependency) o;// www. j ava 2s .c om if (d.getArtifactId().contains(artifactId)) { return true; } } return false; }
From source file:com.github.ferstl.maven.pomenforcers.PedanticDependencyOrderEnforcer.java
License:Apache License
@Override protected Collection<Dependency> getMavenDependencies(MavenProject project) { return project.getDependencies(); }
From source file:com.github.zhve.ideaplugin.ArtifactDependencyResolver.java
License:Apache License
/** * Transitive resolve all dependencies for reactor projects * * @param artifactFactory standard Maven's factory to create artifacts * @param reactorArtifacts reactor artifacts * @param reactorProjects reactor projects * @return dependency map: reactor project -> dependency data * @throws InvalidVersionSpecificationException error *//*w ww.jav a2s .c om*/ private Map<MavenProject, DependencyData> findDependencies(Log log, ArtifactFactory artifactFactory, Set<Artifact> reactorArtifacts, List<MavenProject> reactorProjects) throws InvalidVersionSpecificationException { // artifact -> all transitive dependencies Map<Artifact, DependencyData> dependencyMap = new HashMap<Artifact, DependencyData>(); log.info(""); log.info("Detect Dependencies"); for (MavenProject project : reactorProjects) { log.info(""); log.info(project.getId()); List<Artifact> remoteData = new ArrayList<Artifact>(); List<Artifact> reactorData = new ArrayList<Artifact>(); for (Object object : project.getDependencies()) { Dependency dependency = (Dependency) object; Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency); boolean reactor = reactorArtifacts.contains(dependencyArtifact); String id = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope(); if ("jar".equals(dependencyArtifact.getType())) { if (reactor) { log.info("R " + id); reactorData.add(dependencyArtifact); } else { log.info(" " + id); remoteData.add(dependencyArtifact); } } else { log.info("O " + id + " (type=" + dependencyArtifact.getType() + ")"); } } // save dependency data for project dependencyMap.put(project.getArtifact(), new DependencyData(remoteData, reactorData)); } log.info(""); log.info("Resolve Dependencies"); Map<MavenProject, DependencyData> result = new LinkedHashMap<MavenProject, DependencyData>(); for (MavenProject project : reactorProjects) { log.info(""); log.info(project.getId()); Map<String, Artifact> reactorData = new LinkedHashMap<String, Artifact>(); Map<String, Artifact> remoteData = new LinkedHashMap<String, Artifact>(); Queue<Artifact> queue = new LinkedList<Artifact>(); queue.add(project.getArtifact()); while (!queue.isEmpty()) { Artifact artifact = queue.poll(); log.info("# " + artifact.getId() + ":" + artifact.getScope()); DependencyData artifactDependencyData = dependencyMap.get(artifact); // analyze all remote dependencies for given level for (Artifact dependency : artifactDependencyData.getRemoteList()) { String dependencyConflictId = dependency.getDependencyConflictId(); Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency, artifact.getScope()); if (dependencyArtifact != null) { String fullName = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope(); Artifact prevArtifact = remoteData.get(dependencyConflictId); if (prevArtifact == null) { // new remote dependency log.info(" " + fullName); remoteData.put(dependencyConflictId, dependencyArtifact); } else { // we have already added this remote dependency if (prevArtifact.getId().equals(dependencyArtifact.getId())) { log.info("D " + fullName); } else { log.info("C " + fullName); log.info(" " + project.getArtifact().getId()); log.info(" " + "+-" + prevArtifact.getId() + ":" + prevArtifact.getScope()); log.info(" " + "+-" + artifact.getId() + ":" + artifact.getScope()); log.info(" " + " \\-" + fullName); } } } else { log.info("O " + dependency.getId() + ":" + dependency.getScope() + " (inherit=" + artifact.getId() + ":" + artifact.getScope() + ")"); } } // analyze all reactor dependencies for given level for (Artifact dependency : artifactDependencyData.getReactorList()) { String dependencyConflictId = dependency.getDependencyConflictId(); Artifact dependencyArtifact = toDependencyArtifact(artifactFactory, dependency, artifact.getScope()); if (dependencyArtifact != null) { String fullName = dependencyArtifact.getId() + ":" + dependencyArtifact.getScope(); Artifact prevArtifact = reactorData.get(dependencyConflictId); if (prevArtifact == null) { // new reactor dependency log.info("R " + fullName); reactorData.put(dependencyConflictId, dependencyArtifact); // go deep queue.add(dependencyArtifact); } else { // we have already added this remote dependency if (prevArtifact.getId().equals(dependencyArtifact.getId())) { log.info("D " + fullName); } else { log.info("C " + fullName); log.info(" " + project.getArtifact().getId()); log.info(" " + "+-" + prevArtifact.getId() + ":" + prevArtifact.getScope()); log.info(" " + "+-" + artifact.getId() + ":" + artifact.getScope()); log.info(" " + " \\-" + fullName); } } } else { log.info("O " + dependency.getId() + ":" + dependency.getScope() + " (inherit=" + artifact.getId() + ":" + artifact.getScope() + ")"); } } } result.put(project, new DependencyData(new ArrayList<Artifact>(remoteData.values()), new ArrayList<Artifact>(reactorData.values()))); } return result; }
From source file:com.google.gdt.eclipse.maven.configurators.MavenProjectConfigurator.java
License:Open Source License
/** * Configure the GWT Nature.//from w w w. java2s. com * * @param mavenProject * @param monitor */ protected void configureGwtProject(MavenProject mavenProject, IProgressMonitor monitor) { // Get the GWT version from the project pom String gwtVersion = null; List<Dependency> dependencies = mavenProject.getDependencies(); for (Dependency dependency : dependencies) { boolean hasGwtGroupId = GWTMavenRuntime.MAVEN_GWT_GROUP_ID.equals(dependency.getGroupId()); boolean hasGwtUserArtivactId = GWTMavenRuntime.MAVEN_GWT_USER_ARTIFACT_ID .equals(dependency.getArtifactId()); boolean hasGwtUserServletId = GWTMavenRuntime.MAVEN_GWT_SERVLET_ARTIFACT_ID .equals(dependency.getArtifactId()); if (hasGwtGroupId && (hasGwtUserArtivactId || hasGwtUserServletId)) { gwtVersion = dependency.getVersion(); Activator.log("MavenProjectConfigurator, Maven: Setting up Gwt Project. hasGwtGroupId=" + hasGwtGroupId + " hasGwtUser=" + hasGwtUserArtivactId + " hasGwtUserServletId=" + hasGwtUserServletId); break; } } Activator.log("MavenProjectConfigurator, Maven: gwtVersion=" + gwtVersion); resolveGwtDevJar(mavenProject, monitor, gwtVersion); }
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 w w w . j a va 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.googlecode.japi.checker.maven.plugin.RuntimeDependencyResolver.java
License:Apache License
/** * Download (if necessary) a pom, and load it as a MavenProject, transitively resolving any * dependencies therein./* w w w . ja va 2 s.c o m*/ * * @param projectBuilder * @param groupId * @param artifactId * @param versionId * @return a Set of Artifacts representing the transitively resolved dependencies. * @throws MalformedURLException * @throws ProjectBuildingException * @throws InvalidDependencyVersionException * @throws ArtifactResolutionException * @throws ArtifactNotFoundException */ public Set<Artifact> transitivelyResolvePomDependencies(MavenProjectBuilder projectBuilder, String groupId, String artifactId, String versionId, boolean resolveProjectArtifact) throws MalformedURLException, ProjectBuildingException, InvalidDependencyVersionException, ArtifactResolutionException, ArtifactNotFoundException { Artifact pomArtifact = getPomArtifact(groupId, artifactId, versionId); MavenProject project = loadPomAsProject(projectBuilder, pomArtifact); @SuppressWarnings("rawtypes") List dependencies = project.getDependencies(); @SuppressWarnings("unchecked") Set<Artifact> dependencyArtifacts = MavenMetadataSource.createArtifacts(artifactFactory, dependencies, null, null, null); dependencyArtifacts.add(project.getArtifact()); @SuppressWarnings("rawtypes") List listeners = Collections.EMPTY_LIST; ArtifactResolutionResult result = artifactResolver.resolveTransitively(dependencyArtifacts, pomArtifact, Collections.EMPTY_MAP, localRepository, remoteRepositories, metadataSource, null, listeners); @SuppressWarnings("unchecked") Set<Artifact> artifacts = result.getArtifacts(); LOGGER.fine("RESOLVED " + artifacts.size() + " ARTIFACTS"); Iterator<Artifact> itor = artifacts.iterator(); while (itor.hasNext()) { Artifact a = (Artifact) itor.next(); LOGGER.fine(a.getFile().toURI().toURL().toString()); } return artifacts; }
From source file:com.liferay.ide.maven.core.LiferayPortalMaven.java
License:Open Source License
@Override public String getVersion() { String retval = null;/* ww w. j a v a 2 s . c o m*/ final IMavenProjectFacade projectFacade = MavenUtil.getProjectFacade(this.lrMvnProject.getProject()); if (projectFacade != null) { try { final MavenProject mavenProject = projectFacade.getMavenProject(new NullProgressMonitor()); String liferayVersion = MavenUtil.getLiferayMavenPluginConfig(mavenProject, ILiferayMavenConstants.PLUGIN_CONFIG_LIFERAY_VERSION); if (liferayVersion == null) { liferayVersion = mavenProject.getProperties().getProperty("liferay.version"); if (liferayVersion == null) { // look through dependencies for portal-service final List<Dependency> deps = mavenProject.getDependencies(); if (deps != null) { for (Dependency dep : deps) { if (dep.getArtifactId().startsWith("portal-") && dep.getGroupId().startsWith("com.liferay")) { liferayVersion = dep.getVersion(); break; } } } } } if (liferayVersion != null) { retval = MavenUtil.getVersion(liferayVersion); } } catch (CoreException e) { } } return retval; }
From source file:com.liferay.ide.maven.core.MavenProjectBuilder.java
License:Open Source License
@Override public IStatus updateProjectDependency(IProject project, List<String[]> dependencies) throws CoreException { IMavenProjectFacade projectFacade = MavenUtil.getProjectFacade(project, new NullProgressMonitor()); if (projectFacade != null) { MavenProject mavenProject = projectFacade.getMavenProject(new NullProgressMonitor()); List<Dependency> existedDependencies = mavenProject.getDependencies(); final IMaven maven = MavenPlugin.getMaven(); File pomFile = new File(project.getLocation().toOSString(), IMavenConstants.POM_FILE_NAME); Model model = maven.readModel(pomFile); for (String[] dependency : dependencies) { Dependency de = new Dependency(); de.setGroupId(dependency[0]); de.setArtifactId(dependency[1]); de.setVersion(dependency[2]); String newKey = de.getManagementKey(); boolean existed = false; for (Dependency existedDependency : existedDependencies) { String existedKey = existedDependency.getManagementKey(); if (existedKey.equals(newKey)) { existed = true;//from w w w. j a va 2 s . c om break; } } if (existed == false && model != null) { model.addDependency(de); } } try (FileOutputStream out = new FileOutputStream(pomFile)) { maven.writeModel(model, out); out.flush(); out.close(); final WorkspaceJob job = new WorkspaceJob("Updating project " + project.getName()) { public IStatus runInWorkspace(IProgressMonitor monitor) { try { project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); MavenPlugin.getProjectConfigurationManager().updateProjectConfiguration(project, monitor); } catch (CoreException ex) { return ex.getStatus(); } return Status.OK_STATUS; } }; job.schedule(); } catch (Exception e) { return LiferayMavenCore.createErrorStatus("Error updating maven project dependency", e); } } return Status.OK_STATUS; }
From source file:com.liferay.maven.plugins.AbstractToolsLiferayMojo.java
License:Open Source License
protected void copyLibraryDependencies(File libDir, Artifact artifact, boolean dependencyAddVersion, boolean dependencyAddClassifier, boolean copyTransitive) throws Exception { MavenProject mavenProject = resolveProject(artifact); List<Dependency> dependencies = mavenProject.getDependencies(); for (Dependency dependency : dependencies) { String scope = dependency.getScope(); if (Validator.isNotNull(scope) && (scope.equalsIgnoreCase("provided") || scope.equalsIgnoreCase("test"))) { continue; }/* w w w .j a va 2s.c om*/ String type = dependency.getType(); if (type.equalsIgnoreCase("pom")) { continue; } Artifact libArtifact = resolveArtifact(dependency); String libJarFileName = libArtifact.getArtifactId(); if (dependencyAddVersion) { if (Validator.isNotNull(libArtifact.getVersion())) { libJarFileName += "-" + libArtifact.getVersion(); } } if (dependencyAddClassifier) { if (Validator.isNotNull(libArtifact.getClassifier())) { libJarFileName += "-" + libArtifact.getClassifier(); } } File libArtifactFile = libArtifact.getFile(); libJarFileName += "." + FileUtil.getExtension(libArtifactFile.getName()); CopyTask.copyFile(libArtifactFile, libDir, libJarFileName, null, true, true); if (copyTransitive) { copyLibraryDependencies(libDir, libArtifact, dependencyAddVersion, dependencyAddClassifier, copyTransitive); } } }
From source file:com.mebigfatguy.fbp.FBPMojo.java
License:Apache License
@Override public void execute() throws MojoExecutionException { if (executed) { return;/*from w w w. ja v a2 s . co m*/ } executed = true; try (PrintWriter pw = getFBPStream()) { pw.println("<Project projectName=\"" + project.getName() + "\">"); List<MavenProject> projects = session.getProjectDependencyGraph().getSortedProjects(); Set<String> jars = new TreeSet<>(); for (MavenProject module : projects) { jars.add(module.getBuild().getOutputDirectory()); } for (String jar : jars) { pw.println("\t<Jar>" + makeRelativePath(jar) + "</Jar>"); } Set<Dependency> dependencies = new TreeSet<>(new DependencyComparator()); for (MavenProject module : projects) { dependencies.addAll(module.getDependencies()); } String localRepo = settings.getLocalRepository(); if (!localRepo.endsWith("/") && !localRepo.endsWith("\\")) { localRepo += "/"; } for (Dependency dependency : dependencies) { pw.println("\t<AuxClasspathEntry>" + localRepo + dependency.getGroupId().replace('.', '/') + "/" + dependency.getArtifactId() + "/" + dependency.getVersion() + "/" + dependency.getArtifactId() + "-" + dependency.getVersion() + "." + dependency.getType() + "</AuxClasspathEntry>"); } Set<String> srcRoots = new TreeSet<>(); for (MavenProject module : projects) { srcRoots.addAll(module.getCompileSourceRoots()); } for (String srcRoot : srcRoots) { pw.println("\t<SrcDir>" + makeRelativePath(srcRoot) + "</SrcDir>"); } pw.println("</Project>"); } catch (IOException e) { throw new MojoExecutionException("Failed to generate fbp file", e); } }