diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index b865771b..2d77d167 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -27,7 +27,7 @@ from os.path import (basename, commonprefix, dirname, isdir, isfile, join, import SCons.Scanner from SCons.Script import ARGUMENTS, COMMAND_LINE_TARGETS, DefaultEnvironment -from platformio import util +from platformio import exception, util from platformio.builder.tools import platformio as piotool from platformio.managers.lib import LibraryManager from platformio.managers.package import PackageManager @@ -777,7 +777,7 @@ def GetLibBuilders(env): # pylint: disable=too-many-branches try: lb = LibBuilderFactory.new( env, join(libs_dir, item), verbose=verbose) - except ValueError: + except exception.InvalidJSONFile: if verbose: sys.stderr.write("Skip library with broken manifest: %s\n" % join(libs_dir, item)) diff --git a/platformio/exception.py b/platformio/exception.py index afedf5a9..8b3df0f2 100644 --- a/platformio/exception.py +++ b/platformio/exception.py @@ -207,6 +207,11 @@ class InvalidSettingValue(PlatformioException): MESSAGE = "Invalid value '{0}' for the setting '{1}'" +class InvalidJSONFile(PlatformioException): + + MESSAGE = "Could not load broken JSON: {0}" + + class CIBuildEnvsEmpty(PlatformioException): MESSAGE = ("Can't find PlatformIO build environments.\n" diff --git a/platformio/util.py b/platformio/util.py index c0adb874..49ff8547 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -169,8 +169,7 @@ def load_json(file_path): with open(file_path, "r") as f: return json.load(f) except ValueError: - raise exception.PlatformioException( - "Could not load broken JSON: %s" % file_path) + raise exception.InvalidJSONFile(file_path) def get_systype():