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

Ywmei/serialization feature branch #3951

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

ywmei-brt1
Copy link
Contributor

No description provided.

ywmei-brt1 and others added 9 commits June 27, 2022 14:26
* Add annotations and provide comments

* change Kotlin serialization depenencies from Json to Core

* clean gitignore file and merge all annotations into one file

* file name change for ktx annotation file

* Replace {@code } with kotlin inline markup [], remove self-ref

Ref: go/androidx-kdoc-guidelines#do-not-link-to-the-same-identifier-inside-documentation

* generated new API text file

Co-authored-by: y5mei <[email protected]>
* Upgrade kotlin version to 1.6.20

* Upgrade dagger in protoc-gen-firebase-encoders.

* Filter out only release component.

* Add explanation.
* Add annotations and provide comments

* change Kotlin serialization depenencies from Json to Core

* clean gitignore file and merge all annotations into one file

* file name change for ktx annotation file

* Basic Encoder handle Object & List

* run unit test in parallel and ignore */bin/ folder

* add kotlin doc, added more test, and remove unsued descriptor parameter from encoder

* removed tailing comma in the Encoder's constructor

* Replace {@code } with kotlin inline markup [], remove self-ref

Ref: go/androidx-kdoc-guidelines#do-not-link-to-the-same-identifier-inside-documentation

* add copy right

* generated new API text file

* changed test with Truth

* new map encoder

* Supporting Encoder with CallBack functions

* fix typo

* remove index from list encoder

Co-authored-by: y5mei <[email protected]>
* update java gradle file to include Ktx dependency

* convert Java annotations to Ktx and provide unti tests

* abstract serializer and encoder for Java converted classes

* make java class @serializable and provide serializers, encoders, and test utils

* convert ktx classes to Java

* change test util class name and fix comments

* add a line at the end of gradle file

* removed extra test from firebase-firestore.gradle

* update proguard file

* modified proguard.txt

* more try with proguard

* format change

* update proguard.txt

* new line at the end of each file
* Add annotations and provide comments

* change Kotlin serialization depenencies from Json to Core

* clean gitignore file and merge all annotations into one file

* file name change for ktx annotation file

* Basic Encoder handle Object & List

* run unit test in parallel and ignore */bin/ folder

* add kotlin doc, added more test, and remove unsued descriptor parameter from encoder

* removed tailing comma in the Encoder's constructor

* Replace {@code } with kotlin inline markup [], remove self-ref

Ref: go/androidx-kdoc-guidelines#do-not-link-to-the-same-identifier-inside-documentation

* add copy right

* generated new API text file

* draft of documentId annotation and servertimestamp

* move test util to firebase firestore pacakge

* changed test with Truth

* before refactor

* annotations for 1st review

* modified the logic for build CurrentElementToEncode Obj, and provide unit test for testUtil

* 1st implementation of component registrar

* add integration test

* add copyrights

* working with sealed class now

* provide a set of MapEncoder

* change to support()

* add more Java doc

* polished Kotlin doc and Java doc

* update java gradle file to include Ktx dependency

* convert Java annotations to Ktx and provide unti tests

* abstract serializer and encoder for Java converted classes

* make java class @serializable and provide serializers, encoders, and test utils

* convert ktx classes to Java

* change test util class name and fix comments

* add a line at the end of gradle file

* new integration test method wip

* removed extra test from firebase-firestore.gradle

* a very dangerous change

* update proguard file

* modified proguard.txt

* more try with proguard

* before change base branch to [support ktx in java]

* remove extra imports in test util

* format change

* update for PR

* update integration test with high order function

* add empty line at the end of gradle.properties

* change import order

* fix a typo in Ktx doc

* change test util method name

* fix a break for AccessHelper

Co-authored-by: y5mei <[email protected]>
* Add annotations and provide comments

* change Kotlin serialization depenencies from Json to Core

* clean gitignore file and merge all annotations into one file

* file name change for ktx annotation file

* Basic Encoder handle Object & List

* run unit test in parallel and ignore */bin/ folder

* add kotlin doc, added more test, and remove unsued descriptor parameter from encoder

* removed tailing comma in the Encoder's constructor

* Replace {@code } with kotlin inline markup [], remove self-ref

Ref: go/androidx-kdoc-guidelines#do-not-link-to-the-same-identifier-inside-documentation

* add copy right

* generated new API text file

* draft of documentId annotation and servertimestamp

* move test util to firebase firestore pacakge

* changed test with Truth

* before refactor

* annotations for 1st review

* modified the logic for build CurrentElementToEncode Obj, and provide unit test for testUtil

* 1st implementation of component registrar

* add integration test

* add copyrights

* working with sealed class now

* provide a set of MapEncoder

* change to support()

* add more Java doc

* basic decoder

* polished Kotlin doc and Java doc

