Skip to content

Commit

Permalink
Remove dynamic grpc generation.
Browse files Browse the repository at this point in the history
Fall back to manual file generation.

Bug: 62875795
Test: checked out head, cherry picked this cl, th
Change-Id: I47b9fb65acb259ead09055783ad5e65718ec8891
  • Loading branch information
Eric Erfanian committed Aug 29, 2017
1 parent c739bb0 commit 939cdf0
Show file tree
Hide file tree
Showing 3 changed files with 306 additions and 24 deletions.
35 changes: 11 additions & 24 deletions Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
# * b/62417801 modify translation string naming convention:
# $ find . -type d | grep 262 | rename 's/(values)\-([a-zA-Z\+\-]+)\-(mcc262-mnc01)/$1-$3-$2/'
# * b/37077388 temporarily disable proguard with javac
# * b/62875795 include manually generated GRPC service class:
# $ protoc --plugin=protoc-gen-grpc-java=prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-linux-x86_64.exe \
# --grpc-java_out=lite:"packages/apps/Dialer/java/com/android/voicemail/impl/" \
# --proto_path="packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/" "packages/apps/Dialer/java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto"
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

Expand Down Expand Up @@ -49,7 +53,12 @@ EXCLUDE_FILES += \
$(BASE_DIR)/dialer/buildtype/test/BuildTypeAccessorImpl.java \
$(BASE_DIR)/dialer/constants/googledialer/ConstantsImpl.java \
$(BASE_DIR)/dialer/binary/google/GoogleStubDialerRootComponent.java \
$(BASE_DIR)/dialer/binary/google/GoogleStubDialerApplication.java
$(BASE_DIR)/dialer/binary/google/GoogleStubDialerApplication.java \

# * b/62875795
ifneq ($(wildcard packages/apps/Dialer/java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java),)
$(error Please remove file packages/apps/Dialer/java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java )
endif

EXCLUDE_RESOURCE_DIRECTORIES := \
java/com/android/incallui/maps/impl/res \
Expand All @@ -72,31 +81,9 @@ DIALER_MANIFEST_FILES := $(filter-out $(EXCLUDE_MANIFESTS),$(DIALER_MANIFEST_FIL
LOCAL_FULL_LIBS_MANIFEST_FILES := \
$(addprefix $(LOCAL_PATH)/, $(DIALER_MANIFEST_FILES))

# * b/62875795 include manually generated GRPC service class:
ifeq ($(HOST_OS),linux)
define gen-dialer-grpc
$(shell cd $(LOCAL_PATH) ; \
../../../prebuilts/tools/linux-x86_64/protoc/bin/protoc --plugin=protoc-gen-grpc-java=../../../prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-linux-x86_64.exe \
--grpc-java_out=lite:"java/com/android/voicemail/impl/" \
--proto_path="java/com/android/voicemail/impl/transcribe/grpc/" "java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto")
endef
endif
ifeq ($(HOST_OS),darwin)
define gen-dialer-grpc
$(shell cd $(LOCAL_PATH) ; \
../../../prebuilts/tools/darwin-x86_64/protoc/bin/protoc --plugin=protoc-gen-grpc-java=../../../prebuilts/tools/common/m2/repository/io/grpc/protoc-gen-grpc-java/1.0.3/protoc-gen-grpc-java-1.0.3-osx-x86_64.exe \
--grpc-java_out=lite:"java/com/android/voicemail/impl/" \
--proto_path="java/com/android/voicemail/impl/transcribe/grpc/" "java/com/android/voicemail/impl/transcribe/grpc/voicemail_transcription.proto")
endef
endif

$(call gen-dialer-grpc)

LOCAL_SRC_FILES := $(call all-java-files-under, $(SRC_DIRS))
LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_SRC_FILES))
# * b/62875795 include manually generated GRPC service class:
LOCAL_SRC_FILES += java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java
LOCAL_SRC_FILES += $(call all-proto-files-under, $(SRC_DIRS))
LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_SRC_FILES))

LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)

Expand Down
41 changes: 41 additions & 0 deletions CleanSpec.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# If you don't need to do a full clean build but would like to touch
# a file or delete some intermediate files, add a clean step to the end
# of the list. These steps will only be run once, if they haven't been
# run before.
#
# E.g.:
# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
#
# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
# files that are missing or have been moved.
#
# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
# Use $(OUT_DIR) to refer to the "out" directory.
#
# If you need to re-do something that's already mentioned, just copy
# the command and add it to the bottom of the list. E.g., if a change
# that you made last week required touching a file and a change you
# made today requires touching the same file, just copy the old
# touch step and add it to the end of the list.
#
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************

$(call add-clean-step, (cd packages/apps/Dialer; git clean -f java/com/android/voicemail/impl/com/google/internal/communications/voicemailtranscription/v1/VoicemailTranscriptionServiceGrpc.java >&2) || true)
254 changes: 254 additions & 0 deletions java/com/android/voicemail/impl/VoicemailTranscriptionServiceGrpc.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,254 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License
*/

package com.google.internal.communications.voicemailtranscription.v1;

import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;

/**
* <pre>
* RPC service for transcribing voicemails.
* </pre>
*/
@javax.annotation.Generated(
value = "by gRPC proto compiler (version 1.0.3)",
comments = "Source: voicemail_transcription.proto")
public class VoicemailTranscriptionServiceGrpc {

private VoicemailTranscriptionServiceGrpc() {}

public static final String SERVICE_NAME = "google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionService";

// Static method descriptors that strictly reflect the proto.
@io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
public static final io.grpc.MethodDescriptor<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest,
com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> METHOD_TRANSCRIBE_VOICEMAIL =
io.grpc.MethodDescriptor.create(
io.grpc.MethodDescriptor.MethodType.UNARY,
generateFullMethodName(
"google.internal.communications.voicemailtranscription.v1.VoicemailTranscriptionService", "TranscribeVoicemail"),
io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest.getDefaultInstance()),
io.grpc.protobuf.lite.ProtoLiteUtils.marshaller(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse.getDefaultInstance()));

