On Feb 8, 2013, at 7:09 PM, Denis Gervalle <dgl(a)softec.lu> wrote:
On Fri, Feb 8, 2013 at 3:58 PM, Vincent Massol
<vincent(a)massol.net> wrote:
On Feb 8, 2013, at 3:42 PM, Denis Gervalle <dgl(a)softec.lu> wrote:
By the way, if we agree on @unstable, I also
think having another
annotation for marking stable API that are not considered to be stable
SPI.
Why not something like @onlyAPI or @unstableSPI
on an interface ?
I think first we need to define what is an SPI and what is an API first.
ATM I don't think I understand clearly the difference in the context of
XWiki. Is it clear for you?
I do not really understand your question. The general definition is rather
clear: "Service Provider Interface (SPI) is an API intended to be
implemented or extended by a third party".
All our component interfaces are meant to be implemented by 3rd parties to override
default behaviors. Are they SPI?
What I would like to be
annotated is API that we do not consider stable SPI at the moment. It is
less restrictive than @unstable, but more than not saying anything.
Is that answering your question ?
That seems complex. Why not use @unstable on "SPI" classes/methods?
Thanks
-Vincent
> Thanks
> -Vincent
>
>> On Fri, Feb 8, 2013 at 3:30 PM, Thomas Mortagne
>> <thomas.mortagne(a)xwiki.com>wrote;wrote:
>>
>>> Yes it's more clear than "beta".
>>>
>>> On Fri, Feb 8, 2013 at 3:28 PM, Denis Gervalle <dgl(a)softec.lu> wrote:
>>>> +1, but I have the impression that @unstable would be more meaningful
>>>>
>>>>
>>>> On Fri, Feb 8, 2013 at 2:49 PM, Thomas Mortagne
>>>> <thomas.mortagne(a)xwiki.com>wrote;wrote:
>>>>
>>>>> On Fri, Feb 8, 2013 at 2:40 PM, Vincent Massol
<vincent(a)massol.net>
>>> wrote:
>>>>>> Hi Paul,
>>>>>>
>>>>>> On Feb 8, 2013, at 1:22 PM, Paul Libbrecht
<paul(a)hoplahup.net>
> wrote:
>>>>>>
>>>>>>> Doesn't the @deprecated annotation actually does exactly
the job?
>>>>>>> (except it has to be interpreted as meaning something else
than "old
>>>>> code", but "do not use code").
>>>>>>
>>>>>> @Deprecated means something different. It's about some code
that you
>>>>> shouldn't use because we no longer think it's good to use and
it's
>>> going to
>>>>> be removed in the future.
>>>>>>
>>>>>> This is not what a @beta or @experimental annotation would mean.
They
>>>>> would mean "this is a new api that you can use but it's not
stable yet
>>> and
>>>>> may change in the future so be prepared to update your code if that
>>>>> happens".
>>>>>
>>>>> Plus @deprecated is technically pretty stable API while @beta can be
>>>>> broken anytime.
>>>>>
>>>>>>
>>>>>> Thanks
>>>>>> -Vincent
>>>>>>
>>>>>>> paul
>>>>>>>
>>>>>>>
>>>>>>> On 8 févr. 2013, at 12:45, Thomas Mortagne wrote:
>>>>>>>
>>>>>>>>> * Proposal 1 (internal package):
>>>>>>>>> - Vincent
>>>>>>>>> - Marius
>>>>>>>>>
>>>>>>>>> * Proposal 2 (experimental package)
>>>>>>>>> - Caleb
>>>>>>>>>
>>>>>>>>> * Proposal 3 (@Beta/@Experimental annotation)
>>>>>>>>> - Thomas
>>>>>>>>> - Edy
>>>>>>>>>
>>>>>>>>> * Other proposal
>>>>>>>>> - Denis (use 1) for small changes and only use RN to
mark new
>>> module
>>>>> as experimental)