Package org.apache.maven.buildcache
Class LifecyclePhasesHelper
java.lang.Object
org.apache.maven.execution.AbstractExecutionListener
org.apache.maven.buildcache.LifecyclePhasesHelper
- All Implemented Interfaces:
org.apache.maven.execution.ExecutionListener
@Named
public class LifecyclePhasesHelper
extends org.apache.maven.execution.AbstractExecutionListener
-
Constructor Summary
ConstructorsConstructorDescriptionLifecyclePhasesHelper(org.apache.maven.execution.MavenSession session, org.apache.maven.lifecycle.DefaultLifecycles defaultLifecycles, org.apache.maven.lifecycle.Lifecycle cleanLifecycle) -
Method Summary
Modifier and TypeMethodDescriptionvoidforkedProjectFailed(org.apache.maven.execution.ExecutionEvent event) voidforkedProjectStarted(org.apache.maven.execution.ExecutionEvent event) voidforkedProjectSucceeded(org.apache.maven.execution.ExecutionEvent event) List<org.apache.maven.plugin.MojoExecution> getCachedSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions, Build build) Computes the list of mojos executions that are cached.List<org.apache.maven.plugin.MojoExecution> getCleanSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Computes the list of mojos executions in the clean phasegetCoveredPhases(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Lists the lifecycle phases these mojos cover, sorted from earliest to latest (so the last one is the highest phase reached).org.apache.maven.plugin.MojoExecutiongetForkOrigin(org.apache.maven.project.MavenProject project) Returns the mojo that started the fork for this (forked) project, ornullif the project isn't running as a fork right now.List<org.apache.maven.plugin.MojoExecution> getPostCachedSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions, Build build) Computes the list of mojos executions that will have to be executed after cache restoration.voidinit()booleanisForkedProject(org.apache.maven.project.MavenProject project) booleanisLaterPhase(String phase, String other) Check if the given phase is later than the other in maven lifecycle.booleanisLaterPhaseThanBuild(String phase, Build build) booleanisLaterPhaseThanClean(String phase) Check if the given phase is later than the clean lifecycle.booleanisSupportedPhase(String phase) Whether the given phase is a known lifecycle phase (non-null and part of the active lifecycles).resolveHighestLifecyclePhase(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Resolves the highest lifecycle phase reached by the given mojo executions.Methods inherited from class org.apache.maven.execution.AbstractExecutionListener
forkFailed, forkStarted, forkSucceeded, mojoFailed, mojoSkipped, mojoStarted, mojoSucceeded, projectDiscoveryStarted, projectFailed, projectSkipped, projectStarted, projectSucceeded, sessionEnded, sessionStarted
-
Constructor Details
-
LifecyclePhasesHelper
@Inject public LifecyclePhasesHelper(org.apache.maven.execution.MavenSession session, org.apache.maven.lifecycle.DefaultLifecycles defaultLifecycles, @Named("clean") org.apache.maven.lifecycle.Lifecycle cleanLifecycle)
-
-
Method Details
-
init
-
forkedProjectStarted
public void forkedProjectStarted(org.apache.maven.execution.ExecutionEvent event) - Specified by:
forkedProjectStartedin interfaceorg.apache.maven.execution.ExecutionListener- Overrides:
forkedProjectStartedin classorg.apache.maven.execution.AbstractExecutionListener
-
forkedProjectSucceeded
public void forkedProjectSucceeded(org.apache.maven.execution.ExecutionEvent event) - Specified by:
forkedProjectSucceededin interfaceorg.apache.maven.execution.ExecutionListener- Overrides:
forkedProjectSucceededin classorg.apache.maven.execution.AbstractExecutionListener
-
forkedProjectFailed
public void forkedProjectFailed(org.apache.maven.execution.ExecutionEvent event) - Specified by:
forkedProjectFailedin interfaceorg.apache.maven.execution.ExecutionListener- Overrides:
forkedProjectFailedin classorg.apache.maven.execution.AbstractExecutionListener
-
resolveHighestLifecyclePhase
public String resolveHighestLifecyclePhase(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Resolves the highest lifecycle phase reached by the given mojo executions.- Returns:
- the highest phase, or
nullwhen the last mojo has no phase — e.g. a command-line goal with no default phase, or a goal that forks another goal (@Execute(goal=...))
-
isLaterPhaseThanClean
Check if the given phase is later than the clean lifecycle. -
isLaterPhaseThanBuild
-
isLaterPhase
Check if the given phase is later than the other in maven lifecycle. Example: isLaterPhase("install", "clean") returns true; -
isSupportedPhase
Whether the given phase is a known lifecycle phase (non-null and part of the active lifecycles). -
getCoveredPhases
public List<String> getCoveredPhases(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Lists the lifecycle phases these mojos cover, sorted from earliest to latest (so the last one is the highest phase reached). Goals that don't map to a real phase (e.g. a goal invoked directly with no default phase) are skipped.We store this on the cache entry (see
Build.getHighestCompletedGoal()) instead of the raw command-line goals. That way a single-goal build likecompiler:compileis remembered as the phasecompile, and a latermvn packagecan tell it already covers compile rather than choking on the literal string"compiler:compile". -
getCleanSegment
public List<org.apache.maven.plugin.MojoExecution> getCleanSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions) Computes the list of mojos executions in the clean phase -
getCachedSegment
public List<org.apache.maven.plugin.MojoExecution> getCachedSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions, Build build) Computes the list of mojos executions that are cached. -
getPostCachedSegment
public List<org.apache.maven.plugin.MojoExecution> getPostCachedSegment(org.apache.maven.project.MavenProject project, List<org.apache.maven.plugin.MojoExecution> mojoExecutions, Build build) Computes the list of mojos executions that will have to be executed after cache restoration. -
isForkedProject
public boolean isForkedProject(org.apache.maven.project.MavenProject project) -
getForkOrigin
public org.apache.maven.plugin.MojoExecution getForkOrigin(org.apache.maven.project.MavenProject project) Returns the mojo that started the fork for this (forked) project, ornullif the project isn't running as a fork right now. Lets callers tell a fork started by a command-line goal (likejetty:run) apart from one that happens inside a normal build.
-