diff options
author | 2021-12-02 15:43:47 +0000 | |
---|---|---|
committer | 2021-12-02 15:43:47 +0000 | |
commit | ee594919ea4ee86813bcf8296dd6861cb82d9f67 (patch) | |
tree | 902e4aef3482a9724643df0d14a7fd4baed6efe5 /java/classpath_fragment.go | |
parent | a9351ef6e62c4961c558b33637529a09e4348464 (diff) | |
parent | 48dae67a76b82a5da77c762e5a9c1079a15d93f9 (diff) |
Merge "Use textproto format for classpaths.proto generation."
Diffstat (limited to 'java/classpath_fragment.go')
-rw-r--r-- | java/classpath_fragment.go | 46 |
1 files changed, 12 insertions, 34 deletions
diff --git a/java/classpath_fragment.go b/java/classpath_fragment.go index 0c792d80b..e77971b13 100644 --- a/java/classpath_fragment.go +++ b/java/classpath_fragment.go @@ -158,15 +158,15 @@ func (c *ClasspathFragmentBase) generateClasspathProtoBuildActions(ctx android.M c.outputFilepath = android.PathForModuleOut(ctx, outputFilename).OutputPath c.installDirPath = android.PathForModuleInstall(ctx, "etc", "classpaths") - generatedJson := android.PathForModuleOut(ctx, outputFilename+".json") - writeClasspathsJson(ctx, generatedJson, jars) + generatedTextproto := android.PathForModuleOut(ctx, outputFilename+".textproto") + writeClasspathsTextproto(ctx, generatedTextproto, jars) rule := android.NewRuleBuilder(pctx, ctx) rule.Command(). BuiltTool("conv_classpaths_proto"). Flag("encode"). - Flag("--format=json"). - FlagWithInput("--input=", generatedJson). + Flag("--format=textproto"). + FlagWithInput("--input=", generatedTextproto). FlagWithOutput("--output=", c.outputFilepath) rule.Build("classpath_fragment", "Compiling "+c.outputFilepath.String()) @@ -181,39 +181,17 @@ func (c *ClasspathFragmentBase) generateClasspathProtoBuildActions(ctx android.M ctx.SetProvider(ClasspathFragmentProtoContentInfoProvider, classpathProtoInfo) } -func writeClasspathsJson(ctx android.ModuleContext, output android.WritablePath, jars []classpathJar) { +func writeClasspathsTextproto(ctx android.ModuleContext, output android.WritablePath, jars []classpathJar) { var content strings.Builder - fmt.Fprintf(&content, "{\n") - fmt.Fprintf(&content, "\"jars\": [\n") - for idx, jar := range jars { - fmt.Fprintf(&content, "{\n") - - fmt.Fprintf(&content, "\"path\": \"%s\",\n", jar.path) - fmt.Fprintf(&content, "\"classpath\": \"%s\"\n", jar.classpath) - - if jar.minSdkVersion != "" { - fmt.Fprintf(&content, ",\n") - fmt.Fprintf(&content, "\"minSdkVersion\": \"%s\"\n", jar.minSdkVersion) - } else { - fmt.Fprintf(&content, "\n") - } - - if jar.maxSdkVersion != "" { - fmt.Fprintf(&content, ",\n") - fmt.Fprintf(&content, "\"maxSdkVersion\": \"%s\"\n", jar.maxSdkVersion) - } else { - fmt.Fprintf(&content, "\n") - } - - if idx < len(jars)-1 { - fmt.Fprintf(&content, "},\n") - } else { - fmt.Fprintf(&content, "}\n") - } + for _, jar := range jars { + fmt.Fprintf(&content, "jars {\n") + fmt.Fprintf(&content, "path: \"%s\"\n", jar.path) + fmt.Fprintf(&content, "classpath: %s\n", jar.classpath) + fmt.Fprintf(&content, "min_sdk_version: \"%s\"\n", jar.minSdkVersion) + fmt.Fprintf(&content, "max_sdk_version: \"%s\"\n", jar.maxSdkVersion) + fmt.Fprintf(&content, "}\n") } - fmt.Fprintf(&content, "]\n") - fmt.Fprintf(&content, "}\n") android.WriteFileRule(ctx, output, content.String()) } |