diff options
author | 2024-04-10 10:58:21 +0100 | |
---|---|---|
committer | 2024-04-10 13:21:28 +0100 | |
commit | 1816cde8ce37037a5c5f4e9b1df437f3cc577321 (patch) | |
tree | 88b0c80c0aca6dde57058b481477db7d43755f44 /java/sdk_library.go | |
parent | 7f5073a94a0b77db34f938363b6c165685173914 (diff) |
java_sdk_library: Use WriteFileRule for writing permissions.xml
Use the `WriteFileRule` to write the permissions file for shared
libraries instead of generating a custom bash rule.
Test: TH
Change-Id: I904cf0742bfec46ed45ec7801bb9bd3dc3047185
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r-- | java/sdk_library.go | 52 |
1 files changed, 24 insertions, 28 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go index 355654fb2..e7e53a2a8 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -3238,14 +3238,14 @@ func formattedOptionalAttribute(attrName string, value *string) string { if value == nil { return "" } - return fmt.Sprintf(` %s=\"%s\"\n`, attrName, *value) + return fmt.Sprintf(" %s=\"%s\"\n", attrName, *value) } func formattedDependenciesAttribute(dependencies []string) string { if dependencies == nil { return "" } - return fmt.Sprintf(` dependency=\"%s\"\n`, strings.Join(dependencies, ":")) + return fmt.Sprintf(" dependency=\"%s\"\n", strings.Join(dependencies, ":")) } func (module *sdkLibraryXml) permissionsContents(ctx android.ModuleContext) string { @@ -3262,28 +3262,28 @@ func (module *sdkLibraryXml) permissionsContents(ctx android.ModuleContext) stri // similarly, min_device_sdk is only understood from T. So if a library is using that, we need to use the apex-library to make sure this library is not loaded before T var libraryTag string if module.properties.Min_device_sdk != nil { - libraryTag = ` <apex-library\n` + libraryTag = " <apex-library\n" } else { - libraryTag = ` <library\n` + libraryTag = " <library\n" } return strings.Join([]string{ - `<?xml version=\"1.0\" encoding=\"utf-8\"?>\n`, - `<!-- Copyright (C) 2018 The Android Open Source Project\n`, - `\n`, - ` Licensed under the Apache License, Version 2.0 (the \"License\");\n`, - ` you may not use this file except in compliance with the License.\n`, - ` You may obtain a copy of the License at\n`, - `\n`, - ` http://www.apache.org/licenses/LICENSE-2.0\n`, - `\n`, - ` Unless required by applicable law or agreed to in writing, software\n`, - ` distributed under the License is distributed on an \"AS IS\" BASIS,\n`, - ` WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n`, - ` See the License for the specific language governing permissions and\n`, - ` limitations under the License.\n`, - `-->\n`, - `<permissions>\n`, + "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n", + "<!-- Copyright (C) 2018 The Android Open Source Project\n", + "\n", + " Licensed under the Apache License, Version 2.0 (the \"License\");\n", + " you may not use this file except in compliance with the License.\n", + " You may obtain a copy of the License at\n", + "\n", + " http://www.apache.org/licenses/LICENSE-2.0\n", + "\n", + " Unless required by applicable law or agreed to in writing, software\n", + " distributed under the License is distributed on an \"AS IS\" BASIS,\n", + " WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", + " See the License for the specific language governing permissions and\n", + " limitations under the License.\n", + "-->\n", + "<permissions>\n", libraryTag, libNameAttr, filePathAttr, @@ -3292,8 +3292,9 @@ func (module *sdkLibraryXml) permissionsContents(ctx android.ModuleContext) stri minSdkAttr, maxSdkAttr, dependenciesAttr, - ` />\n`, - `</permissions>\n`}, "") + " />\n", + "</permissions>\n", + }, "") } func (module *sdkLibraryXml) GenerateAndroidBuildActions(ctx android.ModuleContext) { @@ -3305,12 +3306,7 @@ func (module *sdkLibraryXml) GenerateAndroidBuildActions(ctx android.ModuleConte xmlContent := module.permissionsContents(ctx) module.outputFilePath = android.PathForModuleOut(ctx, libName+".xml").OutputPath - rule := android.NewRuleBuilder(pctx, ctx) - rule.Command(). - Text("/bin/bash -c \"echo -e '" + xmlContent + "'\" > "). - Output(module.outputFilePath) - - rule.Build("java_sdk_xml", "Permission XML") + android.WriteFileRuleVerbatim(ctx, module.outputFilePath, xmlContent) module.installDirPath = android.PathForModuleInstall(ctx, "etc", module.SubDir()) } |