def get_toml_dependency()

in fix_android_dependencies.py [0:0]


def get_toml_dependency(line, versions):
    original_line = line
    # skip dependencies that don't specify a version
    if 'version' not in line:
        return {}
    # Turn it into a valid JSON
    line = re.sub(DEPENDENCY_RE, r'"\1" =', line)
    value = line.split("=", 1)[1].replace("=", ":")
    dep_json = json.loads(value)
    # unspecified version means it's an internal dependency
    # we can skip version bumps for those
    if 'version' in dep_json and dep_json['version'] == 'unspecified':
        return {}
    # Fill in the group and name
    if 'module' in dep_json:
        module = dep_json.pop('module')
        [group, name] = module.split(':')
        dep_json.update({'group': group, 'name': name})
    if 'id' in dep_json:
        # 'id' indicates this is a plugin
        dep_json['group'] = dep_json.pop('id')
        dep_json['name'] = dep_json['group'] + '.gradle.plugin'

    # Fill in the current version
    if 'version.ref' in dep_json:
        dep_json['original_line'] = versions[dep_json.pop('version.ref')]['original_line']
    # if the version is inlined
    if 'version' in dep_json:
        dep_json['original_line'] = original_line
    key = dep_json.pop('group') + ':' + dep_json.pop('name')
    return {key: dep_json}