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

Moe Sync #3386

Closed
wants to merge 16 commits into from
Closed

Moe Sync #3386

wants to merge 16 commits into from

Conversation

ronshapiro
Copy link
Contributor

This code has been reviewed and submitted internally. Feel free to discuss on the PR and we can submit follow-up changes as necessary.

Commits:

Add Report-To header.

https://www.w3.org/TR/reporting/

24f15fd


Remove unused imports and warnings.

Fixes #3356

3d35188


Reformat with google-java-format

RELNOTES=N/A

7722bf9


Add missing @OverRide annotations

492f1a6


Document the retention of listeners added to Guava implementations of ListenableFuture.

RELNOTES=The retention of listeners added to Guava implementations of ListenableFuture is now documented.

3d56928


Reformat with google-java-format

RELNOTES=N/A

12168b6


Name the method parameter 'unused' for ImmutableSortedSet.readObject(ObjectInputStream) (so the static analysis doesn't complain)

0451f49


Remove @beta from APIs:

collect

  • most Collectors (aside from BloomFilter and ImmutableRange*, as those whole classes are @beta (though I did remove the redundant @beta annotation from the Collector-returning methods for clarity))
  • Maps: asConverter, immutableEnumMap
  • MultimapBuilder
  • Streams: stream(Iterable), concat

io

  • ByteStreams: copy, toByteArray
  • CharStreams: copy, toString
  • Files: as(Char|Byte)(Source|Sink)

util.concurrent

  • Futures: addCallback, getDone, getUnchecked, immediateCancelledFuture, immediateFailedFuture, immediateFuture
  • ListeningScheduledExecutorService
  • Uninterruptibles

other

  • HtmlEscapers
  • Splitter.splitToList
  • Ticker

Fixes #3287
Fixes #3251 (aside from ImmutableRange*, but those whole classes are @beta, anyway)
Addresses the main concerns of #3285 but doesn't cover the broader request
Fixes #3340
Partially addresses #3239

RELNOTES=Removed @Beta from a number of frequently used APIs.

91c249d


Add some known UTF-8 hash values to Murmur3_32 tests. UTF-8 is more comparable between platforms than relying on Java's internal encoding.

a02262d


Remove @CanIgnoreReturnValue from Ordering.sortedCopy() and immutableSortedCopy().

RELNOTES=@CanIgnoreReturnValue removed from Ordering.sortedCopy() and immutableSortedCopy()`.

cbbcc98


Make a constructor private.

(I'm looking into EnumMap stuff for other reasons, and I got to wondering if this was used outside the file. Nope.)

9d01511


Delete WellBehavedMap.

The bug it worked around was fixed in Java 7:
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6312706

And I don't believe it was ever present under Android:
https://android.googlesource.com/platform/libcore/+/fdb2704414a9ed92394ada0d1395e4db86889465/luni/src/main/java/java/util/EnumMap.java#146

I haven't looked for the absolute first version ever of GWT, but the still very old GWT file doesn't have the bug, either.

Deleting this class will simplify some work I'm doing around our EnumMap usage for j2cl.

f836239


Internal GWT change

cd33465


Automated rollback of changelist cd33465

*** Original change description ***

Internal GWT change


b937ab0


Use J2ObjC's @RetainedWith annotation instead of @weak on ImmutableMap.keySet to prevent crashes on iOS.

TESTED=Created a map inside a autorelease pool and saved a reference to the
keyset. Checked that the keyset functions correctly outside the autorelease
pool. Checked that both the keyset and the map are deallocated by the
autorelease pool when not holding a reference to the keyset. Did this test with
both ImmutableMap.of(<2 entries>) and ImmutableBiMap.of(<2 entries>).

RELNOTES=J2ObjC: Fixes crashes from use of ImmutableMap.keySet().

31ade17


Annotate checkNotNull's input and output as @nonnull.

We don't want to go down the road of annotating most things @nonnull, as we eventually want to use tools that assume that that's the default. However, it's pretty weird for checkNotNull() to return a @nullable value in the minds of some tools, so let's annotate just that method and see how it goes.

GITHUB_BREAKING_CHANGES=N/A
RELNOTES=Annotated checkNotNull's input and output as @NonNull.

68ee322

xingx and others added 16 commits February 14, 2019 14:44
https://www.w3.org/TR/reporting/

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=231590633
Fixes #3356

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=231638663
RELNOTES=N/A

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=231889594
RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232004516
… ListenableFuture.

RELNOTES=The retention of listeners added to Guava implementations of ListenableFuture is now documented.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232007326
RELNOTES=N/A

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232329476
…ObjectInputStream) (so the static analysis doesn't complain)

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232557400
collect
- most Collectors (aside from BloomFilter and ImmutableRange*, as those whole classes are @beta (though I did remove the redundant @beta annotation from the Collector-returning methods for clarity))
- Maps: asConverter, immutableEnumMap
- MultimapBuilder
- Streams: stream(Iterable), concat

io
- ByteStreams: copy, toByteArray
- CharStreams: copy, toString
- Files: as(Char|Byte)(Source|Sink)

util.concurrent
- Futures: addCallback, getDone, getUnchecked, immediateCancelledFuture, immediateFailedFuture, immediateFuture
- ListeningScheduledExecutorService
- Uninterruptibles

other
- HtmlEscapers
- Splitter.splitToList
- Ticker

Fixes #3287
Fixes #3251 (aside from ImmutableRange*, but those whole classes are @beta, anyway)
Addresses the main concerns of #3285 but doesn't cover the broader request
Fixes #3340
Partially addresses #3239

RELNOTES=Removed `@Beta` from a number of frequently used APIs.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232681253
…omparable between platforms than relying on Java's internal encoding.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232756904
…SortedCopy().

RELNOTES=`@CanIgnoreReturnValue` removed from `Ordering.sortedCopy() and `immutableSortedCopy()`.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=232883462
(I'm looking into EnumMap stuff for other reasons, and I got to wondering if this was used outside the file. Nope.)

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233408580
The bug it worked around was fixed in Java 7:
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6312706

And I don't believe it was ever present under Android:
https://android.googlesource.com/platform/libcore/+/fdb2704414a9ed92394ada0d1395e4db86889465/luni/src/main/java/java/util/EnumMap.java#146

I haven't looked for the absolute first version ever of GWT, but the still very old GWT file doesn't have the bug, either.

Deleting this class will simplify some work I'm doing around our EnumMap usage for j2cl.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233418344
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233617662
*** Original change description ***

Internal GWT change

***

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233628983
…p.keySet to prevent crashes on iOS.

TESTED=Created a map inside a autorelease pool and saved a reference to the
keyset. Checked that the keyset functions correctly outside the autorelease
pool. Checked that both the keyset and the map are deallocated by the
autorelease pool when not holding a reference to the keyset. Did this test with
both ImmutableMap.of(<2 entries>) and ImmutableBiMap.of(<2 entries>).

RELNOTES=J2ObjC: Fixes crashes from use of ImmutableMap.keySet().

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233811320
We don't want to go down the road of annotating most things @nonnull, as we eventually want to use tools that assume that that's the default. However, it's pretty weird for checkNotNull() to return a @nullable value in the minds of some tools, so let's annotate just that method and see how it goes.

GITHUB_BREAKING_CHANGES=N/A
RELNOTES=Annotated `checkNotNull`'s input and output as `@NonNull`.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=233963788
@ronshapiro ronshapiro added the internal-sync A PR that represents a push from Google's internal repo label Feb 14, 2019
@googlebot
Copy link
Collaborator

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the cla label to yes (if enabled on your project), and then merge this pull request when appropriate.

@googlebot
Copy link
Collaborator

A Googler has manually verified that the CLAs look good.

(Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.)

@ronshapiro ronshapiro closed this Feb 26, 2019
@cpovirk cpovirk deleted the sync-master-2019/02/14 branch August 21, 2019 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes internal-sync A PR that represents a push from Google's internal repo
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove Beta from ListeningScheduledExecutorService? Remove @Beta from the immutable collector methods
9 participants