| 90 | |
| 91 | |
| 92 | def get_current_versions() -> dict: |
| 93 | versions: dict[str, str | None] = { |
| 94 | "python/pyproject.toml": None, |
| 95 | "pyproject.toml:[project]": None, |
| 96 | "pyproject.toml:[tool.poetry]": None, |
| 97 | "Cargo.toml:[workspace.package]": None, |
| 98 | } |
| 99 | if PY_PYPROJECT.exists(): |
| 100 | m = re.search(r"\n\[project\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", read_text(PY_PYPROJECT), re.MULTILINE) |
| 101 | if m: |
| 102 | versions["python/pyproject.toml"] = m.group(1) |
| 103 | if ROOT_PYPROJECT.exists(): |
| 104 | txt = read_text(ROOT_PYPROJECT) |
| 105 | m1 = re.search(r"\n\[project\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", txt, re.MULTILINE) |
| 106 | if m1: |
| 107 | versions["pyproject.toml:[project]"] = m1.group(1) |
| 108 | m2 = re.search(r"\n\[tool\.poetry\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", txt, re.MULTILINE) |
| 109 | if m2: |
| 110 | versions["pyproject.toml:[tool.poetry]"] = m2.group(1) |
| 111 | if ROOT_CARGO.exists(): |
| 112 | m = re.search(r"\n\[workspace\.package\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", read_text(ROOT_CARGO), re.MULTILINE) |
| 113 | if m: |
| 114 | versions["Cargo.toml:[workspace.package]"] = m.group(1) |
| 115 | return versions |
| 116 | |
| 117 | |
| 118 | def main() -> int: |