Example usage for org.apache.maven.project MavenProject getPackaging

List of usage examples for org.apache.maven.project MavenProject getPackaging

Introduction

In this page you can find the example usage for org.apache.maven.project MavenProject getPackaging.

Prototype

public String getPackaging() 

Source Link

Usage

From source file:org.wso2.developerstudio.eclipse.platform.ui.mvn.wizard.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);
        }/*from ww w .  j a  v  a2s. co  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.ui.provider.MavenParentProjectList.java

License:Open Source License

public List<ListData> getListData(String modelProperty, ProjectDataModel model) {
    List<ListData> list = new ArrayList<ListData>();
    boolean requiredParent = ((MvnMultiModuleModel) model).isRequiredParent();
    boolean updateMode = ((MvnMultiModuleModel) model).isUpdateMode();
    if (requiredParent && !updateMode) {
        IWorkspace workspace = ResourcesPlugin.getWorkspace();
        IWorkspaceRoot root = workspace.getRoot();
        IProject[] projects = root.getProjects();
        for (IProject project : projects) {
            try {
                if (project.isOpen()) {
                    File pomFile = project.getFile("pom.xml").getLocation().toFile();
                    if (pomFile.exists()) {
                        MavenProject mavenProject = MavenUtils.getMavenProject(pomFile);
                        if (mavenProject.getPackaging().equals("pom")) {
                            Parent parent = new Parent();
                            parent.setArtifactId(mavenProject.getArtifactId());
                            parent.setGroupId(mavenProject.getGroupId());
                            parent.setVersion(mavenProject.getVersion());
                            try {
                                String relativePath = FileUtils.getRelativePath(model.getLocation(), pomFile);
                                parent.setRelativePath(relativePath);
                                ListData data = new ListData(parent.getArtifactId(), parent);
                                list.add(data);
                            } catch (Exception ignored) {
                                // ignored
                            }// ww w  . j a v a 2 s .co m

                        }
                    }
                }
            } catch (Exception e) {
                log.error("Error reading project list", e);
            }
        }
    }
    return list;
}

From source file:org.wso2.developerstudio.eclipse.platform.ui.wizard.pages.MavenDetailsPage.java

License:Open Source License

private List<Parent> getParentMavenProjects(List<Parent> mavenParentProjects) throws Exception {
    IWorkspace workspace = ResourcesPlugin.getWorkspace();
    IWorkspaceRoot root = workspace.getRoot();
    IProject[] projects = root.getProjects();
    for (IProject project : projects) {
        try {//from   w  w  w.  j  av  a  2 s  .  co  m
            if (project.isOpen()) {
                File pomFile = project.getFile("pom.xml").getLocation().toFile();
                if (pomFile.exists()) {
                    MavenProject mavenProject = MavenUtils.getMavenProject(pomFile);
                    if (mavenProject.getPackaging().equals("pom")) {
                        Parent parent = new Parent();
                        parent.setArtifactId(mavenProject.getArtifactId());
                        parent.setGroupId(mavenProject.getGroupId());
                        parent.setVersion(mavenProject.getVersion());
                        try {
                            String relativePath = FileUtils.getRelativePath(dataModel.getLocation(), pomFile);
                            parent.setRelativePath(relativePath);
                            mavenParentProjects.add(parent);
                        } catch (Exception ignored) {
                            // ignored
                        }
                    }
                }
            }
        } catch (Exception e) {
            log.error("Error reading project list", e);
        }
    }

    File parentLocation = dataModel.getLocation();
    /*while (parentLocation != null) {
       File pomFile = new File(parentLocation, "pom.xml");
       if (pomFile.exists()) {
    MavenProject mavenProject = MavenUtils.getMavenProject(pomFile);
    if (mavenProject.getPackaging().equals("pom")) {
       Parent parent = new Parent();
       parent.setArtifactId(mavenProject.getArtifactId());
       parent.setGroupId(mavenProject.getGroupId());
       parent.setVersion(mavenProject.getVersion());
       try {
          String relativePath = FileUtils.getRelativePath(
                dataModel.getLocation(), pomFile);
          parent.setRelativePath(relativePath);
          mavenParentProjects.add(parent);
       } catch (Exception ignored) {
          // ignored
       }
               
    }
       }
       parentLocation = parentLocation.getParentFile();
    }*/
    return mavenParentProjects;
}

From source file:org.wso2.maven.pckg.prepare.PackagePrepareDefaultScopeMojo.java

License:Open Source License

private void filterAllCappProjects(List<MavenProject> mavenProjects) {
    cappMavenProjects = new ArrayList<>();

    for (MavenProject mavenProject : mavenProjects) {
        String packaging = mavenProject.getPackaging();
        if (packaging != null && packaging.equals(MavenConstants.CAPP_PACKAGING)) {
            if (isDebugEnabled) {
                log.debug("Identified the composite application project: " + mavenProject.getGroupId() + ":"
                        + mavenProject.getArtifactId() + ":" + mavenProject.getVersion());
            }/*  w w w. ja  v  a 2  s. com*/
            cappMavenProjects.add(mavenProject);
        }
    }
}

From source file:org.wso2.maven.pckg.prepare.PackagePrepareSystemScopeMojo.java

License:Open Source License

