summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/setuptools_scm/config.py4
-rw-r--r--src/setuptools_scm/integration.py16
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)