Skip to content

Commit d9939d9

Browse files
committed
Add support for new versions of upstream toolchain packages
Resolves #1092, resolves #1093
1 parent da13338 commit d9939d9

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

platform.py

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,24 @@ def configure_debug_session(self, debug_config):
288288
def extract_toolchain_versions(tool_deps):
289289
def _parse_version(original_version):
290290
assert original_version
291-
match = re.match(r"^gcc(\d+)_(\d+)_(\d+)\-esp\-(.+)$", original_version)
292-
if not match:
293-
raise ValueError("Bad package version `%s`" % original_version)
294-
assert len(match.groups()) == 4
295-
return "%s.%s.%s+%s" % (match.groups())
291+
version_patterns = (
292+
r"^gcc(?P<MAJOR>\d+)_(?P<MINOR>\d+)_(?P<PATCH>\d+)-esp-(?P<EXTRA>.+)$",
293+
r"^esp-(?P<EXTRA>.+)-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.?(?P<PATCH>\d+)$",
294+
r"^esp-(?P<MAJOR>\d+)\.(?P<MINOR>\d+)\.(?P<PATCH>\d+)(_(?P<EXTRA>.+))?$",
295+
)
296+
for pattern in version_patterns:
297+
match = re.search(pattern, original_version)
298+
if match:
299+
result = "%s.%s.%s" % (
300+
match.group("MAJOR"),
301+
match.group("MINOR"),
302+
match.group("PATCH"),
303+
)
304+
if match.group("EXTRA"):
305+
result = result + "+%s" % match.group("EXTRA")
306+
return result
307+
308+
raise ValueError("Bad package version `%s`" % original_version)
296309

297310
if not tool_deps:
298311
raise ValueError(

0 commit comments

Comments
 (0)