List of usage examples for org.apache.maven.project MavenProject getDependencies
public List<Dependency> getDependencies()
From source file:org.switchyard.tools.ui.common.impl.SwitchYardProject.java
License:Open Source License
private String readSwitchYardVersion(MavenProject mavenProject) { for (Dependency dependency : mavenProject.getDependencies()) { if (SWITCHYARD_CORE_GROUP_ID.equals(dependency.getGroupId()) && dependency.getVersion() != null) { return dependency.getVersion(); }//from w w w. ja va 2 s . co m } Plugin switchYardPlugin = getSwitchYardPlugin(); if (switchYardPlugin == null) { return null; } return switchYardPlugin.getVersion(); }
From source file:org.switchyard.tools.ui.common.impl.SwitchYardProject.java
License:Open Source License
private Set<ISwitchYardComponentExtension> readComponents(MavenProject mavenProject) { Collection<ISwitchYardComponentExtension> extensions = SwitchYardComponentExtensionManager.instance() .getComponentExtensions();//from ww w.ja va 2 s. c o m Set<ISwitchYardComponentExtension> retVal = new LinkedHashSet<ISwitchYardComponentExtension>( extensions.size()); Set<String> dependencyKeys = createDependencyKeySet(mavenProject.getDependencies()); Set<String> pluginScanners = _plugin.getScannerClasses(); ExtensionsLoop: for (ISwitchYardComponentExtension extension : extensions) { if (extension.getScannerClassName() != null && !pluginScanners.contains(extension.getScannerClassName())) { continue ExtensionsLoop; } for (Dependency dependency : extension.getDependencies()) { if (!dependencyKeys.contains(dependency.getManagementKey())) { continue ExtensionsLoop; } } retVal.add(extension); } return retVal; }
From source file:org.teiid.plugin.maven.Generator.java
License:Open Source License
protected List<String> getArtifactsDependencies() throws IOException { if (!Files.exists(pomPath)) { throw new IllegalArgumentException("Wildfly Feature Pack pom.xml argument not exist, " + pomPath); //$NON-NLS-1$ }//from w w w. j a v a 2 s . c o m MavenXpp3Reader mavenReader = new MavenXpp3Reader(); Model model; try { model = mavenReader.read(Files.newInputStream(pomPath)); } catch (XmlPullParserException e) { throw new RuntimeException(e); } MavenProject project = new MavenProject(model); List<Dependency> dependencies = project.getDependencies(); // return dependencies.stream().map(d -> d.getGroupId() + ":" + d.getArtifactId()).collect(Collectors.toList()); List<String> dependencyArtifact = new ArrayList<>(dependencies.size()); for (Dependency d : dependencies) { dependencyArtifact.add(d.getGroupId() + ":" + d.getArtifactId()); } return dependencyArtifact; }
From source file:org.universAAL.maven.treebuilder.DependencyTreeBuilder.java
License:Apache License
/** * Method builds dependency tree for a list of maven projects. All artifacts * in the tree are crosschecked against duplications and conflicts. In each * case of duplication, conflict, the case is resolved by omitting artifact * which is lower in the tree and keeping artifact which is higher in the * tree. If artifacts are on the same level then the one occuring first in * the tree is kept./*from w w w. ja v a 2 s.c om*/ * * @param repository * Maven repository. * @param factory * Factory used for creating artifacts. * @param metadataSource * ArtifactMetadataSource provided by maven. * @param projectDescs * list of maven project descriptors. Each descriptor contains * MavenProject, a list of project's remote repositories and a * boolean indicator if the project needs to be resolved * transitively or not. * @return a dependency tree as a list of rootnodes (instances of * DependencyNode class) which contain their own subtrees. Each * rootnode corresponds to one maven project provided as argument. * The order of rootnodes list is the same as order of provided * maven projects list. * @throws DependencyTreeBuilderException * Notifies about a problem during building the dependency tree. * @throws ArtifactMetadataRetrievalException * Signals problem with metadata retieval. * @throws InvalidVersionSpecificationException * Informs about invalid version specifications. * @throws NoSuchFieldException * Exception related to reflection. * @throws SecurityException * Exception thrown by security manager. * @throws IllegalAccessException * Illegal access during usage of java reflection. * @throws IllegalArgumentException * Illegal argument was passed. */ public List<RootNode> buildDependencyTree(final ArtifactRepository repository, final ArtifactFactory factory, final ArtifactMetadataSource metadataSource, final MavenProjectDescriptor... projectDescs) throws DependencyTreeBuilderException, ArtifactMetadataRetrievalException, InvalidVersionSpecificationException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException { ArtifactFilter filter = new ScopeArtifactFilter(); DependencyTreeResolutionListener listener = new DependencyTreeResolutionListener(filter); Map resolvedArtifacts = new LinkedHashMap(); for (MavenProjectDescriptor projectDesc : projectDescs) { MavenProject project = projectDesc.project; try { List<String> separatedGroupId = extractSeparatedGroupIds(project); // Here you can simply add to create a new list List remoteRepositories = projectDesc.remoteRepositories; // If artifact is marked in pom as a bundle then it is changed // to jar. Retaining bundle can impose problems when the // artifact is duplicated or conflicted with other artifact // specified as a dependency, because in the // dependency there is only jar type specified. Artifact originatingArtifact = project.getArtifact(); this.stringifiedRoot = FilteringVisitorSupport.stringify(originatingArtifact); if ("bundle".equals(originatingArtifact.getType())) { Artifact changeArtifact = artifactFactory.createArtifact(originatingArtifact.getGroupId(), originatingArtifact.getArtifactId(), originatingArtifact.getVersion(), originatingArtifact.getScope(), "jar"); originatingArtifact = changeArtifact; } ResolutionNode root = new ResolutionNode(originatingArtifact, remoteRepositories); // If the project is not supposed to be transitively resolved // then its dependencies are not added to the root. Moreover the // parameter is passed to the recurse method. Thanks to than // when transitive is false, resolving of runtime dependencies // is not performed. if (projectDesc.transitive) { Set<Artifact> dependencyArtifacts = project.getDependencyArtifacts(); if (dependencyArtifacts == null) { dependencyArtifacts = new LinkedHashSet(); List dependencies = project.getDependencies(); for (Object depObj : dependencies) { Dependency dep = (Dependency) depObj; if (dep.isOptional()) { // filtering optional dependencies continue; } Artifact dependencyArtifact; VersionRange versionRange = VersionRange.createFromVersionSpec(dep.getVersion()); dependencyArtifact = factory.createDependencyArtifact(dep.getGroupId(), dep.getArtifactId(), versionRange, dep.getType(), dep.getClassifier(), dep.getScope()); if (dep.getExclusions() != null) { if (!dep.getExclusions().isEmpty()) { List<String> patterns = new ArrayList<String>(); for (Exclusion exclusion : dep.getExclusions()) { patterns.add(exclusion.getGroupId() + ":" + exclusion.getArtifactId()); } dependencyArtifact.setDependencyFilter(new ExcludesArtifactFilter(patterns)); } } dependencyArtifacts.add(dependencyArtifact); } } else { // filtering optional dependencies Set<Artifact> filteredArtifacts = new LinkedHashSet(); for (Artifact a : dependencyArtifacts) { if (!a.isOptional()) { filteredArtifacts.add(a); } } dependencyArtifacts = filteredArtifacts; } for (Artifact depArtifact : dependencyArtifacts) { if (depArtifact.getVersion() != null) { if (!depArtifact.getVersion().equals(depArtifact.getBaseVersion())) { if (depArtifact.isSnapshot()) { depArtifact.setVersion(depArtifact.getBaseVersion()); } } } } root.addDependencies(dependencyArtifacts, remoteRepositories, filter); } // Information about managed versions is extracted from the // artifact's pom (but also from parent poms and settings.xml // file). ManagedVersionMap versionMap = getManagedVersionsMap(originatingArtifact, project.getManagedVersionMap()); recurse(originatingArtifact, root, resolvedArtifacts, versionMap, localRepository, remoteRepositories, metadataSource, filter, listener, projectDesc.transitive, new HashSet<String>(separatedGroupId)); } catch (ArtifactResolutionException exception) { throw new DependencyTreeBuilderException("Cannot build project dependency tree", exception); } } return listener.getRootNodes(); }
From source file:org.universAAL.support.directives.checks.FelixDepCheckFix.java
License:Apache License
/** {@ inheritDoc} */ public boolean check(MavenProject mavenproject, Log log) throws MojoExecutionException, MojoFailureException { List<Dependency> deps = mavenproject.getDependencies(); for (Dependency d : deps) { if (d.getGroupId().contains("felix")) { log.info("felix dependency found"); return false; }/*from w ww . j a va 2 s .c o m*/ } return true; }
From source file:org.wso2.developerstudio.eclipse.artifact.analytics.publisher.refactor.CommonArtifactDeleteParticipant.java
License:Open Source License
@Override public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException { CompositeChange deleteChange = new CompositeChange("Delete Analytics Artifact"); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { if (project.isOpen() && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) { try { IFile pomFile = project.getFile("pom.xml"); MavenProject mavenProject = RefactorUtils.getMavenProject(project); AnalyticsArtifactModel analyticsArtifactFromFile = RefactorUtils.getAnalyticsArtifactFromFile( originalFile, AnalyticsConstants.ANALYTICS_PROJECT_NATURE); Dependency projectDependency = null; if (analyticsArtifactFromFile != null) { projectDependency = new Dependency(); projectDependency.setGroupId(analyticsArtifactFromFile.getGroupId()); projectDependency.setArtifactId(originalFile.getName().substring(0, originalFile.getName().length() - originalFile.getFileExtension().length() - 1)); projectDependency.setVersion(analyticsArtifactFromFile.getVersion()); } else { projectDependency = RefactorUtils.getDependencyForTheProject(originalFile); projectDependency.setArtifactId(originalFile.getName().substring(0, originalFile.getName().length() - originalFile.getFileExtension().length() - 1)); }/*from w w w. j a v a2 s . c o m*/ if (mavenProject != null) { List<?> dependencies = mavenProject.getDependencies(); for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) { Dependency dependency = (Dependency) iterator.next(); if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) { deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile, projectDependency)); } } } } catch (Exception e) { log.error("Error occured while trying to generate the Refactoring", e); } } } return deleteChange; }
From source file:org.wso2.developerstudio.eclipse.artifact.analytics.publisher.refactor.CommonRenameRefactorParticipant.java
License:Open Source License
public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException { String changedNameWithoutExtention = FilenameUtils.removeExtension(changedFileName); String originalNameWithoutExtension = FilenameUtils.removeExtension(originalFile.getName()); CompositeChange compositeChange = new CompositeChange("Analytics Artifact Rename"); // Change content of the original file CommonArtifactFileChange artifactFileChange = new CommonArtifactFileChange( "Renaming Analytics Artifact " + originalNameWithoutExtension, originalFile, originalNameWithoutExtension, changedNameWithoutExtention); compositeChange.add(artifactFileChange); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { if (projects[i].isOpen() && projects[i].hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) { try { MavenProject mavenProject = MavenUtils .getMavenProject(projects[i].getFile("pom.xml").getLocation().toFile()); List<?> dependencies = mavenProject.getDependencies(); for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) { Dependency dependency = (Dependency) iterator.next(); if (originalNameWithoutExtension.equalsIgnoreCase(dependency.getArtifactId())) { compositeChange.add(new MavenConfigurationFileChange(projects[i].getName(), projects[i].getFile("pom.xml"), originalNameWithoutExtension, projects[i], changedNameWithoutExtention)); }// ww w .java2 s .c o m } } catch (Exception e) { log.error("Error occured while trying to generate the Refactoring.", e); } } } return compositeChange; }
From source file:org.wso2.developerstudio.eclipse.artifact.endpoint.refactor.EndpointArtifactDeleteParticipant.java
License:Open Source License
@Override public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException { IFile pomFile = null;//from w w w . j a va 2 s . co m CompositeChange deleteChange = new CompositeChange("Delete ESB artifact from CApp"); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { if (project.isOpen() && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) { try { pomFile = project.getFile("pom.xml"); try { pomFile.refreshLocal(0, new NullProgressMonitor()); } catch (Exception ignore) { } MavenProject mavenProject = RefactorUtils.getMavenProject(project); ESBArtifact esbArtifactFromFile = RefactorUtils.getESBArtifactFromFile(originalFile, "org.wso2.developerstudio.eclipse.esb.project.nature"); Dependency projectDependency = null; if (esbArtifactFromFile != null) { projectDependency = new Dependency(); projectDependency.setGroupId(esbArtifactFromFile.getGroupId()); projectDependency.setArtifactId(originalFile.getName().substring(0, originalFile.getName().length() - originalFile.getFileExtension().length() - 1)); projectDependency.setVersion(esbArtifactFromFile.getVersion()); } else { projectDependency = RefactorUtils.getDependencyForTheProject(originalFile); projectDependency.setArtifactId(originalFile.getName().substring(0, originalFile.getName().length() - originalFile.getFileExtension().length() - 1)); } if (mavenProject != null) { List<?> dependencies = mavenProject.getDependencies(); for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) { Dependency dependency = (Dependency) iterator.next(); if (RefactorUtils.isDependenciesEqual(projectDependency, dependency)) { deleteChange.add(new MavenConfigurationFileDeleteChange(project.getName(), pomFile, projectDependency)); } } } } catch (Exception e) { log.error("Error occurred while trying to generate the Refactoring", e); } finally { try { if (pomFile != null) { pomFile.refreshLocal(0, new NullProgressMonitor()); } } catch (Exception ignore) { } } } } return deleteChange; }
From source file:org.wso2.developerstudio.eclipse.artifact.endpoint.refactor.EndpointRenameRefactorParticipant.java
License:Open Source License
public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException { String changedNameWithoutExtention = FilenameUtils.removeExtension(changedFileName); String originalNameWithoutExtension = FilenameUtils.removeExtension(originalFile.getName()); CompositeChange compositeChange = new CompositeChange("ESB Artifact Rename"); // Change content of the original file EndpointArtifactFileChange endpointArtifactFileChange = new EndpointArtifactFileChange( "Renaming ESB Artifact in CApp" + originalNameWithoutExtension, originalFile, originalNameWithoutExtension, changedNameWithoutExtention); compositeChange.add(endpointArtifactFileChange); IFile pomFile = null;// w w w . j ava 2 s.c o m IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (int i = 0; i < projects.length; i++) { if (projects[i].isOpen() && projects[i].hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) { try { pomFile = projects[i].getFile("pom.xml"); try { pomFile.refreshLocal(0, new NullProgressMonitor()); } catch (Exception ignore) { } MavenProject mavenProject = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); List<?> dependencies = mavenProject.getDependencies(); for (Iterator<?> iterator = dependencies.iterator(); iterator.hasNext();) { Dependency dependency = (Dependency) iterator.next(); if (originalNameWithoutExtension.equalsIgnoreCase(dependency.getArtifactId())) { compositeChange.add(new MavenConfigurationFileChange(projects[i].getName(), projects[i].getFile("pom.xml"), originalNameWithoutExtension, projects[i], changedNameWithoutExtention, dependency)); } } } catch (Exception e) { log.error("Error occurred while trying to generate the Refactoring.", e); } finally { try { if (pomFile != null) { pomFile.refreshLocal(0, new NullProgressMonitor()); } } catch (Exception ignore) { } } } } return compositeChange; }
From source file:org.wso2.developerstudio.eclipse.artifact.registry.handler.project.export.RegistryHandlerArtifactHandler.java
License:Open Source License
public List<IResource> exportArtifact(IProject project) throws Exception { List<IResource> exportResources = new ArrayList<IResource>(); List<String> exportedPackageList = new ArrayList<String>(); String activatorClass = new String(); String existingActivatorClass = new String(); ArchiveManipulator archiveManipulator = new ArchiveManipulator(); // getting maven details MavenProject mavenProject = MavenUtils.getMavenProject(project.getFile("pom.xml").getLocation().toFile()); // Get the output location IJavaProject javaProject = JavaCore.create(project); clearTarget(project);//from ww w . j av a 2 s.c o m IPath outPutPath = buildJavaProject(project); // get resource location IPath resources = getResourcePath(project); // getting export packages for (IPackageFragment pkg : javaProject.getPackageFragments()) { if (pkg.getKind() == IPackageFragmentRoot.K_SOURCE) { if (pkg.hasChildren()) { exportedPackageList.add(pkg.getElementName()); for (ICompilationUnit compilationUnit : pkg.getCompilationUnits()) { IType[] types = compilationUnit.getTypes(); for (IType type : types) { if (type.getSuperInterfaceNames().length > 0 && Arrays.asList(type.getSuperInterfaceNames()).contains("BundleActivator")) { activatorClass = type.getFullyQualifiedName(); } } } } } } List<Plugin> plugins = mavenProject.getBuild().getPlugins(); for (Plugin plugin : plugins) { if ("maven-bundle-plugin".equalsIgnoreCase(plugin.getArtifactId())) { Xpp3Dom configurationNode = (Xpp3Dom) plugin.getConfiguration(); Xpp3Dom[] instructions = configurationNode.getChildren("instructions"); if (instructions.length == 1) { Xpp3Dom[] exportPackage = instructions[0].getChildren("Export-Package"); if (exportPackage.length == 1) { exportedPackageList.clear(); //clear default configuration (All packages by default) String packages = exportPackage[0].getValue(); if (packages != null) { exportedPackageList.addAll(Arrays.asList(packages.split(","))); } } else { log.warn("Invalid configuration for <Export-Package> entry" + " using default configuration for <Export-Package>"); } } else { log.warn("Invalid instructions configuration for plugin : maven-bundle-plugin" + " using default configuration for <Export-Package>"); } break; //not considering multiple versions of the maven-bundle-plugin } } File tempProject = createTempProject(); File bundleResources = createTempDir(tempProject, "bundle_resources"); if (exportedPackageList.size() > 0) { FileUtils.copyDirectoryContents(outPutPath.toFile(), bundleResources); // copy // binaries } if (resources.toFile().exists()) { FileUtils.copyDirectoryContents(resources.toFile(), bundleResources); // copy // resources } @SuppressWarnings("unchecked") List<Dependency> dependencies = mavenProject.getDependencies(); Iterator<Dependency> iterator = dependencies.iterator(); while (iterator.hasNext()) { Dependency dependency = iterator.next(); if ("system".equals(dependency.getScope())) { String systemPath = dependency.getSystemPath(); if (systemPath != null && !systemPath.trim().isEmpty()) { systemPath = systemPath.replaceAll("^".concat(Pattern.quote("${basedir}/")), ""); IFile jarFile = project.getFile(systemPath); if (jarFile.exists()) { archiveManipulator.extract(jarFile.getLocation().toFile(), bundleResources); // getting export packages IPackageFragmentRoot rootPkg = JavaCore.createJarPackageFragmentRootFrom(jarFile); for (IJavaElement item : rootPkg.getChildren()) { if (item instanceof IPackageFragment) { IPackageFragment pkg = (IPackageFragment) item; if (pkg.hasChildren()) { exportedPackageList.add(pkg.getElementName()); for (IClassFile clazz : pkg.getClassFiles()) { IType type = clazz.getType(); if (type.getSuperInterfaceNames().length > 0 && Arrays .asList(type.getSuperInterfaceNames()).contains(ACTIVATOR_FQN)) { existingActivatorClass = type.getFullyQualifiedName(); } } } } } } } } } if (activatorClass.trim().isEmpty()) { activatorClass = existingActivatorClass; } /* writing manifest */ BundleManifest manifest = new BundleManifest(); manifest.setBundleName(project.getName()); manifest.setBundleSymbolicName(project.getName()); if (null != mavenProject.getModel().getDescription() && !"".equals(mavenProject.getModel().getDescription())) { manifest.setBundleDescription(mavenProject.getModel().getDescription()); } else { manifest.setBundleDescription(project.getName()); } if (null != mavenProject.getModel().getVersion() && !"".equals(mavenProject.getDescription())) { manifest.setBundleVersion(mavenProject.getModel().getVersion()); } else { manifest.setBundleVersion("1.0.0"); } manifest.setBundleActivatorName(activatorClass); manifest.setExportPackagesList(exportedPackageList); File metaInfDir = new File(bundleResources, "META-INF"); if (!metaInfDir.exists()) metaInfDir.mkdir(); File manifestFile = new File(metaInfDir, "MANIFEST.MF"); FileUtils.createFile(manifestFile, manifest.toString()); File tmpArchive = new File(tempProject, project.getName().concat(".jar")); archiveManipulator.archiveDir(tmpArchive.toString(), bundleResources.toString()); IFile bundleArchive = getTargetArchive(project, "jar"); FileUtils.copy(tmpArchive, bundleArchive.getLocation().toFile()); exportResources.add((IResource) bundleArchive); TempFileUtils.cleanUp(); return exportResources; }