/** * To make it easy to grasp relationship among modules and the module set, we'll align the build * numbers of all the modules. * * <p>This method is invoked from {@link Executor#run()}, and because of the mutual exclusion * among {@link MavenModuleSetBuild} and {@link MavenBuild}, we can safely touch all the modules. */ public synchronized int assignBuildNumber() throws IOException { // determine the next value updateNextBuildNumber(); return super.assignBuildNumber(); }