Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] RE: API tooling for CDT 8.0 and CDT 7.0.1

The merits of the rule for not adding API to a maintenance branch is, IMO, debatable. Technically speaking, API additions do not break clients so in theory they do not pose problems--build-time or run-time. But I think the idea of the rule is to limit the scope of work being pushed out in a ?.?.X release. If features and API are being added to, say, 7.0.1, then someone taking that update is being misled. He should be able to assume that only important bug fixes have been introduced to the mix. A point release ?.X can carry heavier changes, so new API is allowed. For a major release, it's no holds barred.

Note that adding a method to a class/interface may be an API addition, but it may be an API-break. It all depends on the nature of the class/interface. That nature can now be declared via annotations (@noextend, @noimplement, etc). So, e.g., adding a method to an interface that is @noextend and @noimplement is backwards compatible, but not otherwise.

John

At 08:58 AM 6/17/2010, Marc Khouzam wrote:
If I understand correctly the API tooling, if we want to avoid all API changes
for 7.0.1, then I think we really should be on a 7.0 baseline.
If we remain on 6.0, someone can remove a method that was added in 7.0 and that will be
ignored by the API tooling.
But if we move to a 7.0 baseline, removing such a method will give an error that will
require incrementing the plugin to 8.0.

About the maintenance release, the policy for a maintenance release is no API changes
at all?  So we can't add new classes or methods?

Thanks

Marc


> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Doug Schaefer
> Sent: Thursday, June 17, 2010 9:47 AM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] RE: API tooling for CDT 8.0 and CDT 7.0.1
>
> Actually, 7.0.1 should still be against the 6.0 baseline, no? There
> are no API changes at all allowed on the maintenance stream.
>
> On Thu, Jun 17, 2010 at 9:35 AM, Marc Khouzam
> <marc.khouzam@xxxxxxxxxxxx> wrote:
> > I've updated our policy wiki with this procedure.
> > http://wiki.eclipse.org/CDT/policy
> >
> >
> > ________________________________
> > From: cdt-dev-bounces@xxxxxxxxxxx
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
> > Behalf Of Marc Khouzam
> > Sent: Thursday, June 17, 2010 8:29 AM
> > To: 'CDT General developers list.'
> > Subject: [cdt-dev] API tooling for CDT 8.0 and CDT 7.0.1
> >
> > Hi all,
> >
> > just a reminder that now that we have moved to developing
> new CDT versions,
> > you should update
> > your API baselines to the CDT 7.0 code for both 8.0 and 7.0.1.
> >
> > There has already been some commits to CDT 8.0 that broke
> API tooling :-)
> >
> > Here is how I do it, takes 30 seconds:
> >
> > 1- download CDT 7.0 from
> >
> http://download.eclipse.org/tools/cdt/builds/7.0.0/I.I20100614
> 1710/index.html
> > 2- unzip it in some directory (I create a CDT7.0 dir)
> > 3- in eclipse go to Preferences->Plug-in Development->API Baselines
> > 4- Press the Add Baselines... button
> > 5- Name your new baseline (I use CDT7.0)
> > 6- Choose the directory of point #2 and press OK
> > 7- make sure the new baseline is the selected one.
> >
> > Thanks
> >
> > Marc
> >
> >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> >
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> _______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev




Back to the top