in fix_android_dependencies.py [0:0]
def get_dep_replacements(json_file, toml_deps):
"""Gets a dictionary of all dependency replacements to be made."""
replacements = {}
with open(json_file, 'r') as f:
json_data = json.loads(f.read())
outdated_deps = json_data['outdated']['dependencies']
for dep in outdated_deps:
group = dep['group']
name = dep['name']
curr_version = dep['version']
new_version = dep['available']['release']
# For dependencies and classhpaths
curr_dep = f"{group}:{name}:{curr_version}"
new_dep = f"{group}:{name}:{new_version}"
replacements[curr_dep] = new_dep
# For the plugins block in .kts files
curr_plugin = f'\("{group}"\) version "{curr_version}"'
new_plugin = f'("{group}") version "{new_version}"'
replacements[curr_plugin] = new_plugin
# For the TOML dependencies
module = group + ':' + name
if module not in toml_deps:
continue
curr_dep = toml_deps[module]
if 'original_line' in curr_dep:
original_line = curr_dep['original_line']
new_line = original_line.replace(curr_version, new_version)
replacements[original_line] = new_line
return replacements