Skip to content

Commit

Permalink
See if this works. Potentially, we can just go for the lowest setupto…
Browse files Browse the repository at this point in the history
…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.
41 changes: 33 additions & 8 deletions setup.py
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],
)

0 comments on commit bf82ccc

Please sign in to comment.