| #! /usr/bin/python3 |
| |
| """ |
| Copyright 2022 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| """ |
| |
| import os |
| import subprocess |
| import tempfile |
| |
| import urllib3 |
| |
| |
| def main(): |
| print(f'Downloading xcodegen') |
| http = urllib3.PoolManager() |
| location = 'https://github.com/yonaskolb/XcodeGen/releases/download/2.32.0/xcodegen.zip' |
| destination = os.path.dirname(os.path.abspath(__file__)) |
| r = http.request('GET', location, preload_content=False) |
| with r: |
| if r.status == 200: |
| fp = tempfile.NamedTemporaryFile() |
| print(f'Downloading update from {location} to {fp.name}') |
| |
| for chunk in r.stream(1024): |
| fp.write(chunk) |
| |
| fp.flush() |
| print(f'Copying xcodegen from {fp.name}') |
| command = f'cd {destination} && unzip -o {fp.name} && cp -R xcodegen/* . && rm -rf xcodegen' |
| subprocess.check_output(command, shell=True, text=True) |
| fp.close() |
| print('Done.') |
| |
| |
| if __name__ == "__main__": |
| main() |