| 110 | |
| 111 | |
| 112 | def get_current_versions() -> dict: |
| 113 | versions: dict[str, str | None] = { |
| 114 | "python/pyproject.toml": None, |
| 115 | "pyproject.toml:[project]": None, |
| 116 | "pyproject.toml:[tool.poetry]": None, |
| 117 | "Cargo.toml:[workspace.package]": None, |
| 118 | } |
| 119 | if PY_PYPROJECT.exists(): |
| 120 | m = re.search(r"\n\[project\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", read_text(PY_PYPROJECT), re.MULTILINE) |
| 121 | if m: |
| 122 | versions["python/pyproject.toml"] = m.group(1) |
| 123 | if ROOT_PYPROJECT.exists(): |
| 124 | txt = read_text(ROOT_PYPROJECT) |
| 125 | m1 = re.search(r"\n\[project\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", txt, re.MULTILINE) |
| 126 | if m1: |
| 127 | versions["pyproject.toml:[project]"] = m1.group(1) |
| 128 | m2 = re.search(r"\n\[tool\.poetry\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", txt, re.MULTILINE) |
| 129 | if m2: |
| 130 | versions["pyproject.toml:[tool.poetry]"] = m2.group(1) |
| 131 | if ROOT_CARGO.exists(): |
| 132 | m = re.search(r"\n\[workspace\.package\][\s\S]*?\nversion\s*=\s*\"([^\"]+)\"", read_text(ROOT_CARGO), re.MULTILINE) |
| 133 | if m: |
| 134 | versions["Cargo.toml:[workspace.package]"] = m.group(1) |
| 135 | return versions |
| 136 | |
| 137 | |
| 138 | def main() -> int: |