soong_zip: support globs in -f and -D arguments
-f and -D arguments can now take globs in the Soong format. Also update the use of soong_zip that jars resources to escape the globs in the arguments, and then shell-escape them when writing to the rsp file so the glob escape are not intepreted by ReadRespFile. Also remove an unused argument to the buildAAR rule that could have contained values that needed escaping. Test: m checkbuild Change-Id: I7f20bb169dc01f952d2a7681ec6ee9c05737ed37
This commit is contained in:
@@ -199,6 +199,11 @@ func main() {
|
||||
|
||||
flags.Parse(expandedArgs[1:])
|
||||
|
||||
if flags.NArg() > 0 {
|
||||
fmt.Fprintf(os.Stderr, "unexpected arguments %s\n", strings.Join(flags.Args(), " "))
|
||||
usage()
|
||||
}
|
||||
|
||||
err := zip.Run(zip.ZipArgs{
|
||||
FileArgs: fArgs,
|
||||
OutputFilePath: *out,
|
||||
|
15
zip/zip.go
15
zip/zip.go
@@ -224,9 +224,20 @@ func Run(args ZipArgs) (err error) {
|
||||
noCompression := args.CompressionLevel == 0
|
||||
|
||||
for _, fa := range args.FileArgs {
|
||||
srcs := fa.SourceFiles
|
||||
var srcs []string
|
||||
for _, s := range fa.SourceFiles {
|
||||
globbed, _, err := pathtools.Glob(s, nil, pathtools.DontFollowSymlinks)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
srcs = append(srcs, globbed...)
|
||||
}
|
||||
if fa.GlobDir != "" {
|
||||
srcs = append(srcs, recursiveGlobFiles(fa.GlobDir)...)
|
||||
globbed, _, err := pathtools.Glob(filepath.Join(fa.GlobDir, "**/*"), nil, pathtools.DontFollowSymlinks)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
srcs = append(srcs, globbed...)
|
||||
}
|
||||
for _, src := range srcs {
|
||||
err := fillPathPairs(fa, src, &pathMappings, args.NonDeflatedFiles, noCompression)
|
||||
|
Reference in New Issue
Block a user