Support output params in java proto
Allow java modules using proto to specify output params to be passed to the proto generator. Test: m checkbuild Change-Id: I8a06f07218073236f4f85996ea5f09fb3702ed1a
This commit is contained in:
parent
5dfabfba3e
commit
0f2ee15576
2 changed files with 16 additions and 2 deletions
|
@ -142,6 +142,11 @@ type CompilerProperties struct {
|
||||||
Exclude_filter []string
|
Exclude_filter []string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Proto struct {
|
||||||
|
// List of extra options that will be passed to the proto generator.
|
||||||
|
Output_params []string
|
||||||
|
}
|
||||||
|
|
||||||
Instrument bool `blueprint:"mutated"`
|
Instrument bool `blueprint:"mutated"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -620,7 +625,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path
|
||||||
}
|
}
|
||||||
srcFiles := ctx.ExpandSources(j.properties.Srcs, j.properties.Exclude_srcs)
|
srcFiles := ctx.ExpandSources(j.properties.Srcs, j.properties.Exclude_srcs)
|
||||||
if hasSrcExt(srcFiles.Strings(), ".proto") {
|
if hasSrcExt(srcFiles.Strings(), ".proto") {
|
||||||
flags = protoFlags(ctx, &j.protoProperties, flags)
|
flags = protoFlags(ctx, &j.properties, &j.protoProperties, flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
srcFiles = j.genSources(ctx, srcFiles, flags)
|
srcFiles = j.genSources(ctx, srcFiles, flags)
|
||||||
|
|
|
@ -77,7 +77,9 @@ func protoDeps(ctx android.BottomUpMutatorContext, p *android.ProtoProperties) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func protoFlags(ctx android.ModuleContext, p *android.ProtoProperties, flags javaBuilderFlags) javaBuilderFlags {
|
func protoFlags(ctx android.ModuleContext, j *CompilerProperties, p *android.ProtoProperties,
|
||||||
|
flags javaBuilderFlags) javaBuilderFlags {
|
||||||
|
|
||||||
switch proptools.String(p.Proto.Type) {
|
switch proptools.String(p.Proto.Type) {
|
||||||
case "micro":
|
case "micro":
|
||||||
flags.protoOutTypeFlag = "--javamicro_out"
|
flags.protoOutTypeFlag = "--javamicro_out"
|
||||||
|
@ -93,6 +95,13 @@ func protoFlags(ctx android.ModuleContext, p *android.ProtoProperties, flags jav
|
||||||
proptools.String(p.Proto.Type))
|
proptools.String(p.Proto.Type))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(j.Proto.Output_params) > 0 {
|
||||||
|
if flags.protoOutParams != "" {
|
||||||
|
flags.protoOutParams += ","
|
||||||
|
}
|
||||||
|
flags.protoOutParams += strings.Join(j.Proto.Output_params, ",")
|
||||||
|
}
|
||||||
|
|
||||||
flags.protoFlags = android.ProtoFlags(ctx, p)
|
flags.protoFlags = android.ProtoFlags(ctx, p)
|
||||||
|
|
||||||
return flags
|
return flags
|
||||||
|
|
Loading…
Reference in a new issue