diff options
| author | 2018-08-08 19:15:19 +0000 | |
|---|---|---|
| committer | 2018-08-08 19:15:19 +0000 | |
| commit | f06d3a98577e8b3888a0d09130b35fa4f08ed283 (patch) | |
| tree | 4f64733081b777b08a39be947b27589667ac54e8 | |
| parent | 9b04b2fd0b41b6bca58eb1d7116c597bb67856bd (diff) | |
| parent | 159799d7c971777231d17c0aabd60d36044ab331 (diff) | |
Merge "Work around b/70221552"
| -rw-r--r-- | Android.bp | 22 | ||||
| -rwxr-xr-x | tools/genprotos.sh | 24 |
2 files changed, 36 insertions, 10 deletions
diff --git a/Android.bp b/Android.bp index 75fd2e6d683a..2e3073f2617b 100644 --- a/Android.bp +++ b/Android.bp @@ -735,22 +735,24 @@ gensrcs { name: "framework-javastream-protos", depfile: true, + tool_files: [ "tools/genprotos.sh", ], tools: [ "aprotoc", "protoc-gen-javastream", "soong_zip", ], - cmd: "mkdir -p $(genDir)/$(in) " + - "&& $(location aprotoc) " + - " --plugin=$(location protoc-gen-javastream) " + - " --dependency_out=$(depfile) " + - " --javastream_out=$(genDir)/$(in) " + - " -Iexternal/protobuf/src " + - " -I . " + - " $(in) " + - "&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)", - + // TODO This should not be needed. If you set a custom OUT_DIR or OUT_DIR_COMMON_BASE you can + // end up with a command that is extremely long, potentially going passed MAX_ARG_STRLEN due to + // the way sbox rewrites the command. See b/70221552. + cmd: "$(location tools/genprotos.sh) " + + " $(location aprotoc) " + + " $(location protoc-gen-javastream) " + + " $(location soong_zip) " + + " $(genDir) " + + " $(depfile) " + + " $(in) " + + " $(out)", srcs: [ "core/proto/**/*.proto", "libs/incident/**/*.proto", diff --git a/tools/genprotos.sh b/tools/genprotos.sh new file mode 100755 index 000000000000..f901c9f588b6 --- /dev/null +++ b/tools/genprotos.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# TODO This should not be needed. If you set a custom OUT_DIR or OUT_DIR_COMMON_BASE you can +# end up with a command that is extremely long, potentially going passed MAX_ARG_STRLEN due to +# the way sbox rewrites the command. See b/70221552. + +set -e + +location_aprotoc=$1 +location_protoc=$2 +location_soong_zip=$3 +genDir=$4 +depfile=$5 +in=$6 +out=$7 + +mkdir -p ${genDir}/${in} && \ + ${location_aprotoc} --plugin=${location_protoc} \ + --dependency_out=${depfile} \ + --javastream_out=${genDir}/${in} \ + -Iexternal/protobuf/src \ + -I . \ + ${in} && \ + ${location_soong_zip} -jar -o ${out} -C ${genDir}/${in} -D ${genDir}/${in} |