diff --git a/platform.json b/platform.json index 811188f..9e9f9d8 100644 --- a/platform.json +++ b/platform.json @@ -48,7 +48,7 @@ "type": "framework", "optional": true, "owner": "platformio", - "version": "~2.40000.0" + "version": "~3.40000.0" }, "tool-openocd": { "type": "debugger", diff --git a/platform.py b/platform.py index a693584..a46d820 100644 --- a/platform.py +++ b/platform.py @@ -68,16 +68,26 @@ def install_package(self, name, *args, **kwargs): if name != "framework-zephyr": return pkg - if not os.path.isfile(os.path.join(pkg.path, "_pio", "state.json")): - self.pm.log.info("Installing Zephyr project dependencies...") - try: - subprocess.run([ - os.path.normpath(sys.executable), - os.path.join(pkg.path, "scripts", "platformio", "install-deps.py"), - "--platform", self.name - ]) - except subprocess.CalledProcessError: - self.pm.log.info("Failed to install Zephyr dependencies!") + prj_west_manifest = os.path.join(get_project_dir(), "west.yml") + try: + ( + subprocess.run( + [ + os.path.normpath(sys.executable), + os.path.join( + pkg.path, "scripts", "platformio", "install-deps.py" + ), + "--platform", + self.name, + ] + ( + ["--manifest", prj_west_manifest] + if os.path.isfile(prj_west_manifest) + else [] + ) + ) + ) + except subprocess.CalledProcessError: + self.pm.log.info("Failed to install Zephyr dependencies!") return pkg