Class MojoExecutor.ProjectLock

  • 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