Skip to content

Commit a712e28

Browse files
authored
chore: Use Any type for cross-module protos (#312)
Directly using AST protos from Celest Cloud protos means juggling two separate Dart types since Dart's protoc plugin is not module aware like other languages. There is also an AIP [lint](https://linter.aip.dev/215/foreign-type-reference) which is violated doing this. Instead, use the Any type which will allow separate versioning and publishing of AST protos and Cloud protos. Also cleans up a bunch of unused proto files from `package:celest_cloud`.
1 parent 8ca1aed commit a712e28

File tree

247 files changed

+10843
-49286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

247 files changed

+10843
-49286
lines changed

apps/cli/lib/src/frontend/celest_frontend.dart

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import 'dart:math';
66
import 'package:async/async.dart';
77
import 'package:celest_ast/celest_ast.dart' as ast;
88
import 'package:celest_ast/celest_ast.dart';
9-
import 'package:celest_ast/src/proto/celest/ast/v1/resolved_ast.pb.dart'
10-
as astpb;
119
import 'package:celest_cli/src/analyzer/analysis_error.dart';
1210
import 'package:celest_cli/src/analyzer/analysis_result.dart';
1311
import 'package:celest_cli/src/analyzer/celest_analyzer.dart';
@@ -900,10 +898,7 @@ final class CelestFrontend {
900898
);
901899
final operation = cloud.projects.environments.deploy(
902900
environmentName,
903-
// HACK(dnys1): celest_ast and celest_cloud don't share types.
904-
resolvedProject: pb.ResolvedProject.fromBuffer(
905-
resolvedProject.toProto().writeToBuffer(),
906-
),
901+
resolvedProject: resolvedProject.toProto(),
907902
assets: [
908903
pb.ProjectAsset(
909904
type: pb.ProjectAsset_Type.DART_KERNEL,
@@ -930,7 +925,7 @@ final class CelestFrontend {
930925
logger.fine('Deployed project: $deployment');
931926
return (
932927
ast.ResolvedProject.fromProto(
933-
astpb.ResolvedProject.fromBuffer(
928+
pb.ResolvedProject.fromBuffer(
934929
deployment.project.writeToBuffer(),
935930
),
936931
),

buf.gen.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ managed:
33
enabled: true
44
inputs:
55
- directory: proto
6-
- module: buf.build/celest-dev/ast
76
plugins:
87
# TODO: Bump when issues are fixed in generator
98
- remote: buf.build/protocolbuffers/dart:v21.1.2
109
out: packages/celest_cloud/lib/src/proto
10+
include_imports: true
11+
include_wkt: true
1112
opt:
1213
- grpc

packages/celest_cloud/lib/src/cloud/project_environments/project_environments.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ final class ProjectEnvironments with BaseService {
149149
final request = DeployProjectEnvironmentRequest(
150150
name: environment,
151151
assets: assets,
152-
resolvedProjectAst: resolvedProject,
152+
resolvedProjectAst: Any.pack(resolvedProject),
153153
requestId: requestId,
154154
etag: etag,
155155
validateOnly: validateOnly,

packages/celest_cloud/lib/src/grpc.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ export 'proto/celest/cloud/v1alpha1/projects.pbgrpc.dart';
1010
export 'proto/celest/cloud/v1alpha1/subscriptions.pbgrpc.dart';
1111

1212
/// GCP
13-
export 'proto/google/logging/v2/logging.pbgrpc.dart';
1413
export 'proto/google/longrunning/operations.pb.dart';
1514
export 'proto/google/longrunning/operations.pbgrpc.dart' show OperationsClient;
1615

packages/celest_cloud/lib/src/proto.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/// Protobuf definitions for Celest API.
22
library;
33

4+
export 'package:celest_ast/src/proto/celest/ast/v1/features.pb.dart';
5+
export 'package:celest_ast/src/proto/celest/ast/v1/resolved_ast.pb.dart';
46
export 'package:protobuf/src/protobuf/mixins/well_known.dart';
57

68
/// Celest
7-
export 'proto/celest/ast/v1/features.pb.dart';
8-
export 'proto/celest/ast/v1/resolved_ast.pb.dart';
99
export 'proto/celest/cloud/auth/v1alpha1/authentication.pb.dart';
1010
export 'proto/celest/cloud/auth/v1alpha1/users.pb.dart';
1111
export 'proto/celest/cloud/v1alpha1/common.pb.dart';

0 commit comments

Comments
 (0)