In my organisation we are using a MRM (Nexus) with redeployment of release that is forbidden.
Sometimes the release:perform may fail in the middle of a multi-module release. It means some modules were deployed but other are not.
Currently it is not possible to restart the release as it will fail on first deployment (usually the parent pom of the multimodule) because the pom was already deployed during the first attempt.
I would like to add an option to the deploy plugin that may deal with this case. Perhaps an option like -Dredeploy=false that may either :
1) check if the remote file already exists before trying to upload
2) try to upload everytime but not fail the build
The problem with the second proposal is the error returned by Nexus is authorization error so we may not be able to distinguish real authorization error on a new file and redeploy attempt.
Caused by: org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://nexus.mycompany.com/
Other options may be more complicated like implementing an atomic deploy process on multimodule (may need a big change of the deploy protocol).