From 888c200c0737e214a8a0e9aff6a04053a2e387b9 Mon Sep 17 00:00:00 2001 From: IronJulo Date: Tue, 14 Nov 2023 22:43:34 +0100 Subject: [PATCH 1/8] feat: Improve protobuf version handling --- setup.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 3be39e4..2dca5b4 100644 --- a/setup.py +++ b/setup.py @@ -100,10 +100,19 @@ def check_protoc_version(): installed_version = version_re_compiled.search(output.stdout.decode("utf-8")) required_version = read_required_version() - if installed_version.group('minor') != required_version.group('minor'): + installed_version_major = installed_version.group('major') + installed_version_minor = installed_version.group('minor') + installed_version_patch = installed_version.group('patch') + + # If the installed protobuf version does not include a major number + if installed_version_patch is None: + installed_version_patch = installed_version_minor + installed_version_minor = installed_version_major + + if installed_version_minor != required_version.group('minor'): text = "\n" - text += "The version of Protoc (v{0}.{1})".format(installed_version.group('minor'), - installed_version.group('patch')) + text += "The version of Protoc (v{0}.{1})".format(installed_version_minor, + installed_version_patch) text += " you have installed is not compatible with the version of\nthe protobuf python package " \ "(v{0}.{1}) ".format(required_version.group('minor'), required_version.group('patch')) text += "Embedded Proto requires. These are your options:\n" \ @@ -111,8 +120,9 @@ def check_protoc_version(): "\t2. Change the version of Embedded Proto.\n" # Check if all versions are above v21.0 - if ((21 <= int(installed_version.group('minor'))) and (21 <= int(required_version.group('minor')))) or \ - ((21 > int(installed_version.group('minor'))) and (21 > int(required_version.group('minor')))): + if ((21 <= int(installed_version_minor)) and (21 <= int(required_version.group('minor')))) or \ + ((21 > int(installed_version_minor)) and (21 > int(required_version.group('minor')))): + print(" [" + CYELLOW + "Warning" + CEND + "]") text += "\t3. Ignore the difference at your own risk!\n" From c82af7d87123289f0e557efbf786897c66272b6f Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 21:42:29 +0100 Subject: [PATCH 2/8] Resolved a merge conflict. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index c72b888..55aa904 100644 --- a/setup.py +++ b/setup.py @@ -75,7 +75,7 @@ def check_protoc_version(): print("Stopping the setup.") exit(0) - version_re_compiled = re.compile(r".*\s(?P\d+)\.(?P\d+)") + version_re_compiled = re.compile(r".*\s(?P\d+)\.(?P\d+)(?:\.(?P\d+))?") installed_version = version_re_compiled.search(output.stdout.decode("utf-8")) required_version = read_required_version() From bd73512c8f01c8b377f9dbd799b71d5f3698dbe6 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 21:58:42 +0100 Subject: [PATCH 3/8] Added some debugging text for the github CI. --- setup.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup.py b/setup.py index 55aa904..990c4dc 100644 --- a/setup.py +++ b/setup.py @@ -82,6 +82,10 @@ def check_protoc_version(): installed_version_major = installed_version.group('major') installed_version_minor = installed_version.group('minor') installed_version_patch = installed_version.group('patch') + print("") + print("DBG - major: " + installed_version_major) + print("DBG - minor: " + installed_version_minor) + print("DBG - patch: " + installed_version_patch) # If the installed protobuf version does not include a major number if installed_version_patch is None: From 15a100efc2883a92710755a87cdf390e602b1dc9 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 22:02:59 +0100 Subject: [PATCH 4/8] Changed the debug text --- setup.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 990c4dc..962a79d 100644 --- a/setup.py +++ b/setup.py @@ -82,15 +82,19 @@ def check_protoc_version(): installed_version_major = installed_version.group('major') installed_version_minor = installed_version.group('minor') installed_version_patch = installed_version.group('patch') - print("") - print("DBG - major: " + installed_version_major) - print("DBG - minor: " + installed_version_minor) - print("DBG - patch: " + installed_version_patch) # If the installed protobuf version does not include a major number if installed_version_patch is None: installed_version_patch = installed_version_minor installed_version_minor = installed_version_major + print("") + print("DBG - minor: " + installed_version_minor) + print("DBG - patch: " + installed_version_patch) + else: + print("") + print("DBG - major: " + installed_version_major) + print("DBG - minor: " + installed_version_minor) + print("DBG - patch: " + installed_version_patch) if installed_version_minor != required_version.group('minor'): text = "\n" From a481e990620d8a2cf9cd877a27bb692703392544 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 22:06:20 +0100 Subject: [PATCH 5/8] Debug text extension. --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 962a79d..8dc8317 100644 --- a/setup.py +++ b/setup.py @@ -88,10 +88,12 @@ def check_protoc_version(): installed_version_patch = installed_version_minor installed_version_minor = installed_version_major print("") + print("DBG - required: " + str(required_version)) print("DBG - minor: " + installed_version_minor) print("DBG - patch: " + installed_version_patch) else: print("") + print("DBG - required: " + str(required_version)) print("DBG - major: " + installed_version_major) print("DBG - minor: " + installed_version_minor) print("DBG - patch: " + installed_version_patch) From 190697600e69437e8c3b64dc35d6681f079410d2 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 22:35:50 +0100 Subject: [PATCH 6/8] Added missing parameter to the text. Changed the debug text. --- setup.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/setup.py b/setup.py index 8dc8317..9a0d8c6 100644 --- a/setup.py +++ b/setup.py @@ -87,23 +87,16 @@ def check_protoc_version(): if installed_version_patch is None: installed_version_patch = installed_version_minor installed_version_minor = installed_version_major - print("") - print("DBG - required: " + str(required_version)) - print("DBG - minor: " + installed_version_minor) - print("DBG - patch: " + installed_version_patch) - else: - print("") - print("DBG - required: " + str(required_version)) - print("DBG - major: " + installed_version_major) - print("DBG - minor: " + installed_version_minor) - print("DBG - patch: " + installed_version_patch) + + print("DBG installed_version_minor:" + installed_version_minor) + print("DBG required_version.group('minor'):" + required_version.group('minor')) if installed_version_minor != required_version.group('minor'): text = "\n" text += "The version of Protoc (v{0}.{1})".format(installed_version_minor, installed_version_patch) text += " you have installed is not compatible with the version of\nthe protobuf python package " \ - "(v{0}.{1}) ".format(required_version.group('minor')) + "(v{0}.{1}) ".format(required_version.group('minor'), required_version.group('patch')) text += "Embedded Proto requires. These are your options:\n" \ "\t1. Install a matching version of Protoc.\n" \ "\t2. Change the version of Embedded Proto.\n" From abf3452b88f880a3ebf05dc736b02b252009fcc8 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 22:40:58 +0100 Subject: [PATCH 7/8] Removed higher protoc version in the CI test. --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d11484..9e188ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ubuntu-22.04] - protoc-version: ["21.x", "23.x"] + protoc-version: ["21.x"] python-version: ["3.8", "3.11"] runs-on: ${{ matrix.os }} steps: From ee148083851b4a8628bf4399aa4d40f7a7564902 Mon Sep 17 00:00:00 2001 From: Bart Hertog Date: Tue, 5 Dec 2023 22:46:06 +0100 Subject: [PATCH 8/8] Removed the debug text. --- setup.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.py b/setup.py index 9a0d8c6..54093b3 100644 --- a/setup.py +++ b/setup.py @@ -88,9 +88,6 @@ def check_protoc_version(): installed_version_patch = installed_version_minor installed_version_minor = installed_version_major - print("DBG installed_version_minor:" + installed_version_minor) - print("DBG required_version.group('minor'):" + required_version.group('minor')) - if installed_version_minor != required_version.group('minor'): text = "\n" text += "The version of Protoc (v{0}.{1})".format(installed_version_minor,