private void aggregateDependencies(List<MavenProject> mavenProjects) {
    dependencySystemPathMap = new HashMap<>();

    for (MavenProject mavenProject : mavenProjects) {
        String packaging = mavenProject.getPackaging();
        // CAPP projects are ignored.
        if (packaging == null || !MavenConstants.CAPP_PACKAGING.equals(packaging)) {
            try {
                dependencySystemPathMap.putAll(PackagePrepareUtils.getArtifactsSystemPathMap(mavenProject));
            } catch (FactoryConfigurationError | Exception e) {
                // Can proceed even if this is reached
                log.warn("Failed to retrieve dependencies from project: " + mavenProject.getGroupId() + ":"
                        + mavenProject.getArtifactId() + ":" + mavenProject.getVersion(), e);
            }//from ww w .  j  a  v  a  2s .  c o  m
        }
    }

    if (isDebugEnabled) {
        Iterator<Entry<String, String>> dependencyIterator = dependencySystemPathMap.entrySet().iterator();
        while (dependencyIterator.hasNext()) {
            log.debug("Identified system path of: " + dependencyIterator.next().getKey());
        }
    }
}

From source file:org_scala_tools_maven.ScalaDocMojo.java

License:Apache License

@SuppressWarnings("unchecked")
protected void aggregate(MavenProject parent) throws Exception {
    List<MavenProject> modules = parent.getCollectedProjects();
    File dest = new File(parent.getReporting().getOutputDirectory() + "/" + outputDirectory);
    getLog().info("start aggregation into " + dest);
    StringBuilder mpath = new StringBuilder();
    for (MavenProject module : modules) {
        if ("pom".equals(module.getPackaging().toLowerCase())) {
            continue;
        }//from   w  w  w .j  a  v a 2s  .c om
        if (aggregateDirectOnly && module.getParent() != parent) {
            continue;
        }
        File subScaladocPath = new File(module.getReporting().getOutputDirectory() + "/" + outputDirectory)
                .getAbsoluteFile();
        //System.out.println(" -> " + project.getModulePathAdjustment(module)  +" // " + subScaladocPath + " // " + module.getBasedir() );
        if (subScaladocPath.exists()) {
            mpath.append(subScaladocPath).append(File.pathSeparatorChar);
        }
    }
    if (mpath.length() != 0) {
        getLog().info("aggregate vscaladoc from : " + mpath);
        JavaMainCaller jcmd = getScalaCommand();
        jcmd.addOption("-d", dest.getAbsolutePath());
        jcmd.addOption("-aggregate", mpath.toString());
        jcmd.run(displayCmd);
    } else {
        getLog().warn("no vscaladoc to aggregate");
    }
    tryAggregateUpper(parent);
}

From source file:pl.project13.maven.git.GitCommitIdMojo.java

License:Open Source License

boolean isPomProject(@NotNull MavenProject project) {
    return project.getPackaging().equalsIgnoreCase("pom");
}

From source file:se.jguru.nazgul.tools.codestyle.enforcer.rules.ProjectType.java

License:Apache License

/**
 * Acquires the ProjectType instance for the provided MavenProject,
 * or throws an IllegalArgumentException holding an exception message
 * if a ProjectType could not be found for the provided MavenProject.
 *
 * @param project The MavenProject to classify.
 * @return The corresponding ProjectType.
 * @throws IllegalArgumentException if the given project could not be mapped to a [single] ProjectType.
 *                                  The exception message holds
 *///from  w  ww .  j  a v a 2  s  .c  o m
public static ProjectType getProjectType(final MavenProject project) throws IllegalArgumentException {

    Validate.notNull(project, "Cannot handle null project argument.");

    final List<ProjectType> matches = findCandidates(project.getGroupId(), project.getArtifactId(),
            project.getPackaging(), "Incorrect project type definition for [" + project.getGroupId() + " :: "
                    + project.getArtifactId() + " :: " + project.getVersion() + "]: ");

    // Validate the internal requirements for the two different pom projects.
    final ProjectType toReturn = matches.get(0);
    switch (toReturn) {
    case PARENT:
    case ASSEMBLY:
        // This project should not contain modules.
        if (project.getModules() != null && !project.getModules().isEmpty()) {
            throw new IllegalArgumentException(
                    ProjectType.PARENT + " projects may not contain module definitions. "
                            + "(Modules are reserved for reactor projects).");
        }
        break;

    case REACTOR:
        // This project not contain dependency definitions.
        final List<?> dependencies = project.getDependencies();
        if (dependencies != null && !dependencies.isEmpty()) {
            throw new IllegalArgumentException(
                    ProjectType.REACTOR + " projects may not contain dependency definitions."
                            + " (Dependencies should be defined within parent projects).");
        }

        final DependencyManagement dependencyManagement = project.getDependencyManagement();
        if (dependencyManagement != null) {

            // Dig out all dependency management-defined dependencies.
            final List<Dependency> templateDependencies = dependencyManagement.getDependencies();
            if (templateDependencies != null && !templateDependencies.isEmpty()) {
                throw new IllegalArgumentException(
                        ProjectType.REACTOR + " projects may not contain dependency [management] definitions."
                                + " (Dependencies should be defined within parent projects).");
            }
        }
        break;

    // No action should be taken for other project types.
    default:
        break;
    }

    // All done.
    return toReturn;
}