Remove absl from wasm_binary (#756)
* Remove absl from wasm_binary
* Formatting fixes
* Blank line, too
* Reorder imports
diff --git a/bazel/emscripten_toolchain/wasm_binary.py b/bazel/emscripten_toolchain/wasm_binary.py
index 466e789..97df45b 100644
--- a/bazel/emscripten_toolchain/wasm_binary.py
+++ b/bazel/emscripten_toolchain/wasm_binary.py
@@ -18,17 +18,11 @@
WebAssembly binary into a larger web application.
"""
+import argparse
import os
import subprocess
import sys
-from absl import app
-from absl import flags
-
-FLAGS = flags.FLAGS
-flags.DEFINE_string('archive', None, 'The the archive to extract from.')
-flags.DEFINE_string('output_path', None, 'The path to extract into.')
-
def ensure(f):
if not os.path.exists(f):
@@ -41,44 +35,49 @@
raise Exception('Expected file in archive: %s' % f)
-def main(argv):
- basename = os.path.basename(FLAGS.archive)
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--archive', help='The archive to extract from.')
+ parser.add_argument('--output_path', help='The path to extract into.')
+ args = parser.parse_args()
+
+ basename = os.path.basename(args.archive)
stem = basename.split('.')[0]
# Check the type of the input file
- mimetype_bytes = subprocess.check_output(['file', '-Lb', '--mime-type', '--mime-encoding', FLAGS.archive])
+ mimetype_bytes = subprocess.check_output(['file', '-Lb', '--mime-type', '--mime-encoding', args.archive])
mimetype = mimetype_bytes.decode(sys.stdout.encoding)
# If we have a tar, extract all files. If we have just a single file, copy it.
if 'tar' in mimetype:
subprocess.check_call(
- ['tar', 'xf', FLAGS.archive, '-C', FLAGS.output_path])
+ ['tar', 'xf', args.archive, '-C', args.output_path])
elif 'binary' in mimetype:
subprocess.check_call([
'cp',
- FLAGS.archive,
- os.path.join(FLAGS.output_path, stem + '.wasm')])
+ args.archive,
+ os.path.join(args.output_path, stem + '.wasm')])
elif 'text' in mimetype:
subprocess.check_call([
'cp',
- FLAGS.archive,
- os.path.join(FLAGS.output_path, stem + '.js')])
+ args.archive,
+ os.path.join(args.output_path, stem + '.js')])
else:
- subprocess.check_call(['cp', FLAGS.archive, FLAGS.output_path])
+ subprocess.check_call(['cp', args.archive, args.output_path])
# At least one of these two files should exist at this point.
- ensure(os.path.join(FLAGS.output_path, stem + '.js'))
- ensure(os.path.join(FLAGS.output_path, stem + '.wasm'))
+ ensure(os.path.join(args.output_path, stem + '.js'))
+ ensure(os.path.join(args.output_path, stem + '.wasm'))
# And can optionally contain these extra files.
- ensure(os.path.join(FLAGS.output_path, stem + '.wasm.map'))
- ensure(os.path.join(FLAGS.output_path, stem + '.worker.js'))
- ensure(os.path.join(FLAGS.output_path, stem + '.js.mem'))
- ensure(os.path.join(FLAGS.output_path, stem + '.data'))
- ensure(os.path.join(FLAGS.output_path, stem + '.fetch.js'))
- ensure(os.path.join(FLAGS.output_path, stem + '.js.symbols'))
- ensure(os.path.join(FLAGS.output_path, stem + '.wasm.debug.wasm'))
+ ensure(os.path.join(args.output_path, stem + '.wasm.map'))
+ ensure(os.path.join(args.output_path, stem + '.worker.js'))
+ ensure(os.path.join(args.output_path, stem + '.js.mem'))
+ ensure(os.path.join(args.output_path, stem + '.data'))
+ ensure(os.path.join(args.output_path, stem + '.fetch.js'))
+ ensure(os.path.join(args.output_path, stem + '.js.symbols'))
+ ensure(os.path.join(args.output_path, stem + '.wasm.debug.wasm'))
if __name__ == '__main__':
- app.run(main)
+ main()