> I looked at the repository a little bit... where are your scripts?The scripts are now contained in a single file :
http://code.google.com/a/eclipselabs.org/p/guava-bundle/source/browse/trunk/build.sh
Yeah, templates are a lazy trick to avoid me to create everything from
the scripts. About the "Bundle-Vendor", I filled it with "Google Inc."
because I really did no addition/modificaiton to the bundle and then,
think it was more honest. But it is an issue for the guava team, I'm
ok to change it to anything else ("Eclipselabs.org for instance").
Oh, wait, I am the one who didn't contact you? Gah! Sorry! Let me hopefully give some explanation: in August I was on leave of absence, and I had lost all interest in coding. I wanted to spend the rest of my summer leave doing Not Very Much. So I do apologize.
Tell you what: go look at the org.junit bundle and see who is listed as the provider.
I will review your stuff a little more, and yes, if you are still interested, I'll make you an owner of guava-osgi.
--
guava-...@googlegroups.com.
http://groups.google.com/group/guava-discuss?hl=en
unsubscribe: guava-discus...@googlegroups.com
This list is for discussion; for help, post to Stack Overflow instead:
http://stackoverflow.com/questions/ask
Use the tag "guava".
While this may true, the scheme used by guava project is rather
unusual and it is quite hard to say it follows an established
generally used pattern; or even tries to play it nice with ones that
are established. OSGi scheme for example is quite close to Apache
versioning and the idea of versioning reflecting compatibility changes
is not very controversial at this point.
So in that sense I do think criticism is fair; even though projects
are obviously free to choose whatever versioning system (including
none at all) they choose to.
But at this point it would be good to hear from core guava committers
what their view is, and how versioning is planned to work in future.
> The work on Guava are impressive and I can understand that the guava team
> don't want to bother with how to satisfy part of the community with a
> versioning scheme that is specific to OSGi only. They made and justified
This is just speculation until someone from the project team confirms
this view. Perhaps there are good explanations for choosing current
scheme.
I don't think versioning issues dissussed are "OSGi only" either.
Other commonly used schemes have similar hierarchic structure (APR,
versioning of linux kernels or most other OSes), and would map much
more nicely to OSGi as well as versioning that Maven uses.
Maven use case is especially important since guava is a low-level
dependency of many projects; and very useful component at that.
> choices that make senses and we have to live with that.
> Don't misinterpret, I'm big fan of the OSGi versioning scheme (and I use
> Eclipse PDE tools to check it on my projects). The white paper about
> semantic versioning (http://semver.org/) is full of sense, but I can't force
> people to follow it.
I don't think anyone is trying to force a scheme, but to work on
finding suitable mapping that allows translation; and to ensure
everyone understands issues.
There is also nothing wrong in trying to convince owners of the
project to improve things based on usability and compatibility
concerns. My experience with open source project owners is that they
are willing to listen to differing viewpoints and make good decisions
for the community; not always ones others request, but generally ones
where requests are at least acknowledged.
-+ Tatu +-
While this may true, the scheme used by guava project is rather
unusual and it is quite hard to say it follows an established
generally used pattern; or even tries to play it nice with ones that
are established.
But at this point it would be good to hear from core guava committers
what their view is, and how versioning is planned to work in future.
Has there been any statement whether Guava will ever reach "1.0"? The
bug tracker contains many issues marked as "post-1.0", which makes
little sense to me otherwise.
I cannot see anything about bug tracking, or what "post-1.0" is
supposed to mean when there will never be a 1.0. My understanding from
the google-collections->guava migration was always that the r-releases
were temporary until the non-collection packages had stabilized.
> Whatever, the fact is that both mappings (yours and mine) are wrong in
> regard to the OSGi specification which stated that the versionning
> scheme (in the form of Major.Minor.Micro) must follow those rules:
> the 'Major' segment (the first) will change for non-backwards-
> compatible changes;
> the 'Minor' segment (the middle) will change for feature enhancements
> that are backwards compatible;
> the 'Micro' segment (the last) will change for bug-fixes that do not
> produce visible feature changes.
> Whatever, the fact is that both mappings (yours and mine) are wrong in
> regard to the OSGi specification which stated that the versionning
> scheme (in the form of Major.Minor.Micro) must follow those rules:
> the 'Major' segment (the first) will change for non-backwards-
> compatible changes;
> the 'Minor' segment (the middle) will change for feature enhancements
> that are backwards compatible;
> the 'Micro' segment (the last) will change for bug-fixes that do not
> produce visible feature changes.
Pulling all this together, I think that mapping v1 to 1.0, v2 to 2.0,
... is the right choice. It follows OSGi rules better than 1.1, 1.2,
... (or 0.1, 0.2, ...), the only other straightforward mapping scheme.
Taking the v1, v2, ... versioning scheme as given, does this sound
reasonable?
>> While this may true, the scheme used by guava project is rather
>> unusual and it is quite hard to say it follows an established
>> generally used pattern; or even tries to play it nice with ones that
>> are established.
>
> We have the absolute simplest versioning scheme imaginable. After release
> 7, the next release is release 8. 43 releases after that will be release
> 51. We've said in the past that anyone who would rather consider release 8
> to be be release "8.0" is perfectly welcome to do that. Because of the
> nature of the @Beta subset of our library, every release can introduce
> incompatibilities. And for the non-@Beta majority, incompatibilities can
> appear in the form of deleted deprecated methods on a rolling basis (a
> method can be removed after 18 months of deprecation).
> Whatever, the fact is that both mappings (yours and mine) are wrong in
> regard to the OSGi specification which stated that the versionning
> scheme (in the form of Major.Minor.Micro) must follow those rules:
> the 'Major' segment (the first) will change for non-backwards-
> compatible changes;
> the 'Minor' segment (the middle) will change for feature enhancements
> that are backwards compatible;
> the 'Micro' segment (the last) will change for bug-fixes that do not
> produce visible feature changes.
Pulling all this together, I think that mapping v1 to 1.0, v2 to 2.0,
... is the right choice. It follows OSGi rules better than 1.1, 1.2,
... (or 0.1, 0.2, ...), the only other straightforward mapping scheme.
Taking the v1, v2, ... versioning scheme as given, does this sound
reasonable?