NetBeans Forums

 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
  

Re: Range terminology is not suitable for versioning

 
Post new topic   Reply to topic    NetBeans Forums -> NetBeans Developers
View previous topic :: View next topic  
Author Message
Jesse Glick
Posted via mailing list.





PostPosted: Thu Dec 15, 2011 3:13 pm    Post subject: Re: Range terminology is not suitable for versioning Reply with quote

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.





PostPosted: Fri Dec 16, 2011 3:04 am    Post subject: Re: Range terminology is not suitable for versioning Reply with quote

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.

Quote:

The Maven harness would of course generate the same kind of limited ranges
when processing a regular dep on another module. Whether Maven version
ranges [4] explicitly configured in the POM would be honored, i.e.
translated directly to the output, is another question; they do not seem
to work for this purpose, since e.g. a dep on
org.apache.ant:ant:[1.8.0,1.9) will (currently) compile against
ant-1.8.2.jar rather than ant-1.8.0.jar as you might expect.

[1] http://wiki.apidesign.org/wiki/RangeDependencies
[2]
http://wiki.apidesign.org/wiki/LibraryReExportIsNPComplete#Module_Dependen
cy_Problem [3]
http://wiki.apidesign.org/wiki/LibraryWithoutImplicitExportIsPolynomial
[4]
http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+R
esolution
Back to top
Display posts from previous:   
Post new topic   Reply to topic    NetBeans Forums -> NetBeans Developers All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB
By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo