Guava URIs

211 views
Skip to first unread message

Eric Edens

unread,
May 11, 2015, 8:50:47 PM5/11/15
to guava-...@googlegroups.com
Hey!

I see there's an accepted FR [1] for adding URI support to Guava, and I'd like to help out.

Did you guys have any APIs in mind? Would it be helpful if I proposed one to get the ball rolling?

- Eric

1. https://github.com/google/guava/issues/1005

Kevin Bourrillion

unread,
May 11, 2015, 10:03:22 PM5/11/15
to Eric Edens, guava-discuss
I feel bad about this, but it looks like we made a mistake in marking it accepted. :-(

The problem is, we have a common.net.Uri class, that has more than 50,000 usages in our own codebase (that's a lot). The only reasonable way we can ever have a Uri in Guava is by releasing that one... or a version of it that we transformed through great difficulty.  Introducing a competitor would be a non-starter.

But I believe this class has enough major issues that just throwing it out as it is would do everyone a disservice. While at the same time, to do better than that may be a major project. No one's been able to make it a priority to do that... and sadly, in a case like this it's not clear there's much you can do to help from outside. :-(

It's an unfortunate bind to be in. We will try to think of ways to get out of it. 



--
guava-...@googlegroups.com
Project site: https://github.com/google/guava
This group: http://groups.google.com/group/guava-discuss

This list is for general discussion.
To report an issue: https://github.com/google/guava/issues/new
To get help: http://stackoverflow.com/questions/ask?tags=guava
---
You received this message because you are subscribed to the Google Groups "guava-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to guava-discus...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/guava-discuss/cd45c3db-a8d6-4156-9984-c311d5a59604%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Kevin Bourrillion | Java Librarian | Google, Inc. | kev...@google.com

Eric Edens

unread,
May 12, 2015, 1:27:48 AM5/12/15
to Kevin Bourrillion, guava-discuss
Yeah, that sounds like a pickle. :/

If you're interested in addressing some of those issues with common.net.Uri, without shipping to Guava's consumers, here is a potential option:

Flag common.net.Uri for inclusion in the public version of Guava; however, exclude it from the Maven artifacts, and for safe measure, annotate it with @Alpha (or something similar). External people could chip at the issues that you've identified until it's at a place where it can be included back into the Maven artifacts. Given that these fixes would also be merged into common.net.Uri, it seems like a win for everyone.

Anyway, I understand if something like this isn't feasible. If that's the case, I'll shake the bug queue to see if anything else drops. :)

Eric Edens

unread,
May 25, 2015, 1:37:31 AM5/25/15
to guava-...@googlegroups.com

Joachim Durchholz

unread,
May 25, 2015, 6:11:56 AM5/25/15
to guava-...@googlegroups.com
On that GitHub page, click on the "History" button, then scroll down.
It says "Start google-http-java-client project split off from
google-api-java-client" there; I guess one can do more analysis from there.

The "Blame" button will tell you what was original and what to blame on
the project contributors.

More analysis can be done starting from that point.

HTH
Jo

Chris Povirk

unread,
May 25, 2015, 10:38:29 AM5/25/15
to Eric Edens, guava-discuss
It has some similarities to common.net.Uri, but I don't know if it explicitly took inspiration from common.net.Uri or not. In any case, it's *another* URL class that has at least some usage inside Google. (I'd have to check how much.)
Reply all
Reply to author
Forward
0 new messages