diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/setuptools_scm/config.py | 4 | ||||
-rw-r--r-- | src/setuptools_scm/integration.py | 16 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/setuptools_scm/config.py b/src/setuptools_scm/config.py index 8b8fb8e..c451b90 100644 --- a/src/setuptools_scm/config.py +++ b/src/setuptools_scm/config.py @@ -127,7 +127,7 @@ class Configuration(object): self._tag_regex = _check_tag_regex(value) @classmethod - def from_file(cls, name="pyproject.toml"): + def from_file(cls, name="pyproject.toml", dist_name=None): """ Read Configuration from pyproject.toml (or similar). Raises exceptions when file is not found or toml is @@ -137,4 +137,4 @@ class Configuration(object): with open(name) as strm: defn = __import__("toml").load(strm) section = defn.get("tool", {})["setuptools_scm"] - return cls(**section) + return cls(**section, dist_name=dist_name) diff --git a/src/setuptools_scm/integration.py b/src/setuptools_scm/integration.py index ffd4521..50eb962 100644 --- a/src/setuptools_scm/integration.py +++ b/src/setuptools_scm/integration.py @@ -16,8 +16,12 @@ def version_keyword(dist, keyword, value): assert ( "dist_name" not in value ), "dist_name may not be specified in the setup keyword " - trace("dist name", dist, dist.name) - dist_name = dist.name if dist.name != 0 else None + + trace( + "version keyword", + vars(dist.metadata), + ) + dist_name = dist.metadata.name config = Configuration(dist_name=dist_name, **value) dist.metadata.version = _get_version(config) @@ -45,9 +49,13 @@ def _args_from_toml(name="pyproject.toml"): def infer_version(dist): - + trace( + "finalize hook", + vars(dist.metadata), + ) + dist_name = dist.metadata.name try: - config = Configuration.from_file() + config = Configuration.from_file(dist_name=dist_name) except Exception: return trace_exception() dist.metadata.version = _get_version(config) |