12345678910111213141516171819202122232425262728293031 |
- import os
- import sys
- import json
- import base64
- import subprocess
- if __name__ == '__main__':
- p = sys.argv.index('--')
- ctx = base64.b64decode(sys.argv[p + 1].encode()).decode()
- kv = {}
- for x in sys.argv[1:p]:
- k, v = x.split('=')
- ctx = ctx.replace(f'$({k})', v)
- kv[k] = v
- cmd = json.loads(ctx)
- args = cmd['cmd_args']
- cwd = cmd.get('cwd', kv['B'])
- env = dict(**os.environ)
- env['ARCADIA_ROOT_DISTBUILD'] = kv['S']
- env.update(cmd['env'])
- out = subprocess.check_output(args, env=env, cwd=cwd)
- if stdout := cmd.get('stdout'):
- with open(stdout, 'wb') as f:
- f.write(out)
|