-
-
Notifications
You must be signed in to change notification settings - Fork 444
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
Vendor JSON #1554
Vendor JSON #1554
Conversation
Codecov Report
@@ Coverage Diff @@
## 6.x.x #1554 +/- ##
========================================
Coverage ? 80.91%
Complexity ? 2815
========================================
Files ? 204
Lines ? 10340
Branches ? 1367
========================================
Hits ? 8367
Misses ? 1491
Partials ? 482 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be nice to add a README.md to vendor/gson
with a link to where we got it (their github I assume? but more importantly, the version (and commit sha), so we can easily diff/check if we need to update things.
Alternatively just add a comment to the top of the class:
https://github.com/google/gson/blob/f319c1b8e5ac1135ab253513f91d5ece6719cdf7/gson/src/main/java/com/google/gson/stream/JsonWriter.java
I see you've added the info to the file already under the header.
# Conflicts: # sentry/api/sentry.api # sentry/src/main/java/io/sentry/SentryEnvelopeHeader.java # sentry/src/main/java/io/sentry/protocol/DebugImage.java # sentry/src/main/java/io/sentry/protocol/MeasurementValue.java # sentry/src/main/java/io/sentry/protocol/SentryTransaction.java
@marandaneto @maciejwalkowiak Think we are ready for an alpha release, i updated the changelog with the largest changes that this PR introduces. I did not merge in the main branch yet, as @marandaneto mentioned that we might point this against the |
@denrase I've targeted to the new branch, mind resolving the conflicts? thanks |
# Conflicts: # CHANGELOG.md # sentry/api/sentry.api # sentry/src/test/java/io/sentry/SentryOptionsTest.kt
looks like this is done or is there something missing? |
@marandaneto Don't remember what the original intent was. I did add some sentences in the changelog to describe the overall impact of the PR. |
just be sure that the changelog is up to date with all breaking changes. See:
which is not the case anymore right. |
# Conflicts: # buildSrc/src/main/java/Config.kt # sentry/api/sentry.api # sentry/src/test/java/io/sentry/JsonSerializerTest.kt # sentry/src/test/java/io/sentry/SentryClientTest.kt
@marandaneto Merged in the current |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
thanks @denrase
I'll do the honours then :D |
📜 Description
This PR will be the baseline where further PRs will be merged into. Therefore it will stay in draft for a longer period of time.
Vendor
gson
JSONReader
andJSONWriter
with needed files invendor/gson
foldervendor/gson
vendor
files from usual checks so we can keep the source/tests the same.Serialization
JsonSerializable
that models can implement to write json to a stream.JSONReader
subclassJsonObjectWriter
JsonObjectSerializer
null
,boolean
,int
,long
,double
,String
,Map
,Collection
,Array
,JsonSerializable
JsonSerializable
interface provides access to aunknown
map which is serialized usingJsonObjectSerializer
JsonSerializable
as public API.Deserialization
JsonDeserializer
that models can implement to read json to a stream.JSONWriter
subclassJsonObjectReader
.JsonObjectDeserializer
.null
,boolean
,int
,long
,double
,String
,Map
,List
JsonDeserializer
will take read all unknown fields and set then on the the deserialized object.Example
UserFeedback
implements serialization/deserialization using the new classes to illustrate the usage.💡 Motivation and Context
Relates to #1537
Resolves #1733
Resolves #1497
💚 How did you test it?
📝 Checklist
🔮 Next steps
This PR will stay open until everything is implemented.
Gson
Dependency #1744