* update Kotlin doc

* update java gradle file to include Ktx dependency

* convert Java annotations to Ktx and provide unti tests

* abstract serializer and encoder for Java converted classes

* make java class @serializable and provide serializers, encoders, and test utils

* convert ktx classes to Java

* decoder can work with Ktx 1.3.72 and Gradle 6.9

* change test util class name and fix comments

* add a line at the end of gradle file

* update kotlin docs

* new integration test method wip

* removed extra test from firebase-firestore.gradle

* a very dangerous change

* update proguard file

* modified proguard.txt

* more try with proguard

* before change base branch to [support ktx in java]

* remove extra imports in test util

* format change

* changed all assertThrow to Truth

* change as pre code review

* remove @RunWith(), make para name short

* update for PR

* add runwith junit4

* update integration test with high order function

* add empty line at the end of gradle.properties

* change import order

* fix a typo in Ktx doc

* simplify unit test

* change format

* fix typo

* change test util method name

* fix a break for AccessHelper

* repalce @before with top-level private var

* data class to help calculate checkNUllMark

Co-authored-by: y5mei <[email protected]>
* Add annotations and provide comments

* change Kotlin serialization depenencies from Json to Core

* clean gitignore file and merge all annotations into one file

* file name change for ktx annotation file

* Basic Encoder handle Object & List

* run unit test in parallel and ignore */bin/ folder

* add kotlin doc, added more test, and remove unsued descriptor parameter from encoder

* removed tailing comma in the Encoder's constructor

* Replace {@code } with kotlin inline markup [], remove self-ref

Ref: go/androidx-kdoc-guidelines#do-not-link-to-the-same-identifier-inside-documentation

* add copy right

* generated new API text file

* draft of documentId annotation and servertimestamp

* move test util to firebase firestore pacakge

* changed test with Truth

* before refactor

* annotations for 1st review

* modified the logic for build CurrentElementToEncode Obj, and provide unit test for testUtil

* 1st implementation of component registrar

* add integration test

* add copyrights

* working with sealed class now

* provide a set of MapEncoder

* change to support()

* add more Java doc

* basic decoder

* polished Kotlin doc and Java doc

* update Kotlin doc

* update java gradle file to include Ktx dependency

* convert Java annotations to Ktx and provide unti tests

* abstract serializer and encoder for Java converted classes

* make java class @serializable and provide serializers, encoders, and test utils

* convert ktx classes to Java

* decoder can work with Ktx 1.3.72 and Gradle 6.9

* change test util class name and fix comments

* add a line at the end of gradle file

* update kotlin docs

* new integration test method wip

* removed extra test from firebase-firestore.gradle

* a very dangerous change

* update proguard file

* modified proguard.txt

* more try with proguard

* before change base branch to [support ktx in java]

* remove extra imports in test util

* format change

* changed all assertThrow to Truth

* change as pre code review

* remove @RunWith(), make para name short

* update for PR

* add runwith junit4

* update integration test with high order function

* add empty line at the end of gradle.properties

* change import order

* fix a typo in Ktx doc

* simplify unit test

* change format

* add support to annotaitons

* remove extra logic

* fix typo

* change test util method name

* merge change from parent

* remove todos

* throw exception directly after if

