PCM: don't ignore schema validation errors
This commit is contained in:
parent
ab2eae6f48
commit
6264dd40ea
|
@ -20,13 +20,13 @@
|
||||||
|
|
||||||
// kicad_curl.h *must be* included before any wxWidgets header to avoid conflicts
|
// kicad_curl.h *must be* included before any wxWidgets header to avoid conflicts
|
||||||
// at least on Windows/msys2
|
// at least on Windows/msys2
|
||||||
#include <kicad_curl/kicad_curl.h>
|
|
||||||
#include "kicad_curl/kicad_curl_easy.h"
|
#include "kicad_curl/kicad_curl_easy.h"
|
||||||
|
#include <kicad_curl/kicad_curl.h>
|
||||||
|
|
||||||
#include "pcm.h"
|
|
||||||
#include "core/wx_stl_compat.h"
|
#include "core/wx_stl_compat.h"
|
||||||
#include "kicad_build_version.h"
|
#include "kicad_build_version.h"
|
||||||
#include "paths.h"
|
#include "paths.h"
|
||||||
|
#include "pcm.h"
|
||||||
#include "pgm_base.h"
|
#include "pgm_base.h"
|
||||||
#include "picosha2.h"
|
#include "picosha2.h"
|
||||||
#include "settings/settings_manager.h"
|
#include "settings/settings_manager.h"
|
||||||
|
@ -50,6 +50,17 @@ const std::tuple<int, int> PLUGIN_CONTENT_MANAGER::m_kicad_version =
|
||||||
KICAD_MAJOR_MINOR_VERSION_TUPLE;
|
KICAD_MAJOR_MINOR_VERSION_TUPLE;
|
||||||
|
|
||||||
|
|
||||||
|
class THROWING_ERROR_HANDLER : public nlohmann::json_schema::error_handler
|
||||||
|
{
|
||||||
|
void error( const json::json_pointer& ptr, const json& instance,
|
||||||
|
const std::string& message ) override
|
||||||
|
{
|
||||||
|
throw std::invalid_argument( std::string( "At " ) + ptr.to_string() + ", value:\n"
|
||||||
|
+ instance.dump() + "\n" + message + "\n" );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
PLUGIN_CONTENT_MANAGER::PLUGIN_CONTENT_MANAGER( wxWindow* aParent ) : m_dialog( aParent )
|
PLUGIN_CONTENT_MANAGER::PLUGIN_CONTENT_MANAGER( wxWindow* aParent ) : m_dialog( aParent )
|
||||||
{
|
{
|
||||||
// Get 3rd party path
|
// Get 3rd party path
|
||||||
|
@ -264,7 +275,7 @@ bool PLUGIN_CONTENT_MANAGER::FetchRepository( const wxString& aUrl, PCM_REPOSITO
|
||||||
void PLUGIN_CONTENT_MANAGER::ValidateJson( const nlohmann::json& aJson,
|
void PLUGIN_CONTENT_MANAGER::ValidateJson( const nlohmann::json& aJson,
|
||||||
const nlohmann::json_uri& aUri ) const
|
const nlohmann::json_uri& aUri ) const
|
||||||
{
|
{
|
||||||
nlohmann::json_schema::basic_error_handler error_handler;
|
THROWING_ERROR_HANDLER error_handler;
|
||||||
m_schema_validator.validate( aJson, error_handler, aUri );
|
m_schema_validator.validate( aJson, error_handler, aUri );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue