List of usage examples for org.apache.maven.project MavenProject setDependencies
public void setDependencies(List<Dependency> dependencies)
From source file:org.wso2.developerstudio.eclipse.artifact.library.ui.wizard.LibraryArtifactCreationWizard.java
License:Open Source License
private static void handleWorkspaceProjectResource(IProject workSpacePrj) throws JavaModelException, Exception, CoreException { File pomfile = workSpacePrj.getFile("pom.xml").getLocation().toFile(); if (!pomfile.exists()) { String srcDir = "src"; MavenProject mavenProject = MavenUtils.createMavenProject("org.wso2.carbon." + workSpacePrj.getName(), workSpacePrj.getName(), "1.0.0", "jar"); IJavaProject javaProject = JavaCore.create(workSpacePrj); IClasspathEntry[] classpath = javaProject.getRawClasspath(); int entryCount = 0; for (IClasspathEntry classpathEntry : classpath) { if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { if (entryCount == 0) { String entryPath = ""; String[] pathSegments = classpathEntry.getPath().segments(); if (pathSegments.length > 1) { for (int i = 1; i < pathSegments.length; i++) { if (i == 1) { entryPath = pathSegments[i]; } else { entryPath += "/" + pathSegments[i]; }/* ww w . j av a 2 s . c om*/ } if (entryPath.length() > 0) { srcDir = entryPath; ++entryCount; } } } else { log.warn("multiple source directories found, Considering '" + srcDir + "' as source directory"); break; } } } if (entryCount == 0) { log.warn("No source directory specified, using default source directory."); } /* adding wso2 nexus repository */ Repository nexusRepo = new Repository(); nexusRepo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/"); nexusRepo.setId("wso2-maven2-repository-1"); mavenProject.getModel().addRepository(nexusRepo); mavenProject.getModel().addPluginRepository(nexusRepo); /* adding maven dependencies */ List<Dependency> libList = new ArrayList<Dependency>(); Map<String, JavaLibraryBean> dependencyMap = JavaLibraryUtil.getDependencyInfoMap(workSpacePrj); for (JavaLibraryBean bean : dependencyMap.values()) { Dependency dependency = new Dependency(); dependency.setArtifactId(bean.getArtifactId()); dependency.setGroupId(bean.getGroupId()); dependency.setVersion(bean.getVersion()); libList.add(dependency); } mavenProject.setDependencies(libList); mavenProject.getBuild().setSourceDirectory(srcDir); MavenUtils.saveMavenProject(mavenProject, pomfile); } workSpacePrj.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); }
From source file:org.wso2.developerstudio.eclipse.artifact.registry.handler.ui.wizard.RegistryHandlerCreationWizard.java
License:Open Source License
public void updatePom(IProject project, HandlerInfo handlerInfo) throws Exception { File mavenProjectPomLocation = project.getFile("pom.xml").getLocation().toFile(); MavenProject mavenProject = MavenUtils.getMavenProject(mavenProjectPomLocation); Properties properties = mavenProject.getModel().getProperties(); properties.put("CApp.type", "lib/registry/handlers"); mavenProject.getModel().setProperties(properties); Plugin plugin = MavenUtils.createPluginEntry(mavenProject, "org.apache.felix", "maven-bundle-plugin", "2.3.4", true); Xpp3Dom configurationNode = MavenUtils.createMainConfigurationNode(plugin); Xpp3Dom instructionNode = MavenUtils.createXpp3Node("instructions"); Xpp3Dom bundleSymbolicNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-SymbolicName"); Xpp3Dom bundleNameNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Name"); Xpp3Dom bundleActivatorNode = MavenUtils.createXpp3Node(instructionNode, "Bundle-Activator"); Xpp3Dom exportPackageNode = MavenUtils.createXpp3Node(instructionNode, "Export-Package"); Xpp3Dom dynamicImportNode = MavenUtils.createXpp3Node(instructionNode, "DynamicImport-Package"); bundleSymbolicNameNode.setValue(project.getName()); bundleNameNode.setValue(project.getName()); bundleActivatorNode.setValue(BUNDLE_ACTIVATOR_NAME); exportPackageNode.setValue(getExportedPackage(handlerInfo)); dynamicImportNode.setValue("*"); configurationNode.addChild(instructionNode); Repository repo = new Repository(); repo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/"); repo.setId("wso2-maven2-repository-1"); mavenProject.getModel().addRepository(repo); mavenProject.getModel().addPluginRepository(repo); List<Dependency> dependencyList = new ArrayList<Dependency>(); Map<String, JavaLibraryBean> dependencyInfoMap = JavaLibraryUtil.getDependencyInfoMap(project); Map<String, String> map = ProjectDependencyConstants.DEPENDENCY_MAP; for (JavaLibraryBean bean : dependencyInfoMap.values()) { if (bean.getVersion().contains("${")) { for (String path : map.keySet()) { bean.setVersion(bean.getVersion().replace(path, map.get(path))); }//from www. ja v a2 s. c om } Dependency dependency = new Dependency(); dependency.setArtifactId(bean.getArtifactId()); dependency.setGroupId(bean.getGroupId()); dependency.setVersion(bean.getVersion()); dependencyList.add(dependency); } if (importHandlerFromWs && importHandlerProject != null) { try { IFile pomFile = importHandlerProject.getFile("pom.xml"); MavenProject workspaceProject; if (pomFile.exists()) { workspaceProject = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); } else { String srcDir = "src"; workspaceProject = MavenUtils.createMavenProject( "org.wso2.carbon." + importHandlerProject.getName(), importHandlerProject.getName(), "1.0.0", "jar"); IJavaProject javaProject = JavaCore.create(importHandlerProject); IClasspathEntry[] classpath = javaProject.getRawClasspath(); int entryCount = 0; for (IClasspathEntry classpathEntry : classpath) { if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) { if (entryCount == 0) { String entryPath = ""; String[] pathSegments = classpathEntry.getPath().segments(); if (pathSegments.length > 1) { for (int i = 1; i < pathSegments.length; i++) { if (i == 1) { entryPath = pathSegments[i]; } else { entryPath += "/" + pathSegments[i]; } } if (entryPath.length() > 0) { srcDir = entryPath; ++entryCount; } } } else { log.warn("multiple source directories found, Considering '" + srcDir + "' as source directory"); break; } } } if (entryCount == 0) { log.warn("No source directory specified, using default source directory."); } workspaceProject.getBuild().setSourceDirectory(srcDir); Repository nexusRepo = new Repository(); nexusRepo.setUrl("http://maven.wso2.org/nexus/content/groups/wso2-public/"); nexusRepo.setId("wso2-maven2-repository-1"); workspaceProject.getModel().addRepository(nexusRepo); workspaceProject.getModel().addPluginRepository(nexusRepo); List<Dependency> libList = new ArrayList<Dependency>(); Map<String, JavaLibraryBean> dependencyMap = JavaLibraryUtil .getDependencyInfoMap(importHandlerProject); for (JavaLibraryBean bean : dependencyMap.values()) { Dependency dependency = new Dependency(); dependency.setArtifactId(bean.getArtifactId()); dependency.setGroupId(bean.getGroupId()); dependency.setVersion(bean.getVersion()); libList.add(dependency); } workspaceProject.setDependencies(libList); MavenUtils.saveMavenProject(workspaceProject, pomFile.getLocation().toFile()); project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } Dependency dependency = new Dependency(); dependency.setArtifactId(workspaceProject.getArtifactId()); dependency.setGroupId(workspaceProject.getGroupId()); dependency.setVersion(workspaceProject.getVersion()); dependencyList.add(dependency); } catch (Exception e) { log.warn("Error reading or updating pom file.", e); } } MavenUtils.addMavenDependency(mavenProject, dependencyList); MavenUtils.saveMavenProject(mavenProject, mavenProjectPomLocation); }
From source file:uk.ac.ox.oucs.plugins.DiscoverMojo.java
License:Apache License
private void addToDependencies() { List dependencies = project.getDependencies(); for (Artifact artifact : toDeploy) { getLog().info("Deploy: " + artifact.toString()); MavenProject project = locateImplmentation(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());// w w w.j av a2 s . c o m //deployProjectToContainer(project); Dependency dependency = new Dependency(); dependency.setArtifactId(artifact.getArtifactId()); dependency.setGroupId(artifact.getGroupId()); dependency.setVersion(artifact.getVersion()); dependency.setType(artifact.getType()); dependencies.add(dependency); } project.setDependencies(dependencies); toDeploy = new HashSet<Artifact>(); }