Hyperion Light 2 (#1428)

* Hyperion Light - Have EffectEngine as component

* Hyperion light - Build switches for LED Devices (Serial, Network)

* Fix file uri generation

* Fix missing guard for Windows

* Fix file uri generation

* Update jsonschema and checkschema

* Allow to provide cmake build args to docker build
This commit is contained in:
LordGrey
2022-02-11 20:36:15 +01:00
committed by GitHub
parent 9e4b58d5c6
commit 5078688dc8
47 changed files with 1920 additions and 938 deletions

View File

@@ -4,16 +4,19 @@ include_directories(../libsrc)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
MACRO (link_to_hyperion TARGET)
target_link_libraries( ${TARGET} blackborder leddevice jsonserver hyperion-utils hyperion effectengine )
target_link_libraries( ${TARGET} blackborder leddevice jsonserver hyperion-utils hyperion )
if(ENABLE_EFFECTENGINE)
target_link_libraries( ${TARGET} effectengine )
endif()
ENDMACRO()
if(ENABLE_SPIDEV)
if(ENABLE_DEV_SPI)
# Add the simple test executable 'TestSpi'
add_executable(test_spi TestSpi.cpp)
target_link_libraries( test_spi leddevice hyperion-utils hyperion )
add_executable(spidev_test spidev_test.c)
add_executable(gpio2spi switchPinCtrl.c)
endif(ENABLE_SPIDEV)
endif(ENABLE_DEV_SPI)
add_executable(test_configfile TestConfigFile.cpp)
link_to_hyperion(test_configfile)

View File

@@ -1,4 +1,4 @@
Copyright (c) 2011 Julian Berman
Copyright (c) 2013 Julian Berman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -3,6 +3,12 @@ import json, sys
from os import path
from jsonschema import Draft3Validator, RefResolver
from urllib.parse import urljoin
from urllib.request import pathname2url
def path2url(path):
return urljoin('file:', pathname2url(path))
print('-- validate json file')
jsonFileName = sys.argv[1]
@@ -11,8 +17,11 @@ schemaFileName = sys.argv[2]
try:
with open(schemaFileName) as schemaFile:
with open(jsonFileName) as jsonFile:
resolver = RefResolver('file://%s/schema/' % path.abspath(path.dirname(schemaFileName)), None)
Draft3Validator(json.loads(schemaFile.read()), resolver=resolver).validate(json.loads(jsonFile.read()))
schema = json.load(schemaFile)
uri = path2url('%s/schema/' % path.abspath(path.dirname(schemaFileName)))
resolver = RefResolver(uri, referrer = schema)
instance = json.load(jsonFile)
Draft3Validator(schema, resolver=resolver).validate(instance)
except Exception as e:
print('validation error: '+jsonFileName + ' '+schemaFileName+' ('+str(e)+')')
sys.exit(1)

File diff suppressed because it is too large Load Diff