When compiling with the lite protobuf option, pass the option to aprotoc to force the lite runtime.
Test: make
Merged-In: I450f89d144d496a6ddfccc6a6a5a679a05809595
Change-Id: I450f89d144d496a6ddfccc6a6a5a679a05809595
diff --git a/java/builder.go b/java/builder.go
index 10dfe06..48fba23 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -200,8 +200,9 @@
kotlincFlags string
kotlincClasspath classpath
- protoFlags []string
- protoOutFlag string
+ protoFlags []string
+ protoOutTypeFlag string // The flag itself: --java_out
+ protoOutParams string // Parameters to that flag: --java_out=$protoOutParams:$outDir
}
func TransformKotlinToClasses(ctx android.ModuleContext, outputFile android.WritablePath,
diff --git a/java/gen.go b/java/gen.go
index 7a0dcac..4893e88 100644
--- a/java/gen.go
+++ b/java/gen.go
@@ -107,7 +107,7 @@
if len(protoFiles) > 0 {
protoSrcJar := android.PathForModuleGen(ctx, "proto.srcjar")
genProto(ctx, protoSrcJar, protoFiles,
- flags.protoFlags, flags.protoOutFlag, "")
+ flags.protoFlags, flags.protoOutTypeFlag, flags.protoOutParams)
outSrcFiles = append(outSrcFiles, protoSrcJar)
}
diff --git a/java/proto.go b/java/proto.go
index 17f02a3..428413f 100644
--- a/java/proto.go
+++ b/java/proto.go
@@ -31,17 +31,17 @@
proto = pctx.AndroidStaticRule("protoc",
blueprint.RuleParams{
Command: `rm -rf $outDir && mkdir -p $outDir && ` +
- `$protocCmd $protoOut=$protoOutFlags:$outDir $protoFlags $in && ` +
+ `$protocCmd $protoOut=$protoOutParams:$outDir $protoFlags $in && ` +
`${config.SoongZipCmd} -jar -o $out -C $outDir -D $outDir`,
CommandDeps: []string{
"$protocCmd",
"${config.SoongZipCmd}",
},
- }, "protoFlags", "protoOut", "protoOutFlags", "outDir")
+ }, "protoFlags", "protoOut", "protoOutParams", "outDir")
)
func genProto(ctx android.ModuleContext, outputSrcJar android.WritablePath,
- protoFiles android.Paths, protoFlags []string, protoOut, protoOutFlags string) {
+ protoFiles android.Paths, protoFlags []string, protoOut, protoOutParams string) {
ctx.Build(pctx, android.BuildParams{
Rule: proto,
@@ -49,10 +49,10 @@
Output: outputSrcJar,
Inputs: protoFiles,
Args: map[string]string{
- "outDir": android.ProtoDir(ctx).String(),
- "protoOut": protoOut,
- "protoOutFlags": protoOutFlags,
- "protoFlags": strings.Join(protoFlags, " "),
+ "outDir": android.ProtoDir(ctx).String(),
+ "protoOut": protoOut,
+ "protoOutParams": protoOutParams,
+ "protoFlags": strings.Join(protoFlags, " "),
},
})
}
@@ -80,11 +80,14 @@
func protoFlags(ctx android.ModuleContext, p *android.ProtoProperties, flags javaBuilderFlags) javaBuilderFlags {
switch proptools.String(p.Proto.Type) {
case "micro":
- flags.protoOutFlag = "--javamicro_out"
+ flags.protoOutTypeFlag = "--javamicro_out"
case "nano":
- flags.protoOutFlag = "--javanano_out"
- case "lite", "full", "":
- flags.protoOutFlag = "--java_out"
+ flags.protoOutTypeFlag = "--javanano_out"
+ case "lite":
+ flags.protoOutTypeFlag = "--java_out"
+ flags.protoOutParams = "lite"
+ case "full", "":
+ flags.protoOutTypeFlag = "--java_out"
default:
ctx.PropertyErrorf("proto.type", "unknown proto type %q",
proptools.String(p.Proto.Type))