grpc-dart/lib
Vyacheslav Egorov 7cced9282a
Fix compilation with DDC (#516)
b272632450 exposed client certificate through 
`X509Certificate? get clientCertificate;` getter on `ServiceCall` class. This broke 
compilation of `grpc_web` code using DDC, but not dart2js. Turns out that dart2js is 
happy to compile any code using `dart:io` (though the result will not run if you try
to use any of those APIs), but DDC rejects such code eagerly. `package:test` runs 
tests through `dart2js` so DDC breakage was not really caught by CI. 

Unfortunately this discrepancy between DDC and dart2js puts us in some really weird 
spot: most of our tests are platform independent, but most of those tests also 
pull in `dart:io` through transitive dependencies.

This commit is the most minimal change we could make to allow the code compile both 
on the Web and natively. 

A proper fix should be to go through tests one-by-one and make sure that those that
need to run on the Web don't import `dart:io`, but we don't have time to do that 
right now. 

This commit also adds a smoke test to the CI to verify that `grpc_web` example 
builds with DDC.
2021-08-16 14:52:36 +02:00
..
src Fix compilation with DDC (#516) 2021-08-16 14:52:36 +02:00
grpc.dart grpc_or_grpcweb.dart: exporting shared types #486 (#487) 2021-06-13 08:24:28 +02:00
grpc_connection_interface.dart Export codecRegistry for connection interface. (#434) 2021-01-27 23:50:21 +01:00
grpc_or_grpcweb.dart grpc_or_grpcweb.dart: exporting shared types #486 (#487) 2021-06-13 08:24:28 +02:00
grpc_web.dart grpc_or_grpcweb.dart: exporting shared types #486 (#487) 2021-06-13 08:24:28 +02:00
service_api.dart feat: support client interceptors (#338) 2020-11-02 11:13:56 +01:00