aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-02Merge sc-mainline-prodHEADt_frc_tz4_330443010t_frc_swc_330443040t_frc_swc_330443010t_frc_sta_330443010t_frc_sch_330443040t_frc_sch_330443010t_frc_res_330443000t_frc_per_330444010t_frc_odp_330442040t_frc_odp_330442000t_frc_neu_330443030t_frc_neu_330443000t_frc_net_330443000t_frc_med_330443030t_frc_ips_330443010t_frc_ext_330443000t_frc_doc_330543000t_frc_doc_330443060t_frc_doc_330443000t_frc_con_330443020t_frc_cbr_330443000t_frc_ase_330444010t_frc_art_330443060t_frc_adb_330444000frc_340821000frc_340819280frc_340819220frc_340819190frc_340819030frc_340819020frc_340819010frc_340818170frc_340818110android-vts-14.0_r4android-vts-14.0_r3android-vts-14.0_r2android-vts-14.0_r1android-u-beta-1-gplandroid-security-14.0.0_r8android-security-14.0.0_r7android-security-14.0.0_r6android-security-14.0.0_r5android-security-14.0.0_r4android-security-14.0.0_r3android-security-14.0.0_r2android-security-14.0.0_r1android-platform-14.0.0_r7android-platform-14.0.0_r6android-platform-14.0.0_r5android-platform-14.0.0_r4android-platform-14.0.0_r3android-platform-14.0.0_r2android-platform-14.0.0_r1android-cts-14.0_r4android-cts-14.0_r3android-cts-14.0_r2android-cts-14.0_r1android-14.0.0_r9android-14.0.0_r8android-14.0.0_r7android-14.0.0_r6android-14.0.0_r5android-14.0.0_r4android-14.0.0_r37android-14.0.0_r36android-14.0.0_r35android-14.0.0_r34android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r3android-14.0.0_r29android-14.0.0_r28android-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r2android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16android-14.0.0_r15android-14.0.0_r14android-14.0.0_r13android-14.0.0_r12android-14.0.0_r11android-14.0.0_r10android-14.0.0_r1android-13.0.0_r83android-13.0.0_r82android-13.0.0_r81android-13.0.0_r80android-13.0.0_r79android-13.0.0_r78android-13.0.0_r77android-13.0.0_r76android-13.0.0_r75android-13.0.0_r74android-13.0.0_r73android-13.0.0_r72android-13.0.0_r71android-13.0.0_r70android-13.0.0_r69android-13.0.0_r68android-13.0.0_r67android-13.0.0_r66android-13.0.0_r65android-13.0.0_r64android-13.0.0_r63android-13.0.0_r62android-13.0.0_r61android-13.0.0_r60android-13.0.0_r59android-13.0.0_r58android-13.0.0_r57android-13.0.0_r56android-13.0.0_r55android-13.0.0_r54android-13.0.0_r53android-13.0.0_r52android-13.0.0_r51android-13.0.0_r50android-13.0.0_r49android-13.0.0_r48android-13.0.0_r47android-13.0.0_r46android-13.0.0_r45android-13.0.0_r44android-13.0.0_r43android-13.0.0_r42android-13.0.0_r41android-13.0.0_r40android-13.0.0_r39android-13.0.0_r38android-13.0.0_r37android-13.0.0_r36android-13.0.0_r35android-13.0.0_r34android-13.0.0_r33android-13.0.0_r32android-13.0.0_r30android-13.0.0_r29android-13.0.0_r28android-13.0.0_r27android-13.0.0_r24android-13.0.0_r23android-13.0.0_r22android-13.0.0_r21android-13.0.0_r20android-13.0.0_r19android-13.0.0_r18android-13.0.0_r17android-13.0.0_r16aml_uwb_341513070aml_uwb_341511050aml_uwb_341310300aml_uwb_341310030aml_uwb_341111010aml_uwb_341011000aml_uwb_331910010aml_uwb_331820070aml_uwb_331613010aml_uwb_331611010aml_uwb_331410010aml_uwb_331310030aml_uwb_331115000aml_uwb_331015040aml_uwb_330810010aml_tz5_341510070aml_tz5_341510050aml_tz5_341510010aml_tz4_332714070aml_tz4_332714050aml_tz4_332714010aml_tz4_331910000aml_tz4_331314030aml_tz4_331314020aml_tz4_331314010aml_tz4_331012050aml_tz4_331012040aml_tz4_331012000aml_rkp_341510000aml_rkp_341311000aml_rkp_341114000aml_rkp_341015010aml_rkp_341012000aml_odp_341610000aml_hef_341613000aml_hef_341512030aml_hef_341415040aml_hef_341311010aml_hef_341114030aml_go_wif_330911000aml_go_uwb_330912000aml_go_tz4_330912000aml_go_tet_330914010aml_go_swc_330913000aml_go_sta_330911000aml_go_sdk_330810000aml_go_sch_330911000aml_go_res_330912000aml_go_per_330912000aml_go_odp_330913000aml_go_odp_330912000aml_go_neu_330912000aml_go_net_330913000aml_go_mpr_330912000aml_go_med_330913000aml_go_ips_330911000aml_go_ext_330912000aml_go_doc_330912000aml_go_con_330913000aml_go_cbr_330912000aml_go_ase_330913000aml_go_art_330913000aml_go_ads_330915100aml_go_ads_330915000aml_go_ads_330913000aml_go_adb_330913000aml_cfg_341510000aml_ase_341510000aml_ase_341410000aml_ase_341310010aml_ase_341113000aml_ase_340913000aml_ase_331311020aml_ase_331112000aml_ase_331011020aml_ads_341615050aml_ads_341517040aml_ads_341413000aml_ads_341316030aml_ads_341131050aml_ads_341027030aml_ads_340915050aml_ads_331920180aml_ads_331814200aml_ads_331710270aml_ads_331611190aml_ads_331511020aml_ads_331418080aml_ads_331131000mastermain-16k-with-phonesmain-16kmainandroid14-tests-releaseandroid14-security-releaseandroid14-s2-releaseandroid14-s1-releaseandroid14-releaseandroid14-qpr2-s5-releaseandroid14-qpr2-s4-releaseandroid14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-releaseandroid14-qpr1-s2-releaseandroid14-qpr1-releaseandroid14-platform-releaseandroid14-mainline-uwb-releaseandroid14-mainline-healthfitness-releaseandroid14-mainline-appsearch-releaseandroid14-mainline-adservices-releaseandroid14-gsiandroid14-devandroid14-d1-s7-releaseandroid14-d1-s6-releaseandroid14-d1-s5-releaseandroid14-d1-s4-releaseandroid14-d1-s3-releaseandroid14-d1-s2-releaseandroid14-d1-s1-releaseandroid14-d1-releaseandroid13-qpr3-s9-releaseandroid13-qpr3-s8-releaseandroid13-qpr3-s7-releaseandroid13-qpr3-s6-releaseandroid13-qpr3-s5-releaseandroid13-qpr3-s4-releaseandroid13-qpr3-s3-releaseandroid13-qpr3-s2-releaseandroid13-qpr3-s14-releaseandroid13-qpr3-s13-releaseandroid13-qpr3-s12-releaseandroid13-qpr3-s11-releaseandroid13-qpr3-s10-releaseandroid13-qpr3-s1-releaseandroid13-qpr3-releaseandroid13-qpr3-c-s8-releaseandroid13-qpr3-c-s7-releaseandroid13-qpr3-c-s6-releaseandroid13-qpr3-c-s5-releaseandroid13-qpr3-c-s4-releaseandroid13-qpr3-c-s3-releaseandroid13-qpr3-c-s2-releaseandroid13-qpr3-c-s12-releaseandroid13-qpr3-c-s11-releaseandroid13-qpr3-c-s10-releaseandroid13-qpr3-c-s1-releaseandroid13-qpr2-s9-releaseandroid13-qpr2-s8-releaseandroid13-qpr2-s7-releaseandroid13-qpr2-s6-releaseandroid13-qpr2-s5-releaseandroid13-qpr2-s3-releaseandroid13-qpr2-s2-releaseandroid13-qpr2-s12-releaseandroid13-qpr2-s11-releaseandroid13-qpr2-s10-releaseandroid13-qpr2-s1-releaseandroid13-qpr2-releaseandroid13-qpr2-b-s1-releaseandroid13-qpr1-s8-releaseandroid13-qpr1-s7-releaseandroid13-qpr1-s6-releaseandroid13-qpr1-s5-releaseandroid13-qpr1-s4-releaseandroid13-qpr1-s3-releaseandroid13-qpr1-s2-releaseandroid13-qpr1-s1-releaseandroid13-qpr1-releaseandroid13-mainline-uwb-releaseandroid13-mainline-tzdata4-releaseandroid13-mainline-go-wifi-releaseandroid13-mainline-go-uwb-releaseandroid13-mainline-go-tzdata4-releaseandroid13-mainline-go-tethering-releaseandroid13-mainline-go-sdkext-releaseandroid13-mainline-go-scheduling-releaseandroid13-mainline-go-resolv-releaseandroid13-mainline-go-permission-releaseandroid13-mainline-go-os-statsd-releaseandroid13-mainline-go-odp-releaseandroid13-mainline-go-neuralnetworks-releaseandroid13-mainline-go-networking-releaseandroid13-mainline-go-mediaprovider-releaseandroid13-mainline-go-media-swcodec-releaseandroid13-mainline-go-media-releaseandroid13-mainline-go-ipsec-releaseandroid13-mainline-go-extservices-releaseandroid13-mainline-go-documentsui-releaseandroid13-mainline-go-conscrypt-releaseandroid13-mainline-go-cellbroadcast-releaseandroid13-mainline-go-art-releaseandroid13-mainline-go-appsearch-releaseandroid13-mainline-go-adservices-releaseandroid13-mainline-go-adbd-releaseandroid13-mainline-appsearch-releaseandroid13-mainline-adservices-releaseandroid13-frc-scheduling-releaseandroid13-frc-resolv-releaseandroid13-frc-permission-releaseandroid13-frc-os-statsd-releaseandroid13-frc-odp-releaseandroid13-frc-neuralnetworks-releaseandroid13-frc-networking-releaseandroid13-frc-media-swcodec-releaseandroid13-frc-media-releaseandroid13-frc-ipsec-releaseandroid13-frc-extservices-releaseandroid13-frc-documentsui-releaseandroid13-frc-conscrypt-releaseandroid13-frc-cellbroadcast-releaseandroid13-frc-art-releaseandroid13-frc-adbd-releaseandroid13-devandroid13-d4-s2-releaseandroid13-d4-s1-releaseandroid13-d4-releaseandroid13-d3-s1-releaseandroid13-d2-releaseaml_tz5_341510010aml_tz4_332714010Xin Li
Bug: 189946434 Change-Id: I7a9a9213c35d3f03b7dcc34306563097e7063cc4
2021-02-21[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocity am: 29fd1ff90c am: ↵android-mainline-12.0.0_r99android-mainline-12.0.0_r98android-mainline-12.0.0_r77android-mainline-12.0.0_r70android-mainline-12.0.0_r69android-mainline-12.0.0_r63android-mainline-12.0.0_r59android-mainline-12.0.0_r56android-mainline-12.0.0_r5android-mainline-12.0.0_r49android-mainline-12.0.0_r42android-mainline-12.0.0_r39android-mainline-12.0.0_r22android-mainline-12.0.0_r19android-mainline-12.0.0_r122android-mainline-12.0.0_r115android-mainline-12.0.0_r113android-mainline-12.0.0_r100aml_tz3_311312010android12-mainline-networkstack-releaseandroid12-mainline-art-releaseBob Badour
d8363f3b50 am: de5924ce12 am: 53a3376464 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1588601 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I91f1b7a5aa669090293eadf355161650e8e360eb
2021-02-21[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocity am: 29fd1ff90c am: ↵Bob Badour
d8363f3b50 am: de5924ce12 am: 53a3376464 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1588601 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I23da09e41a442339313b2eb4442c67f90f0b1b69
2021-02-21[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocity am: 29fd1ff90c am: ↵android-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-3android-s-v2-beta-2android-s-qpr3-beta-1android-mainline-12.0.0_r4android-mainline-12.0.0_r36android-12.1.0_r9android-12.1.0_r8android-12.1.0_r7android-12.1.0_r26android-12.1.0_r25android-12.1.0_r24android-12.1.0_r23android-12.1.0_r22android-12.1.0_r21android-12.1.0_r20android-12.1.0_r19android-12.1.0_r18android-12.1.0_r17android-12.1.0_r16android-12.1.0_r15android-12.1.0_r14android-12.1.0_r13android-12.1.0_r12android-12.1.0_r11android-12.1.0_r10android-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12L-devandroid12L-d2-s8-releaseandroid12L-d2-s7-releaseandroid12L-d2-s6-releaseandroid12L-d2-s5-releaseandroid12L-d2-s4-releaseandroid12L-d2-s3-releaseandroid12L-d2-s2-releaseandroid12L-d2-s1-releaseandroid12L-d2-releaseandroid12-qpr3-s7-releaseandroid12-qpr3-s6-releaseandroid12-qpr3-s5-releaseandroid12-qpr3-s4-releaseandroid12-qpr3-s3-releaseandroid12-qpr3-s2-releaseandroid12-qpr3-s1-releaseandroid12-qpr3-releaseandroid12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-devandroid12--mainline-releaseandroid-t-preview-1android-s-v2-preview-1android-s-v2-beta-3android-s-qpr3-beta-1Bob Badour
d8363f3b50 am: de5924ce12 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1588601 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I0a0815403e204e34dee1f0df01554e1648927ec7
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocity am: 29fd1ff90c am: ↵Bob Badour
d8363f3b50 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1588601 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I8351236d01337df93626faa57fb71a53fd809532
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocity am: 29fd1ff90candroid-s-beta-5android-s-beta-4android-s-beta-3android-s-beta-2android-s-beta-1android-s-beta-5android-s-beta-4Bob Badour
Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1588601 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I0c0b027b90807d461c939183c101c2dec2e8d760
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to external/escapevelocityBob Badour
Added SPDX-license-identifier-Apache-2.0 to: Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I5b96b53aca4d90c8dd4e53b9779d5110b9884b18
2020-06-19Add Android files for escapevelocity am: 959711e574 am: a6d220be8e am: ↵Colin Cross
51ef969a6f am: 0cd428ffdc am: f1c10578de Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343297 Change-Id: I9631bcbcd2c567e6ea81f73f934ed81b71962a24
2020-06-19Merge tag 'escapevelocity-0.9.1' into master am: 43799cbf40 am: 6b276f51ce ↵Colin Cross
am: f29fb6ed5e am: cc05f1b8c0 am: 6ddc2e77d3 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343296 Change-Id: I98942f8946a7975cef65e6df530e22321112bb8f
2020-06-19Add Android files for escapevelocity am: 959711e574 am: a6d220be8e am: ↵android-s-preview-1Colin Cross
51ef969a6f am: 0cd428ffdc Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343297 Change-Id: I3f5cf3e585499bab1d7f726e43e23e248da8a3ab
2020-06-19Merge tag 'escapevelocity-0.9.1' into master am: 43799cbf40 am: 6b276f51ce ↵Colin Cross
am: f29fb6ed5e am: cc05f1b8c0 Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343296 Change-Id: If2c33d268d0adf811a08ef5ab12744fc4a3aebd8
2020-06-19Add Android files for escapevelocity am: 959711e574 am: a6d220be8e am: ↵Colin Cross
51ef969a6f Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343297 Change-Id: Ib9880171da3ec6c4059e99e0f4869ec850602924
2020-06-19Merge tag 'escapevelocity-0.9.1' into master am: 43799cbf40 am: 6b276f51ce ↵Colin Cross
am: f29fb6ed5e Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343296 Change-Id: I5c32fb4f5bb679436369b90f5d59784c8596b587
2020-06-19Add Android files for escapevelocity am: 959711e574 am: a6d220be8er_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10mainline-prodandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseColin Cross
Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343297 Change-Id: Ib5c80e9e40ffb37408b08c037ef4aeb7b753ab27
2020-06-19Merge tag 'escapevelocity-0.9.1' into master am: 43799cbf40 am: 6b276f51ceColin Cross
Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343296 Change-Id: Ib4ec2e1354d9ade01503a39340ae9fd4d9b38eaf
2020-06-19Add Android files for escapevelocity am: 959711e574Colin Cross
Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343297 Change-Id: I8e84e3a9e9a67ac50ba8c45095daf52b336dec81
2020-06-19Merge tag 'escapevelocity-0.9.1' into master am: 43799cbf40Colin Cross
Original change: https://android-review.googlesource.com/c/platform/external/escapevelocity/+/1343296 Change-Id: Ia48ff60f21a72bdd4c7a00c0cb47b5b52b2f92e8
2020-06-18Add Android files for escapevelocityplatform-tools-30.0.4android-r-beta-3android-r-beta-2Colin Cross
Add Android.bp, METADATA and MODULE_LICENSE_APACHE2 files for escapevelocity. Bug: 158870037 Test: m checkbuild Change-Id: Ibef08bca1c581866464aa046b01e1767f5a03cc4
2020-06-17Merge tag 'escapevelocity-0.9.1' into masterColin Cross
Bug: 158870037 Test: m checkbuild [maven-release-plugin] copy for tag escapevelocity-0.9.1 Change-Id: I372c58f18996d4f76f6845da7e6ff28a2d49522b
2020-06-17Initial empty repositoryInna Palant
2019-07-01[maven-release-plugin] prepare release escapevelocity-0.9.1Éamonn McManus
2019-05-02Merge pull request #3 from google/sync-4-30-2019Ron Shapiro
Moe Sync
2019-04-30Sync from internalemcmanus
--- Cache Method objects per template rather than per template evaluation. In a somewhat artificial benchmark, this sped up evaluation by 35%. The benchmark compiles AutoValueTest.java 100 times, and measures how much time was spent by AutoValueProcessor in template evaluation. AutoValueTest.java has 40 @AutoValue classes, and each of those triggers a separate template evaluation. Previously every one of those created a new Method cache (MethodFinder object). Now only the first one (on each iteration of the benchmark) does. Compilation runs will rarely have as many as 40 @AutoValue classes, but they have often have several, so there is still some benefit. According to this benchmark, EscapeVelocity and Apache Velocity now have indistinguishable performance. Internal change: 245835876 --- Avoid excessive reflection overhead by caching the results of method lookups. On an ad-hoc benchmark this improved template evaluation time by 38%. That means that code generators such as AutoValue that use EscapeVelocity should see a substantial speedup. Internal change: 244671738 --- If $foo is a Map then Velocity interprets $foo.bar the same as $foo["bar"]. Previously EscapeVelocity interpreted it the same as for other objects, by looking for a getBar() method (or boolean isBar()). It turns out that autoannotation.vm was depending on the old behaviour, so fix that. Internal change: 244364373
2018-06-06Fix a javadoc error and some warnings.Éamonn McManus
2018-06-06Add org.sonatype.oss parent to pom.xml.Éamonn McManus
2018-06-04Merge pull request #2 from google/licenseÉamonn McManus
Add <licenses> clause to pom.xml.
2018-06-04Add <licenses> clause to pom.xml.Éamonn McManus
2018-05-29Merge pull request #1 from google/sync-2018-05-29Éamonn McManus
Sync with Google-internal copy.
2018-05-29Sync with Google-internal copy.Éamonn McManus
2018-04-20Update to latest Google version of EscapeVelocity.Éamonn McManus
2017-12-27Initial version.Éamonn McManus
This is forked from the code built in to AutoValue, with the following non-trivial changes: (1) Package changed from com.google.auto.value.processor.escapevelocity to com.google.escapevelocity. (2) New pom.xml. (3) Code rewritten to remove Guava dependency, so no shading or diamond dependency problems.