def _update_podspecs()

in eng/scripts/version.py [0:0]


def _update_podspecs(old, new, modules):
    podspecs = {}
    for path in glob.glob(r'sdk/*/*/*.podspec.json'):
        mod_name = re.search(r'/([a-zA-Z]+)\.podspec.*', path).groups()[0]
        podspecs[mod_name] = path

    for mod in modules:
        path = podspecs[mod]
        with open(path, 'r') as f:
            data = json.loads(f.read())

        name = data['name']
        data['version'] = new
        old_branch = f'{name}_{old}'
        new_branch = f'{name}_{new}'

        source = data.get('source', None)
        if source:
            if source.get('http', None):
                source['http'] = source['http'].replace(old_branch, new_branch)
            if source.get('tag', None):
                source['tag'] = new_branch

        dependencies = data.get('dependencies', None)
        for key, vals in (dependencies or {}).items():
            if key == mod:
                dependencies[key] = [val.replace(old, new) for val in vals]

        with open(path, 'w') as f:
            f.write(json.dumps(data, indent=2, ensure_ascii=False))