Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [e4-dev] Dependency Preference and Versioning

Boris,

Comments below.

Boris Bokowski wrote:

Ed Merks wrote on 01/14/2009 09:55:27 AM:

> This question drives at a key point: evolution.  Even if we start
> with the best of intentions based on the best of designs---I do
> believe that package dependencies are finer grained and more
> flexible---as things evolve, they tend to get messed up again.  E.
> g., even if we have package dependencies, there's no stopping
> clients from having bundle dependencies instead, so moving a package
> from one bundle to another bundle on which clients don't already
> have a direct dependency will be a breaking change.


Yes, whenever you move packages between bundles, the original bundle has to Require-Bundle the new one and re-export it.

> Similarly, if I
> have a package that depends on org.eclipse.swt and then later I add
> a visible dependency on org.eclipse.swt.custom, clients will be
> broken unless it's re-exported.  So in both cases, the sins tend
> creep back in. 


What do you mean by "visible dependency"?

That's a good question.  Tom points out the runtime and compile time distinction may be important.  Consider for example, adding a method that returns the thing.  Or likely a worse example, implementing some additional external interface in a public API class...

IMO, the only reason for re-exporting is the case above where you moved a package to a different bundle, usually because you are splitting an existing larger bundle into several smaller bundles.

Yes, reexport only when not doing so breaks clients.  Will that happen more often with finer grained dependencies?  Do we need to do it if it's just to maintain source compatibility?


Boris

>
> Does all this represent a design flaw?  How can we ensure that we
> stay on the golden path?
>
> Cheers,
> Ed
>
>
> Danail Nachev wrote:

> If we match the package version with the bundle version, what happens to
> the package version, when the package is moved to other bundle?
>
> I think that API tools gives us (or it will give us) enough power to
> evolve the package version separately from the bundle version.
>
> BR,
> --
> Danail Nachev
> Senior Software Engineer/Development Tools
> ProSyst Labs EOOD
> -------------------------------------------------
> stay in touch with your product.
> -------------------------------------------------
>
> Paul Webster wrote:
>  

> I would be happy with Import-Package instead of Require-Bundle.  And
> as per discussions in some of the other lists, we would need to
> version our packages if this was to be our best practice
>
> But I'm also for keeping it simple, match the package version to the
> bundle version.
>
> PW
>
>    

> _______________________________________________
> e4-dev mailing list
> e4-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/e4-dev
>   _______________________________________________
> e4-dev mailing list
> e4-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/e4-dev


_______________________________________________ e4-dev mailing list e4-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/e4-dev

Back to the top