Hi Valentin,

It's all in this doc:
www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf

Cheers,

David

On 29 September 2011 08:34, Valentin Mahrwald <[email protected]> wrote:
> Hm, I thought the distinction between usage of the interface was a 
> distinction made on the import side. So as for an interface I am using but 
> not implementing I have a range of [a, a+1) and for one I am using through 
> implementation, [a, a+0.1). In either case I would have thought the semantic 
> versioning tool should suggest a+0.1 as the next version for adding a new 
> method, so as to enable the user to make that choice.
>
> What am I missing?
>
> Regards,
>
> Valentin
>
> On 29 Sep 2011, at 08:28, David Bosschaert wrote:
>
>> Hi Emily,
>>
>> Yes, sounds great. Especially if this plugin can ultimately be
>> integrated with maven and work alongside the maven-bundle-plugin that
>> would be great.
>>
>> Regarding the semantic versioning, this relates to the role that a
>> certain interface plays.
>> If an interface is extended (e.g. with a new method) then there are
>> two situations:
>> * if it's an interface that is supposed to be *implemented* by end
>> users then this is a major version increase. I think this is what you
>> have right now.
>> * however, if it's an interface that is supposed to be *used* by end
>> users but implemented by the infrastructure (e.g. part of the
>> 'project' you are comparing, which might span multiple bundles) then
>> only a minor version increase is needed. In this case the interface is
>> still binary compatible with users of it. It's just not compatible
>> with implementors of it. Note that this only applies to a limited set
>> of changes to an interface. E.g. removing a method is binary
>> incompatible for everyone.
>>
>> I'm not sure whether its possible to automatically guess what the role
>> of an interface is, so the tool needs to be configurable wrt to this.
>> I would even suggest that the tool fails unless this information is
>> available for all its public interfaces since guessing it wrong can
>> have pretty bad consequences.
>>
>> Cheers,
>>
>> David
>>
>> On 28 September 2011 19:36, Alasdair Nottingham <[email protected]> wrote:
>>> +1
>>>
>>> I think this would be a really good tool to have here. I'm happy to assist
>>> with getting it integrated if you need anything.
>>>
>>> Thanks
>>> Alasdair
>>>
>>> On 28 September 2011 17:17, Emily Jiang <[email protected]> wrote:
>>>
>>>> I use ASM and also have to load classes to access super classes:(.
>>>>
>>>> On Wed, Sep 28, 2011 at 5:10 PM, Timothy Ward <[email protected]
>>>>> wrote:
>>>>
>>>>>
>>>>> Emily,
>>>>>
>>>>> Are you using ASM, or some other bytecode tool, to work out what has
>>>>> changed, or do you have to load classes and use reflection to find out?
>>>>>
>>>>> Regards,
>>>>>
>>>>> Tim
>>>>>
>>>>>> Date: Wed, 28 Sep 2011 16:58:33 +0100
>>>>>> Subject: Re: Semantic Versioning tool
>>>>>> From: [email protected]
>>>>>> To: [email protected]
>>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> It works by comparing the current binary with the baseline binary:
>>>>>> 1. For each export package, it scans each non private class to see
>>>>> whether
>>>>>> there are binary incompatibility changes (according to Java
>>>>> specificiation
>>>>>> chapter 13 Binary Compability). If yes, a major version change is
>>>> needed
>>>>> for
>>>>>> this pkg.
>>>>>> 2. If there are not binary incompability changes, it will see whether
>>>>> there
>>>>>> are abstract class, methods or new xsd file added. If yes, the
>>>> package's
>>>>>> minor version needs to be increased.
>>>>>> 3. It then determine the bundle version based on package versions
>>>> changed
>>>>>> according to semantic versioning white paper.
>>>>>>
>>>>>> The tool ignore micro version changes.
>>>>>>
>>>>>> I can contribute the tool as a project and then we can create a mvn
>>>>> plugin
>>>>>> from it or something even smarter.
>>>>>>
>>>>>> Regards,
>>>>>> Emily
>>>>>>
>>>>>> On Wed, Sep 28, 2011 at 4:16 PM, David Bosschaert <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Very interesting, Emily. Would you be able to provide some
>>>> information
>>>>>>> regarding how it works?
>>>>>>>
>>>>>>> In any case I would welcome such an addition to Aries.
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>> On 28 September 2011 16:02, Emily Jiang <[email protected]>
>>>>> wrote:
>>>>>>>> I have developed a semantic checking tool to check whether a
>>>> bundle's
>>>>>>>> version or the export package versions are correclty versioned
>>>>> according
>>>>>>> to
>>>>>>>> OSGi semantic versioning whitepaper. I would like to contribute to
>>>>> Apache
>>>>>>>> Aries as subproject under a code name of 'llama' ( or a better
>>>> name.
>>>>> I am
>>>>>>>> open to suggestions).
>>>>>>>>
>>>>>>>> Any thoughts or suggestions?
>>>>>>>> --
>>>>>>>> Thanks
>>>>>>>> Emily
>>>>>>>> =================
>>>>>>>> Emily Jiang
>>>>>>>> [email protected]
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thanks
>>>>>> Emily
>>>>>> =================
>>>>>> Emily Jiang
>>>>>> [email protected]
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Thanks
>>>> Emily
>>>> =================
>>>> Emily Jiang
>>>> [email protected]
>>>>
>>>
>>>
>>>
>>> --
>>> Alasdair Nottingham
>>> [email protected]
>>>
>
>

Reply via email to