Thanks all for your support:). I will start creating a subproject for it.

Regards
Emily

On Thu, Sep 29, 2011 at 10:50 AM, Graham Charters <[email protected]>wrote:

> +1
>
> Semantic versioning is a very difficult concept to get right - as the
> discussion on this thread are demonstrating ;)  If we can identify
> when things are clearly wrong and make recommendations, then that
> would be a huge step forward.
>
> It would be nice if we could have a core capability that's agnostic of
> environment (i.e. whether it is used in Maven, Ant, Eclipse, etc.) and
> then use that to enable checking in those environments.  I'd be happy
> to help with the Maven integration...time permitting :-S
>
> Graham.
>
> On 29 September 2011 10:29, Emily Jiang <[email protected]> wrote:
> > Hi David,
> >
> > For an interface, the tool just finds out whether it has binary
> > compatibility changes or not. If yes, the major version will need to be
> > updated. If it has new methods etc (based on sementic versioning white
> > paper), its minor version needs to be increased. Its version should be
> > determined by the changes not by the different types of clients. As
> > mentioned by Valentin, its client or implementors can protect themselves
> by
> > using different version ranges.
> >
> > By the way, the tool is implemented based on the semantic version white
> > paper as per your email.
> >
> > Regards
> > Emily
> >
> > On Thu, Sep 29, 2011 at 9:05 AM, David Bosschaert <
> > [email protected]> wrote:
> >
> >> 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]
> >> >>>
> >> >
> >> >
> >>
> >
> >
> >
> > --
> > Thanks
> > Emily
> > =================
> > Emily Jiang
> > [email protected]
> >
>



-- 
Thanks
Emily
=================
Emily Jiang
[email protected]

Reply via email to