summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorBjorn Bringert <bringert@android.com>2011-10-18 16:08:27 +0100
committerBjorn Bringert <bringert@android.com>2011-10-18 16:08:27 +0100
commit20f5efd82caf038697c03daa230345cdda9ae31d (patch)
treec682d73941297ab3b7c8acd3b3e947dc6214e911 /core
parent99732e2c5937078ab3a65245db4d034669c36d02 (diff)
downloadbuild-20f5efd82caf038697c03daa230345cdda9ae31d.zip
build-20f5efd82caf038697c03daa230345cdda9ae31d.tar.gz
build-20f5efd82caf038697c03daa230345cdda9ae31d.tar.bz2
Compile each proto file separately
Before, if a module had several proto source files, they would all be compiled in a single invocation of aprotoc. If any of the files imported one of the other files, you got an aprotoc error about duplicates. And if you removed the files that were imported from the list of source files, no Java code would be generated for the imported files, causing a Java compile time error. This changes compiles each proto file separately, which avoids both of the problems above. It's slightly more inefficient, but aprotoc is really fast. Change-Id: I7bd8092ec2953c20269367a1c68ff84acceea3be
Diffstat (limited to 'core')
-rw-r--r--core/definitions.mk12
1 files changed, 7 insertions, 5 deletions
diff --git a/core/definitions.mk b/core/definitions.mk
index 1afc0f4..f385b74 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -843,11 +843,13 @@ define transform-proto-to-java
@echo "Protoc: $@ <= $(PRIVATE_PROTO_SRC_FILES)"
@rm -rf $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
@mkdir -p $(PRIVATE_PROTO_JAVA_OUTPUT_DIR)
-$(hide) $(PROTOC) \
- $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
- $(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)=$(PRIVATE_PROTO_JAVA_OUTPUT_DIR) \
- $(PRIVATE_PROTOC_FLAGS) \
- $(PRIVATE_PROTO_SRC_FILES)
+$(hide) for f in $(PRIVATE_PROTO_SRC_FILES); do \
+ $(PROTOC) \
+ $(addprefix --proto_path=, $(PRIVATE_PROTO_INCLUDES)) \
+ $(PRIVATE_PROTO_JAVA_OUTPUT_OPTION)=$(PRIVATE_PROTO_JAVA_OUTPUT_DIR) \
+ $(PRIVATE_PROTOC_FLAGS) \
+ $$f; \
+ done
$(hide) touch $@
endef