diff options
Diffstat (limited to 'java')
| -rw-r--r-- | java/builder.go | 5 | ||||
| -rw-r--r-- | java/gen.go | 2 | ||||
| -rw-r--r-- | java/proto.go | 25 |
3 files changed, 18 insertions, 14 deletions
diff --git a/java/builder.go b/java/builder.go index 10dfe06cf..48fba2303 100644 --- a/java/builder.go +++ b/java/builder.go @@ -200,8 +200,9 @@ type javaBuilderFlags struct { 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 7a0dcac5a..4893e889b 100644 --- a/java/gen.go +++ b/java/gen.go @@ -107,7 +107,7 @@ func (j *Module) genSources(ctx android.ModuleContext, srcFiles android.Paths, 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 17f02a3b2..428413f4c 100644 --- a/java/proto.go +++ b/java/proto.go @@ -31,17 +31,17 @@ var ( 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 @@ func genProto(ctx android.ModuleContext, outputSrcJar android.WritablePath, 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 protoDeps(ctx android.BottomUpMutatorContext, p *android.ProtoProperties) { 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)) |