Hello.
In XWiki, we take care of retro-compatibility. Each class that is not
internal is considered as API, and we have clirr to detect when an API
breakage is done.
However, we don't apply this strategy regarding the page objects of our
functional tests. I noticed this when I've tried to use some pages objects
defined on an application based on platform 6.4.1 on an other application
based on platform 7.4. Due to incompatibility issues, I had to rewrite some
page objects in my new application.
It will be a major issue when we will move some current core extensions to
contrib.
So I propose considered Page Objects as API, and to add CLIRR checks on the
build.
WDYT?
Thanks,
--
Guillaume Delhumeau (guillaume.delhumeau(a)xwiki.com)
Research & Development Engineer at XWiki SAS
Committer on the
XWiki.org project