List of usage examples for org.apache.maven.project MavenProject getModules
public List<String> getModules()
From source file:org.sonarsource.scanner.maven.bootstrap.MavenProjectConverter.java
License:Open Source License
private static void rebuildModuleHierarchy(Properties properties, Map<MavenProject, Properties> propsByModule, MavenProject current, String prefix) throws IOException { Properties currentProps = propsByModule.get(current); if (currentProps == null) { throw new IllegalStateException(UNABLE_TO_DETERMINE_PROJECT_STRUCTURE_EXCEPTION_MESSAGE); }/*from w w w.j ava2 s. c o m*/ for (Map.Entry<Object, Object> prop : currentProps.entrySet()) { properties.put(prefix + prop.getKey(), prop.getValue()); } propsByModule.remove(current); List<String> moduleIds = new ArrayList<>(); for (String modulePathStr : current.getModules()) { File modulePath = new File(current.getBasedir(), modulePathStr); MavenProject module = findMavenProject(modulePath, propsByModule.keySet()); if (module != null) { String moduleId = module.getGroupId() + ":" + module.getArtifactId(); rebuildModuleHierarchy(properties, propsByModule, module, prefix + moduleId + "."); moduleIds.add(moduleId); } } if (!moduleIds.isEmpty()) { properties.put(prefix + "sonar.modules", StringUtils.join(moduleIds, SEPARATOR)); } }
From source file:org.universAAL.support.directives.checks.DependencyManagementCheckFix.java
License:Apache License
public static List<MavenProject> getChildrenModules(MavenProject mavenProject, MavenProjectBuilder mpb, ArtifactRepository localRepository, ProfileManager pm) { List<MavenProject> children = new ArrayList<MavenProject>(); List<String> modules = mavenProject.getModules(); for (String mod : modules) { try {/*from w w w .j av a 2s.c o m*/ children.add(mpb.buildWithDependencies(new File(mavenProject.getBasedir(), mod + "/pom.xml"), localRepository, pm)); } catch (Exception e) { e.printStackTrace(); } } return children; }
From source file:org.universAAL.support.directives.checks.ModulesCheckFix.java
License:Apache License
/** * Check whether the pom modules are in the following disposition: * <br>/* w w w. ja v a 2s .c om*/ * <pre> * parentFolder * L pom.xml * L Module1 * L pom.xml * : * L ModuleN * L pom.xml * </pre> * ie: all of the modules of the pom are children. * @param mavenProject2 * @param log * @return */ private boolean isOfCommonType(MavenProject mp, Log log) { List<String> listed = (List<String>) mp.getModules(); boolean common = true; for (String m : listed) { File mDir = new File(mp.getBasedir(), m); log.debug("checking \n -" + mp.getBasedir().getAbsolutePath() + "\n -" + mDir.getAbsolutePath()); try { /* * for all of the modules: * the parent folder of the module is the same as the parent POMs folder */ common &= mp.getBasedir().equals(mDir.getCanonicalFile().getParentFile()); } catch (IOException e) { log.error(e); } log.debug(Boolean.toString(common)); } return listed.size() > 0 && common; }
From source file:org.universAAL.support.directives.checks.ModulesCheckFix.java
License:Apache License
private boolean passRootCheckCommonType(MavenProject mavenProject2, Log log) { List<String> mods = (List<String>) mavenProject2.getModules(); List<File> listed = new ArrayList<File>(); for (String m : mods) { try {//from ww w . j a v a 2 s.c o m listed.add(new File(mavenProject2.getBasedir(), m).getCanonicalFile()); } catch (IOException e) { log.error(e); } } //gather the existent modules File dir = mavenProject2.getBasedir(); for (File f : dir.listFiles()) { String rel = f.getName(); if (f.isDirectory() && directoryContains(f, "pom.xml") && !listed.contains(f) // it is not already listed && !rel.contains(SVN_FOLDER) // it is not the svn folder ) { toBeFixed.add(rel); log.debug("Found not listed module : " + rel); } } return toBeFixed.isEmpty(); }
From source file:org.universAAL.support.directives.checks.ModulesCheckFix.java
License:Apache License
private boolean passRootCheckSiblingType(MavenProject mavenProject2, Log log) { List<String> listed = (List<String>) mavenProject2.getModules(); //gather the existent modules File dir = mavenProject2.getBasedir().getParentFile(); for (File f : dir.listFiles()) { String rel = "../" + f.getName(); if (f.isDirectory() && directoryContains(f, "pom.xml") && !listed.contains(rel) // it is not already listed && !rel.endsWith(mavenProject2.getBasedir().getName()) // it is not the parent project && !rel.contains(SVN_FOLDER) // it is not the svn folder ) {/* w w w .j a v a 2 s . c o m*/ toBeFixed.add(rel); log.debug("Found not listed module : " + rel); } } return toBeFixed.isEmpty(); }
From source file:org.wso2.developerstudio.eclipse.maven.internal.executor.impl.MavenExecutorImpl.java
License:Open Source License
public boolean setMavenParent(File mavenProjectLocation, File parentMavenProjectLocation) throws Exception { if (parentMavenProjectLocation == null) { setMavenParent(mavenProjectLocation, (MavenProjectType) null); } else {/*w ww .ja v a 2 s. co m*/ File parentProjectPomFile = new File(parentMavenProjectLocation, "pom.xml"); MavenProject parentProject = MavenUtils.getMavenProject(parentProjectPomFile); String relativeLocation = FileUtils.getRelativePath(parentMavenProjectLocation, mavenProjectLocation); if (!parentProject.getModules().contains(relativeLocation)) { parentProject.getModules().add(relativeLocation); } MavenUtils.saveMavenProject(parentProject, parentProjectPomFile); MavenProjectType parentMavenProject = new MavenProjectType(parentProject.getGroupId(), parentProject.getArtifactId(), parentProject.getVersion()); String relativePath = FileUtils.getRelativePath(mavenProjectLocation, parentProjectPomFile) .replace('\\', '/'); parentMavenProject.setRelativePath(relativePath); setMavenParent(mavenProjectLocation, parentMavenProject); } return true; }
From source file:org.wso2.developerstudio.eclipse.maven.multi.module.handlers.MvnMultiModuleWizard.java
License:Open Source License
public void init() { if (multiModuleProject != null) { IFile pomFile = multiModuleProject.getFile("pom.xml"); if (pomFile.exists()) { // Parse the pom and see the packaging type try { moduleModel.setUpdateMode(true); MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); Parent parent = mavenProject2.getModel().getParent(); if (parent != null) { moduleModel.setRequiredParent(true); moduleModel.setParentArtifact(parent.getArtifactId()); moduleModel.setParentGroup(parent.getGroupId()); moduleModel.setParentVersion(parent.getVersion()); moduleModel.setRelativePath(parent.getRelativePath()); }/*from w w w . j a v a 2 s .c o m*/ setMavenProperty(mavenProject2.getGroupId(), mavenProject2.getArtifactId(), mavenProject2.getVersion()); List<String> modules = mavenProject2.getModules(); MvnMultiModuleProjectList projectListProvider = new MvnMultiModuleProjectList(); List<ListData> listData = projectListProvider.getListData(null, moduleModel); for (ListData data : listData) { IProject moduleProject = (IProject) data.getData(); String relativePath = FileUtils .getRelativePath(multiModuleProject.getLocation().toFile(), moduleProject.getLocation().toFile()) .replaceAll(Pattern.quote(File.separator), "/"); if (modules.contains(relativePath)) { moduleModel.getSelectedProjects().add(moduleProject); } } } catch (Exception e) { log.error("Error occured while trying to create the Maven Project", e); } } else { setMavenProperty("com.example", multiModuleProject.getName(), "1.0.0"); } } }
From source file:org.wso2.developerstudio.eclipse.maven.multi.module.handlers.MvnMultiModuleWizard.java
License:Open Source License
public boolean performFinish() { // If the multiModuleProject is not empty, then this is thru UI. Just // generate the POM MavenProject mavenProject = MavenUtils.createMavenProject(moduleModel.getGroupId(), moduleModel.getArtifactId(), moduleModel.getVersion(), "pom"); if (moduleModel.isRequiredParent()) { Parent parent = new Parent(); parent.setArtifactId(moduleModel.getParentArtifact()); parent.setGroupId(moduleModel.getParentGroup()); parent.setVersion(moduleModel.getParentVersion()); String relativePath = moduleModel.getRelativePath(); if (relativePath != null && !relativePath.trim().isEmpty()) { parent.setRelativePath(relativePath); }/*w ww . j a v a 2s .c o m*/ mavenProject.getModel().setParent(parent); } else { mavenProject.getModel().setParent(null); } List modules = mavenProject.getModules(); List<IProject> selectedProjects = moduleModel.getSelectedProjects(); selectedProjects = sortProjects(selectedProjects); if (multiModuleProject != null) { IFile pomFile = multiModuleProject.getFile("pom.xml"); if (pomFile.exists()) { // Parse the pom and see the packaging type try { MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); String packaging = mavenProject2.getPackaging(); if (!"pom".equalsIgnoreCase(packaging)) { addMavenModules(multiModuleProject, mavenProject, modules, selectedProjects, pomFile); } else { modules = mavenProject2.getModules(); mavenProject2.setGroupId(moduleModel.getGroupId()); mavenProject2.setArtifactId(moduleModel.getArtifactId()); mavenProject2.setVersion(moduleModel.getVersion()); mavenProject2.getModel().setParent(mavenProject.getModel().getParent()); addMavenModules(multiModuleProject, mavenProject2, modules, selectedProjects, pomFile); } } catch (Exception e) { log.error("Error occured while trying to generate the Maven Project for the Project Pom", e); } } else { // Since pom is not there, just create the new pom with all the // necessary things addMavenModules(multiModuleProject, mavenProject, modules, selectedProjects, pomFile); } // Adding Maven Multi Module Nature to POM generated Project addMavenMultiModuleProjectNature(multiModuleProject); } else { try { moduleModel.setProjectName(moduleModel.getArtifactId()); project = createNewProject(); addMavenMultiModuleProjectNature(project); addMavenModules(project, mavenProject, modules, selectedProjects, project.getFile("pom.xml")); } catch (CoreException e) { log.error("Error occured while creating the new Maven Multi Module Project", e); } catch (ObserverFailedException e) { log.error("Error occured while trying to inject values to the Project Model", e); } } return true; }
From source file:org.wso2.developerstudio.eclipse.platform.core.project.refactor.ArtifactProjectDeleteParticipant.java
License:Open Source License
/** * This method gets executed before the refactoring gets executed on original file which means * this method is executed before the actual project is deleted from the workspace. * If you have any task need to run before the project is deleted, you need to generate Changes * for those tasks in this method. //from www .j av a 2 s. co m */ @Override public Change createPreChange(IProgressMonitor arg0) throws CoreException, OperationCanceledException { CompositeChange deleteChange = new CompositeChange("Delete Artifact Project"); IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : projects) { if (project.isOpen() && project.hasNature("org.wso2.developerstudio.eclipse.distribution.project.nature")) { try { deleteDependencies(deleteChange, project, originalProject); } catch (Exception e) { log.error("Error occured while trying to generate the Refactoring", e); } } } if (originalProject.isOpen() && originalProject.hasNature("org.wso2.developerstudio.eclipse.mavenmultimodule.project.nature")) { MavenProject mavenProject = ProjectRefactorUtils.getMavenProject(originalProject); List<String> modulesofOrignal = mavenProject.getModules(); if (!modulesofOrignal.isEmpty()) { deleteMavenSubModules(originalProject, modulesofOrignal, deleteChange); } } return deleteChange; }
From source file:org.wso2.developerstudio.eclipse.platform.ui.mvn.wizard.MvnMultiModuleWizard.java
License:Open Source License
public void init() { if (multiModuleProject != null) { IFile pomFile = multiModuleProject.getFile("pom.xml"); if (pomFile.exists()) { // Parse the pom and see the packaging type try { moduleModel.setUpdateMode(true); MavenProject mavenProject2 = MavenUtils.getMavenProject(pomFile.getLocation().toFile()); Parent parent = mavenProject2.getModel().getParent(); if (parent != null) { moduleModel.setRequiredParent(true); moduleModel.setParentArtifact(parent.getArtifactId()); moduleModel.setParentGroup(parent.getGroupId()); moduleModel.setParentVersion(parent.getVersion()); moduleModel.setRelativePath(parent.getRelativePath()); }//w ww . j a v a 2 s . c o m setMavenProperty(mavenProject2.getGroupId(), mavenProject2.getArtifactId(), mavenProject2.getVersion()); List<String> modules = mavenProject2.getModules(); MvnMultiModuleProjectList projectListProvider = new MvnMultiModuleProjectList(); List<ListData> listData = projectListProvider.getListData(null, null); for (ListData data : listData) { IProject moduleProject = (IProject) data.getData(); String relativePath = FileUtils .getRelativePath(multiModuleProject.getLocation().toFile(), moduleProject.getLocation().toFile()) .replaceAll(Pattern.quote(File.separator), "/"); if (modules.contains(relativePath)) { moduleModel.getSelectedProjects().add(moduleProject); } } } catch (Exception e) { log.error("Error occured while trying to create the Maven Project", e); } } else { setMavenProperty("com.example", multiModuleProject.getName(), "1.0.0"); } } }