-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
See if this works. Potentially, we can just go for the lowest setupto…
…ols_scm version in this range...
- Loading branch information
Caspar van Leeuwen
committed
Sep 24, 2024
1 parent
593c633
commit bf82ccc
Showing
1 changed file
with
33 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,46 @@ | ||
import setuptools | ||
import sys | ||
import pkg_resources | ||
|
||
# Get python version | ||
python_version = sys.version_info | ||
if python_version < (3, 8): | ||
scm_dict = {'write_to': 'eessi/testsuite/_version.py'} | ||
scm_require = ['packaging<=21.3', 'setuptools_scm<7'] | ||
scm_arg_key = "write_to" | ||
else: | ||
scm_dict = {'version_file': 'eessi/testsuite/_version.py', 'fallback_version': '80.0.0'} | ||
scm_require = ['setuptools>=61', 'setuptools_scm>=8'] | ||
|
||
# Get setuptools version | ||
# We control it when installing from pyproject.toml, but not when installing from setup.py / setup.cfg | ||
# Check setuptools version | ||
current_setuptools_version = pkg.resources.parse_version(pkg_resources.get_distribution("setuptools").version) | ||
|
||
# Set the version requirement for setuptools_scm, depending on the combination of Python and setuptools version | ||
if python_version >= (3, 8) and current_setuptools_version >= pgk.resources.parse_version("61.0.0"): | ||
setuptools_scm_requirement = 'setuptools_scm>8.0.0,<=8.1.0' | ||
scm_arg_key = "version_file" | ||
elif python_version >= (3, 7) and current_setuptools_version >= pkg.resources.parse_version("45.0.0"): | ||
setuptools_scm_requirement = 'setuptools_scm>7.0.0,<=7.1.0' | ||
scm_arg_key = "write_to" | ||
elif python_version >= (3, 6) and current_setuptools_version >= pkg.resources.parse_version("45.0.0"): | ||
setuptools_scm_requirement = 'setuptools_scm>=6.0.0,<=6.4.2' | ||
scm_arg_key = "write_to" | ||
elif python_version >= (3, 6) and current_setuptools_version >= pkg.resources.parse_version("42.0.0"): | ||
setuptools_scm_requirement = 'setuptools_scm>=5.0.0,<=5.0.2' | ||
scm_arg_key = "write_to" | ||
elif python_version >= (3, 6) and current_setuptools_version >= pkg.resources.parse_version("34.4.0"): | ||
setuptools_scm_requirement = 'setuptools_scm>=4.0.0,<=4.1.2' | ||
scm_arg_key = "write_to" | ||
|
||
# if python_version < (3, 8): | ||
# scm_dict = {'write_to': 'eessi/testsuite/_version.py'} | ||
# scm_require = ['packaging<=21.3', 'setuptools_scm<7'] | ||
# scm_arg_key = "write_to" | ||
# else: | ||
# scm_dict = {'version_file': 'eessi/testsuite/_version.py', 'fallback_version': '80.0.0'} | ||
# scm_require = ['setuptools>=61', 'setuptools_scm>=8'] | ||
# scm_arg_key = "version_file" | ||
|
||
sys.path.append('.') | ||
from eessi.testsuite import __version__ | ||
|
||
setuptools.setup( | ||
use_scm_version={scm_arg_key: 'eessi/testsuite/_version.py', 'fallback_version': __version__}, | ||
# use_scm_version=scm_dict, | ||
setup_requires=scm_require, | ||
setup_requires=[setuptools_scm_requirement], | ||
) |