diff options
Diffstat (limited to 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/scripts/fix-win-bazel-build.py')
-rw-r--r-- | roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/scripts/fix-win-bazel-build.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/scripts/fix-win-bazel-build.py b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/scripts/fix-win-bazel-build.py new file mode 100644 index 000000000..7a9b21198 --- /dev/null +++ b/roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/scripts/fix-win-bazel-build.py @@ -0,0 +1,36 @@ +import fnmatch +import os +import os.path +from shutil import copyfile + +print('Searching for manifests...') + +matches = [] +for root, dirnames, filenames in os.walk('bazel-bin\\org\\brotli'): + for filename in fnmatch.filter(filenames, '*.runfiles_manifest'): + matches.append(os.path.join(root, filename)) + +for match in matches: + print('Scanning manifest ' + match) + runfiles = match[:-len('_manifest')] + with open(match) as manifest: + for entry in manifest: + entry = entry.strip() + if not entry.startswith("org_brotli_java"): + continue + if entry.startswith('org_brotli_java/external'): + continue + (alias, space, link) = entry.partition(' ') + if alias.endswith('.jar') or alias.endswith('.exe'): + continue + link = link.replace('/', '\\') + alias = alias.replace('/', '\\') + dst = os.path.join(runfiles, alias) + if not os.path.exists(dst): + print(link + ' -> ' + dst) + parent = os.path.dirname(dst) + if not os.path.exists(parent): + os.makedirs(parent) + copyfile(link, dst) + +print('Finished resolving symlinks') |