forked from platformio/platformio-core
Handle broken JSON files
This commit is contained in:
@ -27,7 +27,7 @@ from os.path import (basename, commonprefix, dirname, isdir, isfile, join,
|
|||||||
import SCons.Scanner
|
import SCons.Scanner
|
||||||
from SCons.Script import ARGUMENTS, COMMAND_LINE_TARGETS, DefaultEnvironment
|
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.builder.tools import platformio as piotool
|
||||||
from platformio.managers.lib import LibraryManager
|
from platformio.managers.lib import LibraryManager
|
||||||
from platformio.managers.package import PackageManager
|
from platformio.managers.package import PackageManager
|
||||||
@ -777,7 +777,7 @@ def GetLibBuilders(env): # pylint: disable=too-many-branches
|
|||||||
try:
|
try:
|
||||||
lb = LibBuilderFactory.new(
|
lb = LibBuilderFactory.new(
|
||||||
env, join(libs_dir, item), verbose=verbose)
|
env, join(libs_dir, item), verbose=verbose)
|
||||||
except ValueError:
|
except exception.InvalidJSONFile:
|
||||||
if verbose:
|
if verbose:
|
||||||
sys.stderr.write("Skip library with broken manifest: %s\n"
|
sys.stderr.write("Skip library with broken manifest: %s\n"
|
||||||
% join(libs_dir, item))
|
% join(libs_dir, item))
|
||||||
|
@ -207,6 +207,11 @@ class InvalidSettingValue(PlatformioException):
|
|||||||
MESSAGE = "Invalid value '{0}' for the setting '{1}'"
|
MESSAGE = "Invalid value '{0}' for the setting '{1}'"
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidJSONFile(PlatformioException):
|
||||||
|
|
||||||
|
MESSAGE = "Could not load broken JSON: {0}"
|
||||||
|
|
||||||
|
|
||||||
class CIBuildEnvsEmpty(PlatformioException):
|
class CIBuildEnvsEmpty(PlatformioException):
|
||||||
|
|
||||||
MESSAGE = ("Can't find PlatformIO build environments.\n"
|
MESSAGE = ("Can't find PlatformIO build environments.\n"
|
||||||
|
@ -169,8 +169,7 @@ def load_json(file_path):
|
|||||||
with open(file_path, "r") as f:
|
with open(file_path, "r") as f:
|
||||||
return json.load(f)
|
return json.load(f)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise exception.PlatformioException(
|
raise exception.InvalidJSONFile(file_path)
|
||||||
"Could not load broken JSON: %s" % file_path)
|
|
||||||
|
|
||||||
|
|
||||||
def get_systype():
|
def get_systype():
|
||||||
|
Reference in New Issue
Block a user