Here is a condensed patch with all the changes, plus a test case and additional check if the directory exists.
I haven't commit it though, for a reason: once this new properties gets through, users will expect a mechanismo to include/exclude files, probably using wildcards (like * and **). So, I change the property to cactus.resources.dirs, in a way that would allow us to add new properties in the future (like cactus.resources.includes and cactus.resources.excludes). Note that this is not as straightfoward as having this info in the POM, as we cannot have individual includes/excludes for each directory.
Anyway, I will commit (or not) the changes once I get some feedback on this comment.
PS: another improvement that could be made would be not relying on maven.build.dest and including the resources directly from inside the <cactifywar> tag. But I'm not sure if that would work (besides I haven't the spare cycles to check it right now