- All Implemented Interfaces:
- java.lang.AutoCloseable
- Enclosing class:
- MojoExecutor
private class MojoExecutor.ProjectLock
extends java.lang.Object
implements java.lang.AutoCloseable
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