Schema a now "parsed" into C++-validator-objects in a first step and then validation takes place with these objects. Errors are now handled via a user-provided error-handler allowing the user to collect all errors at once or bail out when a certain threshold is reached. Fixes #36 and #8. One (sub-)schema can now be referenced with different URIs. Fixes #9 JSON schema draft 7 is now supported. Fixes #35
70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
#########################
|
|
# project configuration #
|
|
#########################
|
|
|
|
# C++ project
|
|
language: cpp
|
|
|
|
dist: trusty
|
|
sudo: required
|
|
group: edge
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
env: COMPILER=g++-4.9
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-4.9', 'ninja-build']
|
|
|
|
- os: linux
|
|
compiler: gcc
|
|
env: COMPILER=g++-5
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-5', 'ninja-build']
|
|
|
|
- os: linux
|
|
compiler: gcc
|
|
env: COMPILER=g++-6
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-6', 'ninja-build']
|
|
|
|
- os: linux
|
|
compiler: gcc
|
|
env: COMPILER=g++-7
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-7', 'ninja-build']
|
|
|
|
script:
|
|
# get CMake and Ninja (only for systems with brew - macOS)
|
|
- |
|
|
if [[ (-x $(which brew)) ]]; then
|
|
brew update
|
|
brew install cmake ninja
|
|
brew upgrade cmake
|
|
fi
|
|
# make sure CXX is correctly set
|
|
- if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi
|
|
|
|
# show OS/compiler version
|
|
- uname -a
|
|
- cmake --version
|
|
- $CXX --version
|
|
|
|
# put json.hpp to nlohmann
|
|
- mkdir -p nlohmann && wget https://github.com/nlohmann/json/releases/download/v3.5.0/json.hpp -O nlohmann/json.hpp
|
|
|
|
# compile and execute unit tests
|
|
- mkdir -p build && cd build
|
|
- cmake .. -DNLOHMANN_JSON_DIR=.. ${CMAKE_OPTIONS} -GNinja && cmake --build . --config Release
|
|
- ctest -C Release -V -j
|
|
- cd ..
|