I have Bamboo Specs implemented for my build server hosting around 50 build and deploy plans. All of this works great!
When I first setup all my Specs I had each plan represented by its own class file and commits made to any one of these classes resulted in only that plan being rescanned and updated; so far, so good.
I wanted to make my Specs source a little more supportable so I implemented some base classes in my Java source just to store common strings, etc. All my build plans extend a single "build base" class and all my deploy plans extend a single "deploy base" class... then both of these base classes extend a common "plan base" class. Functionally speaking, this also works well and I can make overarching changes whenever I need to without a lot of duplicated effort.
The problem comes from the fact that now when I make a change to any single plan classes, and make no changes to any of my base classes whatsoever, the Specs scanner always senses that all plans have been modified so it builds every single one, every time I push a commit. This isn't really a huge issue, but it's somewhat annoying in that all plans' history becomes cluttered with bogus Specs execution messages, even when they technically changed. It's pretty difficult to know which particular plan was truly changed by looking at the Bamboo UI.
Seems to me that the Specs scan engine is tricked into sensing a change in a plan simply based on the normal rebuilding of inherited classes. Is there any way I can avoid the rescan of unchanged plans and still use inheritance in my Specs project?
Thanks very much!