On Tue, Sep 27, 2011 at 3:55 PM, Denis Gervalle <[email protected]> wrote: > On Tue, Sep 27, 2011 at 13:58, Vincent Massol <[email protected]> wrote: > >> Hi devs, >> >> I'd like to propose to apply the -legacy module concept we have in platform >> to XWiki Commons (and XWiki Rendering when a first need will arise). >> >> The idea is to introduce a >> xwiki-commons/xwiki-commons-core/xwiki-commons-legacy parent module. >> >> My first use case is: >> * Now that I've removed all usages of the old @Requirement annotation in >> commons, rendering, platform, enterprise I'd like to make sure we don't use >> it again and thus I'd like to add an aspect in >> xwiki-commons/xwiki-commons-core/xwiki-commons-legacy/xwiki-commons-legacy-component/ >> to add support for the old annotations. More specifically I'd like to remove >> the handling of the old Requirement annotation in ComponentDescriptorFactory >> and add an around aspect to add support for it in the legacy module. >> >> Thus I'd like to agree that we have 2 steps when it comes to deprecating >> code: >> 1) Start by deprecating it using the @deprecate and @Deprecated javadoc and >> java annotations. The code remains where it was before the deprecation >> happens. This is a first step. >> 2) When our own code doesn't use any of the deprecated APIs then move the >> code to a legacy module (either by moving an entire class if possible or by >> using some Aspect to weave some methods for ex). This is a second step. >> >> It has the following advantages: >> * Our code remains clean of old deprecated apis >> * Deprecated code is cleanly separated from new ways of doing things >> * When new users download the our code they see the new ways (same for >> javadoc generation) >> * Users wanting to use the old APIs can still do so >> >> Note: The question of when to remove completely the code from legacy is >> another topic that I'd like to bring up too but in a different email thread >> (I started writing a mail on this topic but need to finish it). >> > > I know this will be another thread, but why not keep legacy and have a build > without legacy stuff. > This build could also be a good test that we really do not rely on legacy > stuffs.
That's xwiki-debug-eclipse ;) > > >> >> Here's my +1 to follow this practice across our code base and to document >> it on xwiki.org >> >> > +1 > > >> Thanks >> -Vincent >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > > > > -- > Denis Gervalle > SOFTEC sa - CEO > eGuilde sarl - CTO > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

