I removed it while hacking and trying to get version 1.4 of the plugin to work, because it caused some issues I think, but it's definitely not a good idea to remove it, as since we end up never checking the constraints.
The root cause of the problem is that without <extensions>true</extensions>, the build of each module uses a different classloader, and we end up with some executions using a different definition of internal classes, and it wreaks havoc in the context shared between the executions (in particular the "executedModules" map, because keys that should be equal no longer are due to their class not being equal).
Anyway, in short: they say to use {{<extensions>true</extensions>}} in the documentation, and they are right. |
|