forked from openkylin/platform_build
Switch protoc javastream plugin to using explicit path
The previous PATH=$PATH:out/... logic was incorrect, since the version in $PATH would override the one out. And now that we're limiting what's accessible via $PATH, that caused an error. Instead, ensure that all protoc plugins are specified explicitly with --plugin, then remove the PATH modification. Test: cd frameworks/base/cmds/am; mma (with protoc-gen-javastream in $PATH) Change-Id: I6690727504f67f84fdc95ed93eabdf3351e5cb0b
This commit is contained in:
parent
3e9e6af0ff
commit
5771e8cbf1
|
@ -1178,7 +1178,6 @@ endef
|
|||
###########################################################
|
||||
## Commands for running protoc to compile .proto into .java
|
||||
###########################################################
|
||||
# PATH contains HOST_OUT_EXECUTABLES to allow protoc-gen-* plugins
|
||||
|
||||
define transform-proto-to-java
|
||||
@mkdir -p $(dir $@)
|
||||
|
@ -1186,7 +1185,6 @@ define transform-proto-to-java
|
|||
@rm -rf $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
|
||||
@mkdir -p $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
|
||||
$(hide) for f in $(PRIVATE_PROTO_SRC_FILES); do \
|
||||
PATH=$$PATH:$(HOST_OUT_EXECUTABLES) \
|
||||
$(PROTOC) \
|
||||
$(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
|
||||
$(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)="$(PRIVATE_PROTO_JAVA_OUTPUT_PARAMS):$(PRIVATE_PROTO_JAVA_OUTPUT_DIR)" \
|
||||
|
@ -1199,13 +1197,11 @@ endef
|
|||
######################################################################
|
||||
## Commands for running protoc to compile .proto into .pb.cc (or.pb.c) and .pb.h
|
||||
######################################################################
|
||||
# PATH contains HOST_OUT_EXECUTABLES to allow protoc-gen-* plugins
|
||||
|
||||
define transform-proto-to-cc
|
||||
@echo "Protoc: $@ <= $<"
|
||||
@mkdir -p $(dir $@)
|
||||
$(hide) \
|
||||
PATH=$$PATH:$(HOST_OUT_EXECUTABLES) \
|
||||
$(PROTOC) \
|
||||
$(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
|
||||
$(PRIVATE_PROTOC_FLAGS) \
|
||||
|
|
|
@ -80,6 +80,7 @@ proto_java_sources_dir := $(proto_java_intemediate_dir)/src
|
|||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_INCLUDES := $(TOP)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_SRC_FILES := $(proto_sources_fullpath)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_DIR := $(proto_java_sources_dir)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS)
|
||||
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),micro)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_OPTION := --javamicro_out
|
||||
else
|
||||
|
@ -88,13 +89,13 @@ $(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_OPTION := --javanano
|
|||
else
|
||||
ifeq ($(LOCAL_PROTOC_OPTIMIZE_TYPE),stream)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_OPTION := --javastream_out
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTOC_FLAGS += --plugin=$(HOST_OUT_EXECUTABLES)/protoc-gen-javastream
|
||||
$(proto_java_sources_file_stamp): $(HOST_OUT_EXECUTABLES)/protoc-gen-javastream
|
||||
else
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_OPTION := --java_out
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTOC_FLAGS := $(LOCAL_PROTOC_FLAGS)
|
||||
$(proto_java_sources_file_stamp): PRIVATE_PROTO_JAVA_OUTPUT_PARAMS := $(if $(filter lite,$(LOCAL_PROTOC_OPTIMIZE_TYPE)),lite$(if $(LOCAL_PROTO_JAVA_OUTPUT_PARAMS),:,),)$(LOCAL_PROTO_JAVA_OUTPUT_PARAMS)
|
||||
$(proto_java_sources_file_stamp) : $(proto_sources_fullpath) $(PROTOC)
|
||||
$(call transform-proto-to-java)
|
||||
|
|
Loading…
Reference in New Issue