@@ -31,7 +31,7 @@ def version_from_scm(root):
31
31
config = Configuration ()
32
32
config .root = root
33
33
# TODO: Is it API?
34
- return _version_from_entrypoint (config , "setuptools_scm.parse_scm" )
34
+ return _version_from_entrypoints (config )
35
35
36
36
37
37
def _call_entrypoint_fn (root , config , fn ):
@@ -47,11 +47,12 @@ def _call_entrypoint_fn(root, config, fn):
47
47
return fn (root )
48
48
49
49
50
- def _version_from_entrypoint (config , entrypoint , fallback = False ):
50
+ def _version_from_entrypoints (config , fallback = False ):
51
51
if fallback :
52
- entrypoint + = "_fallback "
52
+ entrypoint = "setuptools_scm.parse_scm_fallback "
53
53
root = config .fallback_root
54
54
else :
55
+ entrypoint = "setuptools_scm.parse_scm"
55
56
root = config .absolute_root
56
57
for ep in iter_matching_entrypoints (root , entrypoint ):
57
58
version = _call_entrypoint_fn (root , config , ep .load ())
@@ -91,16 +92,10 @@ def _do_parse(config):
91
92
raise TypeError (
92
93
"version parse result was a string\n please return a parsed version"
93
94
)
94
- version = parse_result or _version_from_entrypoint (
95
- config , "setuptools_scm.parse_scm" , fallback = True
96
- )
95
+ version = parse_result or _version_from_entrypoints (config , fallback = True )
97
96
else :
98
97
# include fallbacks after dropping them from the main entrypoint
99
- version = _version_from_entrypoint (
100
- config , "setuptools_scm.parse_scm"
101
- ) or _version_from_entrypoint (
102
- config , "setuptools_scm.parse_scm" , fallback = True
103
- )
98
+ version = _version_from_entrypoints (config ) or _version_from_entrypoints (config , fallback = True )
104
99
105
100
if version :
106
101
return version
@@ -126,6 +121,7 @@ def get_version(
126
121
relative_to = None ,
127
122
tag_regex = None ,
128
123
fallback_version = None ,
124
+ fallback_root = "." ,
129
125
parse = None ,
130
126
git_describe_command = None ,
131
127
):
@@ -138,6 +134,7 @@ def get_version(
138
134
139
135
config = Configuration ()
140
136
config .root = root
137
+ config .fallback_root = fallback_root
141
138
config .version_scheme = version_scheme
142
139
config .local_scheme = local_scheme
143
140
config .write_to = write_to
0 commit comments