From e9950430933ade1016487cfc6513fce3bb95a382 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Thu, 20 Feb 2025 09:52:23 -0300 Subject: [PATCH] [Dependencies] Allow to specify a different version for KiCad versions Applied to KiKit --- kibot/dep_downloader.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/kibot/dep_downloader.py b/kibot/dep_downloader.py index 9395244d7..e4fa80d81 100644 --- a/kibot/dep_downloader.py +++ b/kibot/dep_downloader.py @@ -74,7 +74,9 @@ github: INTI-CMNB/KiKit pypi: KiKit downloader: pytool - version: 1.7.0 + version_k6: 1.5.0 + version_k7: 1.6.0 + version_k9: 1.7.0 - from: KiKit role: Separate multiboard projects - name: Xvfbwrapper @@ -955,6 +957,21 @@ def __init__(self, output, name, url=None, url_down=None, is_python=False, deb=N self.role = role +def get_dep_version(dep): + # Look if we have a version depending on KiCad version + k_ver = GS.kicad_version_major + version = None + while k_ver >= 5 and version is None: + version = dep.get('version_k'+str(k_ver), None) + k_ver -= 1 + # Try a version for all KiCad versions + if version is not None: + version = dep.get('version', None) + if version is not None: + version = version_str2tuple(str(version)) + return version + + def register_dep(context, dep): # Solve inheritance parent = dep.get('from', None) @@ -971,9 +988,7 @@ def register_dep(context, dep): desc = dep['role'] if desc.lower() == 'mandatory': desc = None - version = dep.get('version', None) - if version is not None: - version = version_str2tuple(str(version)) + version = get_dep_version(dep) max_version = dep.get('max_version', None) if max_version is not None: max_version = version_str2tuple(str(max_version))