/**
* Creates a new async stub that supports all call types for the service
*/
public static VoicemailTranscriptionServiceStub newStub(io.grpc.Channel channel) {
return new VoicemailTranscriptionServiceStub(channel);
}

/**
* Creates a new blocking-style stub that supports unary and streaming output calls on the service
*/
public static VoicemailTranscriptionServiceBlockingStub newBlockingStub(
io.grpc.Channel channel) {
return new VoicemailTranscriptionServiceBlockingStub(channel);
}

/**
* Creates a new ListenableFuture-style stub that supports unary and streaming output calls on the service
*/
public static VoicemailTranscriptionServiceFutureStub newFutureStub(
io.grpc.Channel channel) {
return new VoicemailTranscriptionServiceFutureStub(channel);
}

/**
* <pre>
* RPC service for transcribing voicemails.
* </pre>
*/
public static abstract class VoicemailTranscriptionServiceImplBase implements io.grpc.BindableService {

/**
* <pre>
* Returns a transcript of the given voicemail.
* </pre>
*/
public void transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request,
io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> responseObserver) {
asyncUnimplementedUnaryCall(METHOD_TRANSCRIBE_VOICEMAIL, responseObserver);
}

@java.lang.Override public io.grpc.ServerServiceDefinition bindService() {
return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
.addMethod(
METHOD_TRANSCRIBE_VOICEMAIL,
asyncUnaryCall(
new MethodHandlers<
com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest,
com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse>(
this, METHODID_TRANSCRIBE_VOICEMAIL)))
.build();
}
}

/**
* <pre>
* RPC service for transcribing voicemails.
* </pre>
*/
public static final class VoicemailTranscriptionServiceStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceStub> {
private VoicemailTranscriptionServiceStub(io.grpc.Channel channel) {
super(channel);
}

private VoicemailTranscriptionServiceStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}

@java.lang.Override
protected VoicemailTranscriptionServiceStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new VoicemailTranscriptionServiceStub(channel, callOptions);
}

/**
* <pre>
* Returns a transcript of the given voicemail.
* </pre>
*/
public void transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request,
io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> responseObserver) {
asyncUnaryCall(
getChannel().newCall(METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions()), request, responseObserver);
}
}

/**
* <pre>
* RPC service for transcribing voicemails.
* </pre>
*/
public static final class VoicemailTranscriptionServiceBlockingStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceBlockingStub> {
private VoicemailTranscriptionServiceBlockingStub(io.grpc.Channel channel) {
super(channel);
}

private VoicemailTranscriptionServiceBlockingStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}

@java.lang.Override
protected VoicemailTranscriptionServiceBlockingStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new VoicemailTranscriptionServiceBlockingStub(channel, callOptions);
}

/**
* <pre>
* Returns a transcript of the given voicemail.
* </pre>
*/
public com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse transcribeVoicemail(com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request) {
return blockingUnaryCall(
getChannel(), METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions(), request);
}
}

/**
* <pre>
* RPC service for transcribing voicemails.
* </pre>
*/
public static final class VoicemailTranscriptionServiceFutureStub extends io.grpc.stub.AbstractStub<VoicemailTranscriptionServiceFutureStub> {
private VoicemailTranscriptionServiceFutureStub(io.grpc.Channel channel) {
super(channel);
}

private VoicemailTranscriptionServiceFutureStub(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
super(channel, callOptions);
}

@java.lang.Override
protected VoicemailTranscriptionServiceFutureStub build(io.grpc.Channel channel,
io.grpc.CallOptions callOptions) {
return new VoicemailTranscriptionServiceFutureStub(channel, callOptions);
}

/**
* <pre>
* Returns a transcript of the given voicemail.
* </pre>
*/
public com.google.common.util.concurrent.ListenableFuture<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse> transcribeVoicemail(
com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest request) {
return futureUnaryCall(
getChannel().newCall(METHOD_TRANSCRIBE_VOICEMAIL, getCallOptions()), request);
}
}

private static final int METHODID_TRANSCRIBE_VOICEMAIL = 0;

private static class MethodHandlers<Req, Resp> implements
io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
private final VoicemailTranscriptionServiceImplBase serviceImpl;
private final int methodId;

public MethodHandlers(VoicemailTranscriptionServiceImplBase serviceImpl, int methodId) {
this.serviceImpl = serviceImpl;
this.methodId = methodId;
}

@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
case METHODID_TRANSCRIBE_VOICEMAIL:
serviceImpl.transcribeVoicemail((com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailRequest) request,
(io.grpc.stub.StreamObserver<com.google.internal.communications.voicemailtranscription.v1.TranscribeVoicemailResponse>) responseObserver);
break;
default:
throw new AssertionError();
}
}

@java.lang.Override
@java.lang.SuppressWarnings("unchecked")
public io.grpc.stub.StreamObserver<Req> invoke(
io.grpc.stub.StreamObserver<Resp> responseObserver) {
switch (methodId) {
default:
throw new AssertionError();
}
}
}

public static io.grpc.ServiceDescriptor getServiceDescriptor() {
return new io.grpc.ServiceDescriptor(SERVICE_NAME,
METHOD_TRANSCRIBE_VOICEMAIL);
}

}

0 comments on commit 939cdf0

Please sign in to comment.