Class MojoExecutor.ProjectLock

java.lang.Object
org.apache.maven.lifecycle.internal.MojoExecutor.ProjectLock
All Implemented Interfaces:
AutoCloseable, MojoExecutor.NoExceptionCloseable
Enclosing class:
MojoExecutor

protected class MojoExecutor.ProjectLock extends Object implements MojoExecutor.NoExceptionCloseable
Aggregating mojo executions (possibly) modify all MavenProjects, including those that are currently in use by concurrently running mojo executions. To prevent race conditions, an aggregating execution will block all other executions until finished. We also lock on a given project to forbid a forked lifecycle to be executed concurrently with the project. TODO: ideally, the builder should take care of the ordering in a smarter way TODO: and concurrency issues fixed with MNG-7157