Skip to content

Conversation

@jpobst
Copy link
Contributor

@jpobst jpobst commented Apr 12, 2022

This incorporates some stuff from #395 in order to complete migrating Guava from XamarinComponents to the AndroidX repository.

Some notes:

  • We use excludedRuntimeDependencies to ignore Guava's dependencies. They use the "parent POM" pattern which we currently do not support, which causes binderator to throw an NRE. We use explicit <PackageReference>'s for now to incorporate these dependencies.
  • Removes Xamarin.CodeHaus.Mojo.AnimalSnifferAnnotations as a Guava dependency, as this is not present in the POM.
  • To simplify PR (and because we can't use binderator for dependency management currently), does not import Xamarin.Google.J2Objc.Annotations or Xamarin.CheckerFramework.CheckerCompatQual to this repo yet.
    • Note CheckerCompatQual is no longer the correct dependency anyways, it now uses CheckerQual.
  • Updated to target MonoAndroid12.0 to match the rest of AndroidX.
  • We cannot build both Guava and Guava.ListenableFuture in BuildAll.csproj because they both contain the same ListenableFuture.class. We choose to only build Guava.
  • Guava now depends on ListenableFuture 9999.0.0 instead of 1.0.0.7. (Context: [Guava.ListenableFuture] Create a 9999.0 version without the .jar to match Maven. xamarin/XamarinComponents#1366)
  • This only moves the existing bindings to this repo. It does not attempt to fix existing problems like 31.0-jre.

Future tasks:

  • Move the Guava dependency Xamarin.Google.J2Objc.Annotations to this repository.
  • Bind the Guava dependency Xamarin.CheckerFramework.CheckerQual.
  • Add binderator support for "parent POM" so we can use automatic dependency management.

CI Packages (Left is NuGet, right is CI)

Xamarin.Google.Guava

image

Xamarin.Google.Guava.ListenableFuture

image

Xamarin.Google.Guava.FailureAccess

image

@jpobst jpobst force-pushed the guava-4-12 branch 2 times, most recently from 53f94de to a4bc307 Compare April 14, 2022 18:31
@moljac
Copy link
Contributor

moljac commented Apr 25, 2022

Earlier attempt to solve this problem (together with guava-android-v.v.v.jar vs guava-jre-v.v.v.jar):

#395

@moljac
Copy link
Contributor

moljac commented Apr 25, 2022

guava-android-v.v.v.jar vs guava-jre-v.v.v.jar

#537

@jpobst jpobst force-pushed the guava-4-12 branch 7 times, most recently from 596c952 to 0477bb0 Compare May 3, 2022 16:30
@jpobst jpobst marked this pull request as ready for review May 3, 2022 19:05
@jpobst jpobst requested a review from moljac May 3, 2022 19:05
@jpobst
Copy link
Contributor Author

jpobst commented May 3, 2022

I think this is finally ready to be reviewed!

Copy link
Contributor

@moljac moljac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jpobst jpobst merged commit c0e7fd3 into main May 5, 2022
@jpobst jpobst deleted the guava-4-12 branch May 5, 2022 13:49
@jpobst jpobst mentioned this pull request May 24, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants