You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by Douglas Service <ds...@gmail.com> on 2016/10/01 02:10:57 UTC

Sharing .proto files between C# and java

Here is a diff of the proto files replicated on both the java and C# sides
(Java on the left C# on the right). Each side has a different extra message
and there is some namespace capitalization differences. My inclination is
to use the merged super set on both sides with lower case namespaces.

In addition, protoc does not run as part of the build on the C# side as the
output is checked into the tree. Thus, as the probuf-net package evolves we
do not know if our proto files will still compile. I looked at the history
and only see one check in for the C# proto files. Do we want to start
running protoc as part of the build and automate edits if needed?

Comments or thoughts?

dougse@reefdevlx:/code/reef$ diff -w
/code/reef/lang/common/proto/client_runtime.proto
/code/reef/lang/cs/Org.Apache.REEF.Common/Protobuf/Proto/client_runtime.proto
1c1
< /*
---
> /**
19d18
<
28a28,43
> message JobSubmissionProto {
> required string identifier     = 1; // the job identifier
> required string remote_id      = 2; // the remote identifier
> required string configuration  = 5; // the runtime configuration
> required string user_name      = 6; // the user name
>
>   optional SIZE   driver_size    = 7;
>   optional int32  driver_memory  = 8;
>   optional int32  priority       = 9;
>   optional string queue          = 10;
>
> repeated FileResourceProto global_file = 11; // files that should be
placed on the driver and all subsequent evaluators
> repeated FileResourceProto local_File  = 12; // files that should be
placed on the driver only
>
> }
>


dougse@reefdevlx:/code/reef$ diff -w
/code/reef/lang/common/proto/evaluator_runtime.proto
/code/reef/lang/cs/Org.Apache.REEF.Common/Protobuf/Proto/evaluator_runtime.proto
1c1
< /*
---
> /**
19d18
<
27,30d25
< // ACK the done message from the evaluator
< message DoneEvaluatorProto {
< }
<
96,97d90
<     optional StopEvaluatorProto stop_evaluator = 5;
<     optional DoneEvaluatorProto done_evaluator = 6;



dougse@reefdevlx:/code/reef$ diff -w
/code/reef/lang/common/proto/reef_service_protos.proto
/code/reef/lang/cs/Org.Apache.REEF.Common/Protobuf/Proto/reef_service_protos.proto
1c1
< /*
---
> /**
19,20c19
<
< option java_package = "org.apache.reef.proto";
---
> option java_package = "org.apache.reef.reef.proto";
36a36,60
> enum FileType {
>     PLAIN = 0;
>     LIB = 1;
>     ARCHIVE = 2;
> }
>
> // Removed in REEF 0.3 in favor of explicit memory sizes.
> // enum SIZE {
> //    SMALL = 0;
> //    MEDIUM = 1;
> //    LARGE = 2;
> //    XLARGE = 3;
> //}
>
> enum ProcessType {
>     JVM = 0;
>     CLR = 1;It turns
> }
>
> message FileResourceProto {
>     required FileType type = 1;
>     required string name = 2;
>     required string path = 3;
> }
>


dougse@reefdevlx:/code/reef$ diff -w
/code/reef/lang/common/proto/reef_protocol.proto
/code/reef/lang/cs/Org.Apache.REEF.Common/Protobuf/Proto/reef_protocol.proto
1c1
< /*
---
> /**
19d18
<
27c26
< option java_package = "org.apache.reef.proto";
---
> option java_package = "com.Org.Apache.REEF.proto";
36,37d34
<     // Field 1 removed
<
38a36
>     optional JobSubmissionProto jobSubmission = 1;



dougse@reefdevlx:/code/reef$ diff -w
/code/reef/lang/common/proto/RemoteProtocol.proto
/code/reef/lang/cs/Org.Apache.REEF.Wake/Remote/Proto/RemoteProtocol.proto
1,18c1,17

>
26a26,27
>   optional string source = 3;
>   optional string sink = 4;
dougse@reefdevlx:/code/reef$