Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #2914 by switching -android version suffix to -ga; revert vanilla… #2945

Closed
wants to merge 1 commit into from

Conversation

yborovikov
Copy link

This patch changes -android version suffix to -ga for Android / Java 7 flavored version of Guava, resolving #2914.

The resolution piggy-backs on documented Maven ComparableVersion feature that equates ga-suffixed versions (e.g. 24.0-ga) with non-suffixed ones (e.g. 24.0) in the context of comparing / ordering / determining the latest version.

Note: This also reverts the patch by @cpovirk, restoring the original vanilla (Java 8+) Guava versioning scheme (e.g. from patched 24.0-jre back to 24.0).

Note: README.md text should be updated before releasing the next version to reflect the suffix change for the Android version.

…anilla versions from 24.0-jre back to 24.0
@ooxi
Copy link

ooxi commented Sep 19, 2017

I have read the issue linked. Nevertheless I think using -ga instead of -android will lead to a lot of confusion. Without having seen this pull request I would not have known the difference between 24.0 and 24.0-ga and would most likely have picked 24.0-ga when updating (since general availability seems better than no suffix).

@yborovikov
Copy link
Author

@ooxi You'd have every right to get confused initially (even though such mistake would usually get immediately realized at your project compile time) - what Guava is trying to achieve with releasing both android/java7 and java8+ artifacts is indeed confusing. Arguably, they do have a reason for doing this, though.

As to GA version being considered "better" than plain (non-suffixed) release one - I'm not sure it's clear cut (and might be highly subjective, depending on one's history of exposure to these). When I encounter such versions I try to check the project documentation on their versioning scheme and semantics.

Wikipedia's Software release life cycle article has this diagram:
Software release life cycle
which probably (yet not necessarily) reflects some majority opinion / consensus on the topic.

Anyway, in case of a doubt a quick glance at Guava project landing page should clear any confusion and make the choice between vanilla and android/java7-specific version reasonably obvious.

@ooxi
Copy link

ooxi commented Sep 19, 2017

Thank you for such an in-depth explanation of your reasoning. While I still would have been confused and would likely have chosen the wrong version at first, you are right in your estimation that it would have been more logical to use 24.0 than 24.0-ga. I therefore withdraw my initial rejection of this change.

@cgdecker
Copy link
Member

I'm not clear on how -ga makes sense. "General availability" isn't a term we use in Guava releases and really doesn't have any particular relevance to "Android flavor". The scheme we've chosen is <version>-jre and <version>-android for the two flavors of Guava, and that's what we'll be going with barring significant evidence that we should be doing something different.

@cgdecker cgdecker closed this Sep 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants