summaryrefslogtreecommitdiff
path: root/java/classpath_fragment.go
diff options
context:
space:
mode:
author satayev <satayev@google.com> 2021-12-01 18:24:09 +0000
committer satayev <satayev@google.com> 2021-12-01 18:24:09 +0000
commit48dae67a76b82a5da77c762e5a9c1079a15d93f9 (patch)
treec1c9bd8d9e2437f6bc835f941fb4f8a32206446b /java/classpath_fragment.go
parentcca4ab762eab320fb9beaad61a51969e16127833 (diff)
Use textproto format for classpaths.proto generation.
Test: presubmit Change-Id: I3fea94153939f05329f02091ca4fa838ee9df93f
Diffstat (limited to 'java/classpath_fragment.go')
-rw-r--r--java/classpath_fragment.go46
1 files changed, 12 insertions, 34 deletions
diff --git a/java/classpath_fragment.go b/java/classpath_fragment.go
index 92e01a2df..7eadfe6c3 100644
--- a/java/classpath_fragment.go
+++ b/java/classpath_fragment.go
@@ -157,15 +157,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())
@@ -180,39 +180,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())
}