Hi devs,

In preparation of our Deprecation Day and continuing our vote on the 
Deprecation strategy I'd like to propose several rules we need to clarify since 
we need them and I'd like to finish documenting our full deprecation strategy.

Rule 1: Where are Legacy modules located?
===================================

* Proposal: 
- Each Git repository needing legacy modules provides a *-legacy module for 
holding legacy modules. For example:
-- For Commons, xwiki-commons-core/xwiki-commons-legacy/
-- For Platform, xwiki-platform-core/xwiki-platform-legacy/
-- For Rendering, xwiki-rendering-legacy/

* Explanation:
- It's better to locate them in a specific module (*-legacy) than inside their 
own module (for ex in 
xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-legacy/) 
because legacy modules are something we don't want to see as much as possible 
since we're must not use them in our code, thus it's logical to park them all 
together somewhere.

* Notes:
- This is our current rule but it's never been explicitly defined

Rule 2: What do Legacy modules contain?
=================================

* Proposal: 
- Each Legacy module should replace the non-legacy module it corresponds to. 
This means that the user must have only 1 JAR for a given module: either its 
legacy version or it's non-legacy version but should never have both.

* Explanation:
- We need consistency. Right now we have oldcore which acts like this but 
others don't and it's complex to explain to users that for some they have to 
swap them and for others they have to keep both side by side
- In the very close future, we'll use a lot of Aspects in modules others than 
legacy-oldcore, and thus we'll need to apply this strategy anyway.

* Notes: 
- Currently, only oldcore acts like this.
- The consequence is that we'll have one legacy module per non legacy modules. 
Right now we sometimes have one legacy module for several non legacy modules 
which we'll need to fix

Here's my +1 to both.

Thanks
-Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to