rharter / auto-value-parcel

An Android Parcelable extension for Google's AutoValue.
Apache License 2.0
655 stars 64 forks source link

Support immutable collections #145

Closed SUPERCILEX closed 5 years ago

SUPERCILEX commented 5 years ago

Fixes #118, closes #105

SUPERCILEX commented 5 years ago

@rharter Any thoughts?

SUPERCILEX commented 5 years ago

Awesome, thanks!

@rharter Unfortunately, I just tested it IRL and it doesn't work. Looks like the the guava packages are being mapped to autovaluemoshi.shaded.com.google.common.collect by the shadow jar thing, leading to the types not being recognized. Why is that being done?

SUPERCILEX commented 5 years ago

@rharter Hmmm, I don't get the point of the shadow jar at all. Can it just be removed?

SUPERCILEX commented 5 years ago

The good news is that it all works (runtime included) without the shadow stuff.

rharter commented 5 years ago

Wait, shadow changes the plain strings?

rharter commented 5 years ago

We can't remove it. When something else on the annotation processor classpath changes the guava version it causes problems, so we have to shade it so we can keep using our own. The solution is to configure the Shadow Gradle plugin to ignore those plain strings that are used to reference the classes.

SUPERCILEX commented 5 years ago

Yup, it does. (I guess it's just a find/replace). Working on a hacky fix.

SUPERCILEX commented 5 years ago

See #146