I have a SNAPSHOT of the war plugin that I built and deployed to fix a blocker for us (
MWAR-39) that has not been released. In my POM, I refer to it like this:
I did this specifically so the release plugin would not think it was a SNAPSHOT so I could release the module. But when I do try to release, I get this error:
[INFO] Can't release project due to non released dependencies :
in project 'UDDI WAR' (com.webify.fabric:fabric-uddi-web:war:1.1.0-SNAPSHOT)
This is because in ArtifactUtils.isSnapshot, it specifically disallows the version pattern created by the deploy plugin.
So consider my usecase: I'm Joe Corporate, a user who needs a war bug fix in their build process ASAP. I build and deploy the latest war plugin to my internal repo and reference that explicit timestamp version in my build process. Now I can understand why you disallow this because if I try to build outside of our corporate walls, it will not work. But I can't use the release plugin to release either because it requires me to check the modified POMs into my SCM and the war plugin is in Apache's SCM and I can't check into it.
There's only two hack workarounds I can think of: 1) explicitly reversion the jar to not include SNAPSHOT or the specific timestamp pattern. 2) Check the war plugin into our own SCM and release from there, effectively forking the code.
Your thoughts? How can we fix bugs in the build process locally and still use the release plugin?