diff --git a/.gitignore b/.gitignore
index 0129736664..0314f663d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,3 +47,5 @@ hs_err_pid*
/docs/dapr-sdk-actors
/docs/dapr-sdk-autogen
/docs/dapr-sdk
+/proto/dapr
+/proto/daprclient
diff --git a/README.md b/README.md
index 8d3b08f281..2c23abf4cd 100644
--- a/README.md
+++ b/README.md
@@ -232,3 +232,20 @@ When releasing a new version of this SDK you must increase the version of all mo
mvn versions:set -DnewVersion="0.1.0-preview02"
mvn versions:commit
```
+
+#### Update proto files
+
+Change the properties below in [pom.xml](./pom.xml) to point to the desired reference URL in Git. Avoid pointing to master branch since it can change over time and create unpredictable behavior in the build.
+
+```xml
+
+ ...
+
+ ...
+ https://raw.githubusercontent.com/dapr/dapr/v0.4.0/pkg/proto/dapr/dapr.proto
+ https://raw.githubusercontent.com/dapr/dapr/v0.4.0/pkg/proto/daprclient/daprclient.proto
+ ...
+
+ ...
+
+```
diff --git a/pom.xml b/pom.xml
index 62cbda9a55..6c463d7a85 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,8 @@
1.25.0
3.11.0
3.10.0
+ https://raw.githubusercontent.com/dapr/dapr/v0.4.0/pkg/proto/dapr/dapr.proto
+ https://raw.githubusercontent.com/dapr/dapr/v0.4.0/pkg/proto/daprclient/daprclient.proto
1.6.2
3.1.1
1.8
diff --git a/proto/dapr/dapr.proto b/proto/dapr/dapr.proto
deleted file mode 100644
index ac451710a9..0000000000
--- a/proto/dapr/dapr.proto
+++ /dev/null
@@ -1,109 +0,0 @@
-syntax = "proto3";
-
-package dapr;
-
-import "google/protobuf/any.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/duration.proto";
-
-option java_outer_classname = "DaprProtos";
-option java_package = "io.dapr";
-
-option csharp_namespace = "Dapr.Client.Grpc";
-
-
-// Dapr definitions
-service Dapr {
- rpc PublishEvent(PublishEventEnvelope) returns (google.protobuf.Empty) {}
- rpc InvokeService(InvokeServiceEnvelope) returns (InvokeServiceResponseEnvelope) {}
- rpc InvokeBinding(InvokeBindingEnvelope) returns (google.protobuf.Empty) {}
- rpc GetState(GetStateEnvelope) returns (GetStateResponseEnvelope) {}
- rpc SaveState(SaveStateEnvelope) returns (google.protobuf.Empty) {}
- rpc DeleteState(DeleteStateEnvelope) returns (google.protobuf.Empty) {}
-}
-
-message InvokeServiceResponseEnvelope {
- google.protobuf.Any data = 1;
- map metadata = 2;
-}
-
-message DeleteStateEnvelope {
- string storeName = 1;
- string key = 2;
- string etag = 3;
- StateOptions options = 4;
-}
-
-message SaveStateEnvelope {
- string storeName = 1;
- repeated StateRequest requests = 2;
-}
-
-message GetStateEnvelope {
- string storeName = 1;
- string key = 2;
- string consistency = 3;
-}
-
-message GetStateResponseEnvelope {
- google.protobuf.Any data = 1;
- string etag = 2;
-}
-
-message InvokeBindingEnvelope {
- string name = 1;
- google.protobuf.Any data = 2;
- map metadata = 3;
-}
-
-message InvokeServiceEnvelope {
- string id = 1;
- string method = 2;
- google.protobuf.Any data = 3;
- map metadata = 4;
-}
-
-message PublishEventEnvelope {
- string topic = 1;
- google.protobuf.Any data = 2;
-}
-
-message State {
- string key = 1;
- google.protobuf.Any value = 2;
- string etag = 3;
- map metadata = 4;
- StateOptions options = 5;
-}
-
-message StateOptions {
- string concurrency = 1;
- string consistency = 2;
- RetryPolicy retryPolicy = 3;
-}
-
-message RetryPolicy {
- int32 threshold = 1;
- string pattern = 2;
- google.protobuf.Duration interval = 3;
-}
-
-message StateRequest {
- string key = 1;
- google.protobuf.Any value = 2;
- string etag = 3;
- map metadata = 4;
- StateRequestOptions options = 5;
-}
-
-message StateRequestOptions {
- string concurrency = 1;
- string consistency = 2;
- StateRetryPolicy retryPolicy = 3;
-}
-
-message StateRetryPolicy {
- int32 threshold = 1;
- string pattern = 2;
- google.protobuf.Duration interval = 3;
-}
diff --git a/proto/daprclient/daprclient.proto b/proto/daprclient/daprclient.proto
deleted file mode 100644
index a383ba16c5..0000000000
--- a/proto/daprclient/daprclient.proto
+++ /dev/null
@@ -1,76 +0,0 @@
-syntax = "proto3";
-
-package daprclient;
-
-import "google/protobuf/any.proto";
-import "google/protobuf/empty.proto";
-import "google/protobuf/duration.proto";
-
-option java_outer_classname = "DaprClientProtos";
-option java_package = "io.dapr";
-
-// User Code definitions
-service DaprClient {
- rpc OnInvoke (InvokeEnvelope) returns (google.protobuf.Any) {}
- rpc GetTopicSubscriptions(google.protobuf.Empty) returns (GetTopicSubscriptionsEnvelope) {}
- rpc GetBindingsSubscriptions(google.protobuf.Empty) returns (GetBindingsSubscriptionsEnvelope) {}
- rpc OnBindingEvent(BindingEventEnvelope) returns (BindingResponseEnvelope) {}
- rpc OnTopicEvent(CloudEventEnvelope) returns (google.protobuf.Empty) {}
-}
-
-message CloudEventEnvelope {
- string id = 1;
- string source = 2;
- string type = 3;
- string specVersion = 4;
- string dataContentType = 5;
- string topic = 6;
- google.protobuf.Any data = 7;
-}
-
-message BindingEventEnvelope {
- string name = 1;
- google.protobuf.Any data = 2;
- map metadata = 3;
-}
-
-message BindingResponseEnvelope {
- google.protobuf.Any data = 1;
- repeated string to = 2;
- repeated State state = 3;
- string concurrency = 4;
-}
-
-message InvokeEnvelope {
- string method = 1;
- google.protobuf.Any data = 2;
- map metadata = 3;
-}
-
-message GetTopicSubscriptionsEnvelope {
- repeated string topics = 1;
-}
-
-message GetBindingsSubscriptionsEnvelope {
- repeated string bindings = 1;
-}
-
-message State {
- string key = 1;
- google.protobuf.Any value = 2;
- string etag = 3;
- map metadata = 4;
- StateOptions options = 5;
-}
-
-message StateOptions {
- string concurrency = 1;
- string consistency = 2;
- RetryPolicy retryPolicy = 3;
-}
-
-message RetryPolicy {
- int32 threshold = 1;
- string pattern = 2;
- google.protobuf.Duration interval = 3;
-}
diff --git a/sdk-autogen/pom.xml b/sdk-autogen/pom.xml
index 258fad8b00..47a11ccb70 100644
--- a/sdk-autogen/pom.xml
+++ b/sdk-autogen/pom.xml
@@ -18,7 +18,7 @@
${project.build.directory}/generated-sources
- ${project.parent.basedir}/proto
+ ${project.build.directory}/proto
false
@@ -56,6 +56,41 @@
+
+ com.googlecode.maven-download-plugin
+ download-maven-plugin
+ 1.3.0
+
+
+ getDaprProto
+
+ initialize
+
+ wget
+
+
+ ${dapr.proto.url}
+ dapr.proto
+
+ ${protobuf.input.directory}/dapr
+
+
+
+ getDaprClientProto
+
+ initialize
+
+ wget
+
+
+ ${dapr.client.proto.url}
+ daprclient.proto
+
+ ${protobuf.input.directory}/daprclient
+
+
+
+
com.github.os72
protoc-jar-maven-plugin