diff --git a/bench/utils/app.py b/bench/utils/app.py index 75891d5bf..76cb57717 100644 --- a/bench/utils/app.py +++ b/bench/utils/app.py @@ -4,6 +4,7 @@ import re import sys import subprocess +import importlib.metadata from typing import List from functools import lru_cache @@ -270,12 +271,22 @@ def check_existing_dir(bench_path, repo_name): def get_current_version(app, bench_path="."): current_version = None repo_dir = get_repo_dir(app, bench_path=bench_path) + pyproject_path = os.path.join(repo_dir, "pyproject.toml") config_path = os.path.join(repo_dir, "setup.cfg") init_path = os.path.join(repo_dir, os.path.basename(repo_dir), "__init__.py") setup_path = os.path.join(repo_dir, "setup.py") try: - if os.path.exists(config_path): + if os.path.exists(pyproject_path): + try: + from tomli import load + except ImportError: + from tomllib import load + + with open(pyproject_path, "rb") as f: + current_version = load(f).get("project", {}).get("version") + + if not current_version and os.path.exists(config_path): from setuptools.config import read_configuration config = read_configuration(config_path)