List of usage examples for org.apache.maven.execution MavenSession getGoals
public List<String> getGoals()
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()); } } } }