Example usage for org.apache.maven.execution MavenSession getGoals

List of usage examples for org.apache.maven.execution MavenSession getGoals

Introduction

In this page you can find the example usage for org.apache.maven.execution MavenSession getGoals.

Prototype

public List<String> getGoals() 

Source Link

Usage

From source file:com.github.shyiko.ump.NonRecursiveExtension.java

License:Apache License

public void afterProjectsRead(MavenSession session) {
    if (session.getGoals().isEmpty() && session.getUserProperties().isEmpty()) {
        session.setProjects(Arrays.asList(session.getTopLevelProject()));
        if (session.getCurrentProject().getDefaultGoal() == null) {
            session.getGoals().add("usage:show");
        }/* w w  w .  j  a v a  2  s.  c  om*/
    }
}

From source file:info.ronjenkins.maven.rtr.steps.ValidateSmartReactorEligibility.java

License:Apache License

@Override
public void execute(final MavenSession session, final RTRComponents components) throws MavenExecutionException {
    // Ensure that the Maven Release Plugin is not in the list of goals.
    for (final String goal : session.getGoals()) {
        if (goal.startsWith("release:") || goal.startsWith("org.apache.maven.plugins:maven-release-plugin:")) {
            this.logger.error("");
            throw new SmartReactorSanityCheckException(
                    "A goal from the Maven Release Plugin was specified for execution.");
        }/*from ww  w  .  j av  a 2 s  . c o  m*/
    }
    // Ensure that the Maven Release Plugin is not declared in the POM.
    final List<MavenProject> projectsWithMavenReleasePlugin = new ArrayList<>();
    for (final MavenProject project : session.getProjects()) {
        for (final Artifact artifact : project.getPluginArtifacts()) {
            if (artifact.getGroupId().equals("org.apache.maven.plugins")
                    && artifact.getArtifactId().equals("maven-release-plugin")) {
                projectsWithMavenReleasePlugin.add(project);
            }
        }
    }
    if (!projectsWithMavenReleasePlugin.isEmpty()) {
        this.logger.error("");
        for (final MavenProject project : projectsWithMavenReleasePlugin) {
            this.logger.error("Project " + project + " contains a reference to the Maven Release Plugin.");
        }
        this.logger.error("");
        throw new SmartReactorSanityCheckException("Reactor is ineligible to become a Smart Reactor.");
    }
    // Ensure that the root is a SNAPSHOT.
    final MavenProject root = session.getTopLevelProject();
    if (!root.getArtifact().isSnapshot()) {
        this.logger.error("");
        this.logger.error("Top-level project " + root + " is not a SNAPSHOT.");
        this.logger.error("");
        throw new SmartReactorSanityCheckException("Reactor is ineligible to become a Smart Reactor.");
    }
    // Ensure that the ancestors of every SNAPSHOT are also SNAPSHOTs.
    final ProjectDependencyGraph pdg = session.getProjectDependencyGraph();
    final List<MavenProject> badProjects = new ArrayList<>();
    for (final MavenProject project : session.getProjects()) {
        if (project.getArtifact().isSnapshot()) {
            for (final MavenProject ancestor : pdg.getUpstreamProjects(project, true)) {
                if (!ancestor.getArtifact().isSnapshot()) {
                    badProjects.add(ancestor);
                }
            }
        }
    }
    // Fail if necessary.
    if (!badProjects.isEmpty()) {
        this.logger.error("");
        this.logger.error(
                "The following release projects in the reactor have SNAPSHOT dependencies in the reactor, which is not allowed:");
        for (final MavenProject badProject : badProjects) {
            this.logger.error("  " + badProject.getArtifact().toString() + " @ "
                    + badProject.getFile().getAbsolutePath());
        }
        this.logger.error("");
        throw new SmartReactorSanityCheckException("Reactor is ineligible to become a Smart Reactor.");
    }
}

From source file:io.fabric8.maven.core.util.GoalFinder.java

License:Apache License

public boolean runningWithGoal(MavenProject project, MavenSession session, String goal)
        throws MojoExecutionException {
    // We need to check (a) whether it was called explicitely or (b) is part of the lifecycle.
    for (String goalOrPhase : session.getGoals()) {
        // Check if it is a phase
        if (!goalOrPhase.contains(":")) {
            if (checkGoalInPhase(project, session, goal, goalOrPhase)) {
                return true;
            }/*  ww w .j  av a 2 s . c  om*/
        } else if (goal.equals(goalOrPhase)) {
            // we are called directly
            return true;
        }
    }
    return false;
}

From source file:org.l2x6.maven.srcdeps.SrcdepsLifecycleParticipant.java

License:Apache License

@Override
public void afterProjectsRead(MavenSession session) throws MavenExecutionException {
    boolean globalSkip = Boolean
            .valueOf(session.getUserProperties().getProperty(Element.skip.toSrcDepsProperty(), "false"));
    if (globalSkip) {
        logger.info("srcdeps-maven-plugin skipped");
        return;/*  w w  w . ja  v a 2s.c om*/
    }

    List<String> goals = session.getGoals();
    if (goals != null && shouldTriggerSrcdepsBuild(goals)) {
        List<MavenProject> projects = session.getProjects();
        logger.debug("SrcdepsLifecycleParticipant projects = " + projects);

        Set<Gav> projectGavs = new HashSet<SrcdepsLifecycleParticipant.Gav>();
        for (MavenProject project : projects) {
            projectGavs.add(Gav.ofModel(project.getModel()));
        }

        boolean builtSomething = false;

        for (MavenProject project : projects) {
            logger.info("srcdeps-maven-plugin scanning project " + project.getGroupId() + ":"
                    + project.getArtifactId());

            Optional<Plugin> plugin = findPlugin(project,
                    SrcdepsPluginConstants.ORG_L2X6_MAVEN_SRCDEPS_GROUP_ID,
                    SrcdepsPluginConstants.SRCDEPS_MAVEN_PLUGIN_ADRTIFACT_ID);
            if (plugin.isPresent() && project.getDependencies() != null) {

                Optional<Xpp3Dom> conf = plugin.map(Mapper.TO_DOM);
                if (conf.isPresent()) {

                    MojoExecution mojoExecution = new MojoExecution(plugin.value(), "install", "whatever");
                    PropsEvaluator evaluator = new PropsEvaluator(
                            new PluginParameterExpressionEvaluator(session, mojoExecution));
                    SrcdepsConfiguration srcdepsConfiguration = new SrcdepsConfiguration.Builder(evaluator,
                            conf.value(), session, logger).build();
                    if (srcdepsConfiguration.isSkip()) {
                        logger.info("srcdeps-maven-plugin skipped for project " + project.getGroupId() + ":"
                                + project.getArtifactId());
                    } else {
                        @SuppressWarnings("unchecked")
                        Map<Dependency, SrcVersion> revisions = filterSrcdeps(project.getDependencies(),
                                projectGavs);
                        if (!revisions.isEmpty()) {
                            assertFailWithProfiles(session, srcdepsConfiguration);
                            new SrcdepsInstaller(session, logger, artifactHandlerManager, srcdepsConfiguration,
                                    revisions, buildService).install();
                            builtSomething = true;
                        }
                    }
                }
            }
        }

        if (builtSomething) {
            Optional<Plugin> plugin = findPlugin(session.getTopLevelProject(), "org.apache.maven.plugins",
                    "maven-clean-plugin");
            if (plugin.isPresent()) {
                addCleanExclude(session.getTopLevelProject(), plugin.value());
            }
        }

    }
}