NetBeans Forums
| View previous topic :: View next topic |
| Author |
Message |
Jesse Glick Posted via mailing list.
|
Posted: Thu Dec 15, 2011 3:13 pm Post subject: Re: Range terminology is not suitable for versioning |
|
|
On 12/15/2011 03:31 AM, Jaroslav Tulach wrote:
| Quote: | if a stable API module decides to switch
a dependency to new incompatible version of a less stable module, it should
mark itself as incompatible with its previous version as well.
|
This would seem to be completely unacceptable - for example, the widely used java.source would have to be increment its major version (0.93 -> 1.0 -> 2.0 -> ...) every
time a new source drop of libs.javacimpl was made. And it makes little sense intuitively - callers of java.source are insulated from implementation changes in libs.javacimpl.
Similarly, such a restriction would make it impossible to have a friend-like dependency between, say, openide.util and openide.util.lookup. If
AbstractServiceProviderProcessor, in the semistable package org.openide.util.lookup.implspi, is changed (say 8.12 -> 8.13) and URLStreamHandlerRegistrationProcessor is
fixed to match the change (so openide.util.lookup ~ 8.12.0+ -> openide.util.lookup ~ 8.13.0+), the hundreds of modules using openide.util ~ 8.21+ should not be suddenly
broken (i.e. require a linkage check) by forcing openide.util to become 9.0 rather than 8.21.1. |
|
| Back to top |
|
 |
Jaroslav Tulach Posted via mailing list.
|
Posted: Fri Dec 16, 2011 3:04 am Post subject: Re: Range terminology is not suitable for versioning |
|
|
Right. I know that NetBeans module system is basically OK in current state.
Especially as it prevents implicit re-export (to some extend and at least
during compilation).
| Quote: | ## 14. 12. 2011 20:39:25 ##<
At any rate, the Ant harness in the proposal would only generate one of
three kinds of ranges: [x.y.z,x'.0.0) or [x.y.z,x.y'.0) or [x.y.z,x.y.z').
|
Right, this is my expectation and yes, my current understanding suggests that
this is a sustainable system[a].
| Quote: | Whether the module system runtime would permit other ranges like [1.0,1.2)
or even (1.0,1.2], and if not what syntax should be used for limited
ranges, is another question.
|
I don't want ranges in the NetBeans module system on other places where we
have them, where they were incorporated in by using OSGi and unless ranges are
the official dependency mechanism accepted by JDK8 (which I hope will not
happen).
-jt
[a] I expect there is a restriction - if a stable API module decides to switch
a dependency to new incompatible version of a less stable module, it should
mark itself as incompatible with its previous version as well. I can probably
formalize it.
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|