* Ywmei/handle annotation during decoding (#3913)

* support documentId and servertiemstamp annotation with decoder

* change method name

* add support for throwOnExtraProperties

* decoder all done

* update format

* changed abstract decoder class's name

* share annotations between java and kotlin (#3922)

* share annotations between java and kotlin

* deleted extra files and fixed the annotation target

* get ktx Target.PROPERTY annotations from getXxx$Annotation()

* fix typo

* remove retention

* fix some tests

* provide more comments for synthetic method

* support transaction,  writebatch, query (#3923)

* support transaction,  writebatch, querry

* provide invoke test util

* fix typo

* remove invoke() test util

* remove gson dependency

* provides more tests (#3936)

Co-authored-by: y5mei <[email protected]>
@github-actions
Copy link
Contributor

buildSrc Test Results

18 tests   18 ✔️  2m 13s ⏱️
  4 suites    0 💤
  4 files      0

Results for commit 84a6e7e.

@github-actions
Copy link
Contributor

Unit Test Results

   397 files  +   174     397 suites  +174   16m 40s ⏱️ + 7m 37s
4 787 tests +1 428  4 763 ✔️ +1 421  22 💤 +6  2 +1 
4 803 runs  +1 440  4 779 ✔️ +1 433  22 💤 +6  2 +1 

For more details on these failures, see this check.

Results for commit 84a6e7e. ± Comparison against base commit 0fe063e.

@google-oss-bot
Copy link
Contributor

Size Report 1

Affected Products

  • firebase-appcheck-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar5.60 kB5.59 kB-9 B (-0.2%)
    apk (aggressive)349 kB350 kB+900 B (+0.3%)
    apk (release)1.53 MB1.54 MB+15.1 kB (+1.0%)
  • firebase-appdistribution-api-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.14 kB6.11 kB-25 B (-0.4%)
    apk (aggressive)101 kB101 kB+924 B (+0.9%)
    apk (release)1.24 MB1.26 MB+16.5 kB (+1.3%)
  • firebase-common-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.34 kB6.31 kB-28 B (-0.4%)
    apk (aggressive)99.3 kB100 kB+936 B (+0.9%)
    apk (release)1.22 MB1.24 MB+14.9 kB (+1.2%)
  • firebase-config-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar5.86 kB5.85 kB-12 B (-0.2%)
    apk (aggressive)113 kB114 kB+900 B (+0.8%)
    apk (release)1.29 MB1.30 MB+15.6 kB (+1.2%)
  • firebase-crashlytics-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.87 kB6.88 kB+6 B (+0.1%)
    apk (aggressive)231 kB232 kB+984 B (+0.4%)
    apk (release)1.44 MB1.46 MB+17.6 kB (+1.2%)
  • firebase-database-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar7.67 kB7.66 kB-15 B (-0.2%)
    apk (aggressive)348 kB349 kB+932 B (+0.3%)
    apk (release)1.69 MB1.71 MB+14.9 kB (+0.9%)
  • firebase-dynamic-links-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar8.80 kB8.73 kB-75 B (-0.9%)
    apk (aggressive)348 kB349 kB+880 B (+0.3%)
    apk (release)1.53 MB1.55 MB+14.3 kB (+0.9%)
  • firebase-firestore

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar1.26 MB1.27 MB+12.5 kB (+1.0%)
    apk (aggressive)489 kB489 kB+247 B (+0.1%)
    apk (release)3.39 MB3.39 MB+4.05 kB (+0.1%)
  • firebase-firestore-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar7.43 kB37.6 kB+30.1 kB (+406.0%)
    apk (aggressive)504 kB506 kB+1.93 kB (+0.4%)
    apk (release)3.94 MB4.05 MB+114 kB (+2.9%)
  • firebase-functions-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.15 kB6.13 kB-12 B (-0.2%)
    apk (aggressive)412 kB413 kB+952 B (+0.2%)
    apk (release)1.76 MB1.78 MB+16.0 kB (+0.9%)
  • firebase-inappmessaging-display-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar22.2 kB22.2 kB+5 B (+0.0%)
    apk (aggressive)1.51 MB1.51 MB+860 B (+0.1%)
    apk (release)5.24 MB5.26 MB+17.1 kB (+0.3%)
  • firebase-inappmessaging-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar5.30 kB5.31 kB+10 B (+0.2%)
    apk (aggressive)679 kB680 kB+884 B (+0.1%)
    apk (release)3.97 MB3.99 MB+16.4 kB (+0.4%)
  • firebase-installations-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar5.29 kB5.29 kB-1 B (-0.0%)
    apk (aggressive)101 kB102 kB+888 B (+0.9%)
    apk (release)1.26 MB1.27 MB+17.0 kB (+1.3%)
  • firebase-messaging-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.55 kB6.55 kB-2 B (-0.0%)
    apk (aggressive)453 kB454 kB+948 B (+0.2%)
    apk (release)1.69 MB1.71 MB+15.4 kB (+0.9%)
  • firebase-ml-modeldownloader-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar6.42 kB6.37 kB-43 B (-0.7%)
    apk (aggressive)158 kB159 kB+860 B (+0.5%)
    apk (release)1.37 MB1.39 MB+16.0 kB (+1.2%)
  • firebase-perf-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar19.5 kB19.5 kB-5 B (-0.0%)
    apk (aggressive)1.04 MB1.04 MB+888 B (+0.1%)
    apk (release)3.02 MB3.04 MB+18.3 kB (+0.6%)
  • firebase-storage-ktx

    TypeBase (0fe063e)Merge (c7997b5)Diff
    aar7.30 kB7.26 kB-34 B (-0.5%)
    apk (aggressive)347 kB348 kB+896 B (+0.3%)
    apk (release)1.56 MB1.58 MB+15.9 kB (+1.0%)

Test Logs

Notes

  • Commit (c7997b5) is created by Prow via merging PR base commit (0fe063e) and head commit (84a6e7e).

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/KKjcVHjzxM.html

@ywmei-brt1 ywmei-brt1 marked this pull request as ready for review July 28, 2022 19:18
@ywmei-brt1
Copy link
Contributor Author

/retest

@google-oss-bot
Copy link
Contributor

@ywmei-brt1: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
check-coverage-changed 84a6e7e link /test check-coverage-changed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants