def main()

in tools/versions.py [0:0]


def main(write_defaults, **kwargs):
  root_path = Path(__file__).parents[1]
  overrides = {k: v for k, v in kwargs.items() if v is not None}
  for engine in ["tf", "tofu"]:
    defaults_fname = root_path / f"default-versions.{engine}"
    defaults = extract_variables(VERSIONS_TEMPLATE, defaults_fname.read_text())
    context = defaults | overrides
    if kwargs[f'{engine}_version'] is not None:
      context['engine_version'] = kwargs[f'{engine}_version']

    for file_path in root_path.rglob(f"versions.{engine}"):
      click.echo(f"Processing {file_path}")
      process_file(file_path, context | {
          "path": file_path.parent.relative_to(root_path),
      })

    if write_defaults:
      click.echo(f"Processing {defaults_fname}")
      process_file(defaults_fname, context)