diff options
author | William Deegan <bill@baddogconsulting.com> | 2024-05-04 21:02:38 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-04 21:02:38 (GMT) |
commit | 5f07b5df4480e015f48f3a7dfc2056dd2e3f39cf (patch) | |
tree | af4e612866c8783177945b0270df86cda71ffefc /SCons/Script/SConscript.py | |
parent | a97bcd1a572bc4cb2e5cad97ed6bc15c97f5f20b (diff) | |
parent | f5f7984af7babd11b3d9188717231ee3107e7a35 (diff) | |
download | SCons-5f07b5df4480e015f48f3a7dfc2056dd2e3f39cf.zip SCons-5f07b5df4480e015f48f3a7dfc2056dd2e3f39cf.tar.gz SCons-5f07b5df4480e015f48f3a7dfc2056dd2e3f39cf.tar.bz2 |
Merge pull request #4514 from Repiteo/GetSConsVersion
Implement `GetSConsVersion` static method
Diffstat (limited to 'SCons/Script/SConscript.py')
-rw-r--r-- | SCons/Script/SConscript.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/SCons/Script/SConscript.py b/SCons/Script/SConscript.py index 85070ab..a2ef3b9 100644 --- a/SCons/Script/SConscript.py +++ b/SCons/Script/SConscript.py @@ -45,6 +45,7 @@ import re import sys import traceback import time +from typing import Tuple class SConscriptReturn(Exception): pass @@ -385,7 +386,7 @@ class SConsEnvironment(SCons.Environment.Base): # Private methods of an SConsEnvironment. # @staticmethod - def _get_major_minor_revision(version_string): + def _get_major_minor_revision(version_string: str) -> Tuple[int, int, int]: """Split a version string into major, minor and (optionally) revision parts. @@ -484,15 +485,22 @@ class SConsEnvironment(SCons.Environment.Base): SCons.Script._Set_Default_Targets(self, targets) @staticmethod - def EnsureSConsVersion(major, minor, revision: int=0) -> None: + def GetSConsVersion() -> Tuple[int, int, int]: + """Return the current SCons version. + + .. versionadded:: 4.8.0 + """ + return SConsEnvironment._get_major_minor_revision(SCons.__version__) + + @staticmethod + def EnsureSConsVersion(major: int, minor: int, revision: int = 0) -> None: """Exit abnormally if the SCons version is not late enough.""" # split string to avoid replacement during build process if SCons.__version__ == '__' + 'VERSION__': SCons.Warnings.warn(SCons.Warnings.DevelopmentVersionWarning, "EnsureSConsVersion is ignored for development version") return - scons_ver = SConsEnvironment._get_major_minor_revision(SCons.__version__) - if scons_ver < (major, minor, revision): + if SConsEnvironment.GetSConsVersion() < (major, minor, revision): if revision: scons_ver_string = '%d.%d.%d' % (major, minor, revision) else: |