Skip to content

Commit

Permalink
Squashed 'src/Valijson/valijson/' changes from 2dfc7499..0b4771e2
Browse files Browse the repository at this point in the history
0b4771e2 Merge branch 'domire8-fix/yaml-cpp-adapter'
afc92d54 Change isString to IsString
5d7a6c5c Fix isString() method in yaml_cpp_adapter
9de00d75 Bump minimum cmake version to 3.5.1
d52d2dd0 Use string instead string_view
373576a3 Process each invalid example separately in picojson_format_test
0b7efb37 Make subschema constraint validation clearer
0530af07 Improve PicoJSON format test example
cd9258c2 Add picojson example
138c3785 Tweak behaviour of format constraint validation
92b9514b Revert "fail with the first unmet constraint to avoid running into type mismatches"
aee67d58 fail with the first unmet constraint to avoid running into type mismatches
f716227d check the type constraint first because others might rely on it
f1902801 Merge pull request microsoft#179 from DavidKorczynski/cifuzz-int
3c63c49d Add CIFuzz Github Action
4d857316 Revert "Bump nlohmann-json submodule"
8065a5ac Bump nlohmann-json submodule
5dcec3ef Merge pull request microsoft#177 from taichi-dev/master
94ca772c [Build] Make it work on Linux (#1)
780bf067 Rework adapter to build on VS 2022 with latest JSON for modern C++
f7399c1a Merge pull request microsoft#175 from cbrumgard/master
9e5b479b Fixed validation_visitor to work with adaptors that only support the forward_iterator_tag for array value iterators.
2acde8ec Merge pull request microsoft#172 from silvergasp/ci
e339c2c2 Adds Github Actions configuration for CI
65ba76e4 Merge pull request microsoft#169 from AustinHaigh-Hach/fix-typos
f1ff3518 fix typos in preprocessor macros
78ac8a73 Correct token replacement issue
c4355eaa Simplify implementation of YamlCppObject::find()
375eaae0 Tidy up doc-comments
db8daacc Add std::nothrow when using operator new
e895d035 Attempt to fix oss-fuzz build
d9c9d2eb Revert nlohmann-json module to 3.1.2
8d04b757 Fix whitespace in .gitmodules
2642dd4e Bump rapidjson submodule to 06d58b9
74bd2a99 Switch to using submodule for JSON-Schema-Test-Suite
2fe3c829 Switch to using submodule for googletest
b63a08f3 Switch to using submodule for json11
444bc02d Switch to using submodule for jsoncpp
ac122d9e Switch to using submodule for yaml-cpp
fb995ceb Switch to using submodule for nlohmann-json
582fd0fc Switch to using submodule for rapidjson
008c7ca4 Update readme
2cef1a65 Switch to submodule for picojson
c0ce4cde Correct typo in license
d397ac60 Include <limits> header in custom_allocator.hpp
94d3bfd3 Fix format regex escape sequences
25dcdb1c Merge pull request microsoft#160 from jrave/time-format-fields
dee2fa64 Support for time related format fields
5f49d77b Basic structure for format constraint
a6a4fbb5 Remove redundant call to baseline
0de61e0c Tidy up readme
1ff36254 Add script to bundle library into a single header
21322b2d Move Adapter and BasicAdapter classes to internal
23724b97 Merge pull request microsoft#159 from jackorobot/fix_poco_get_integer
72afeb1f Fixed PocoJsonValue::getInteger being limited to 32-bit integers
4d603df4 Update Authors file
0e3f48c8 Remove vendored copy of urdl
9e7dbd84 Remove outdated Xcode project files
2f6760f6 Merge pull request microsoft#154 from psigen/yaml-cpp-support
f4bbf4e0 Remove non-critical yaml-cpp files from PR.
b685584e Add optimization for find implementation.
c688aa3b Add a unit test for object member access.
76c9f40c Added simple loading utility.
66424a11 Added a column limit to the file.
f03461bb Fixed issue with YAML::Node reference usage.
7f23f369 Fix unit tests to match property tree.
698936ae Added missing dep for YAML-cpp.
328db2f6 Initial pass at yaml-cpp support.
34f75118 Add note about GCC versions to readme
5ca87a61 Remove very obsolete valgrind suppressions file
27d30658 Update vendored jsoncpp to version 1.9.5
c2822576 Update CMakeLists to use add_compile_definitions
f9701392 Remove unnecessary indentation from code snippets in readme
7d4ea908 Add boost::json example and delete problematic constructors
d34f78b4 Improve error messaging when parsing schemas and documents
dd32f66d Build tests for fuzzing
8b5f253c Tweak readme formatting
a2e39586 Remove Travis CI config
3940b361 Mention web-based demo in readme
f5f979b0 Mention boost compiler warnings in README
80afdef5 Merge pull request microsoft#150 from jonpetri/jonpetri/cmake-improvements
4622b958 Set valijson_BUILD_TESTS  OFF by default in cmake
50010fd9 Make VALIJSON_USE_EXCEPTIONS interface definition
c5dac2bc Install cmake export file
c7d5f2cb Remove valijson_INSTALL_HEADERS from cmake build
bfb5860c Fix fuzzer build
7b865438 Merge pull request microsoft#147 from keith-bennett-airmap/keith/shellcheck
1f25558c make shellcheck clean
3c185cb8 Merge pull request microsoft#145 from mporsch/smart-pointer-memory-management
828fc876 use implicit conversion of unique_ptr<T, DeleterA> to unique_ptr<const T, DeleterB>
cf841e10 use unique_ptr for memory management in constraints and subschema
4a99dd79 Add missing include
75ada05c Use strong types in external_schema example, and update README
26f3a847 Less const-ness
3eaf1bb9 Add note about VALIJSON_USE_EXCEPTIONS to the README
4990e352 Update inspector to enable and handle exceptions
af071f01 Update inspector build to work with Qt6
7b6d22f1 Update CMakeLists.txt to check for boost/json.hpp before building tests
5da89730 Merge pull request microsoft#139 from YangJiao1996/master
0f0cc2bc Always apply callback function when validating schema
9a2ebbde Merge pull request microsoft#137 from veselypeta/readme-cmake
e5530feb update README add with cmake

git-subtree-dir: src/Valijson/valijson
git-subtree-split: 0b4771e273a065d437814baf426bcfcafec0f434
  • Loading branch information
yao-msft committed Jun 26, 2024
1 parent 9f4ae89 commit a1c61bf
Show file tree
Hide file tree
Showing 680 changed files with 12,965 additions and 198,857 deletions.
17 changes: 17 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
BasedOnStyle: LLVM
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: false
BeforeElse: false
IndentBraces: false
BreakBeforeBraces: Custom
IndentWidth: 4
AllowShortFunctionsOnASingleLine: Empty
35 changes: 35 additions & 0 deletions .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CIFuzz
on: [pull_request]
jobs:
Fuzzing:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Build Fuzzers
id: build
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
with:
oss-fuzz-project-name: 'valijson'
language: c++
- name: Run Fuzzers
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'valijson'
language: c++
fuzz-seconds: 300
output-sarif: true
- name: Upload Crash
uses: actions/upload-artifact@v3
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@v2
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
checkout_path: cifuzz-sarif
category: CIFuzz
40 changes: 40 additions & 0 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CMake

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'

- name: Install dependencies
run: |
sudo apt install --yes libboost-all-dev qtbase5-dev libcurlpp-dev libcurl4-openssl-dev
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -Dvalijson_BUILD_TESTS=ON -Dvalijson_BUILD_EXAMPLES=ON

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j$(nproc)

- name: Test
working-directory: ${{github.workspace}}/build
run: ./test_suite
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ doc/html
.idea
cmake-build-*
CMakeFiles/
.vs
32 changes: 32 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[submodule "thirdparty/picojson"]
path = thirdparty/picojson
url = https://github.com/tristanpenman/picojson.git
shallow = true
[submodule "thirdparty/rapidjson"]
path = thirdparty/rapidjson
url = https://github.com/Tencent/rapidjson.git
shallow = true
[submodule "thirdparty/nlohmann-json"]
path = thirdparty/nlohmann-json
url = https://github.com/nlohmann/json.git
shallow = true
[submodule "thirdparty/yaml-cpp"]
path = thirdparty/yaml-cpp
url = https://github.com/jbeder/yaml-cpp.git
shallow = true
[submodule "thirdparty/jsoncpp"]
path = thirdparty/jsoncpp
url = https://github.com/open-source-parsers/jsoncpp.git
shallow = true
[submodule "thirdparty/json11"]
path = thirdparty/json11
url = https://github.com/dropbox/json11.git
shallow = true
[submodule "thirdparty/googletest"]
path = thirdparty/googletest
url = https://github.com/google/googletest.git
shallow = true
[submodule "thirdparty/JSON-Schema-Test-Suite"]
path = thirdparty/JSON-Schema-Test-Suite
url = https://github.com/json-schema-org/JSON-Schema-Test-Suite.git
shallow = true
74 changes: 0 additions & 74 deletions .travis.yml

This file was deleted.

5 changes: 4 additions & 1 deletion Authors
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,7 @@ Jordan Bayles (jophba), [email protected]
JsonCpp owner

Matt Young (matty0ung), <[email protected]>
Adapter for Boost.JSON parser library
Adapter for Boost.JSON parser library

Pras Velagapudi (psigen), <[email protected]>
Adapter for yaml-cpp parser library
Loading

0 comments on commit a1c61bf

Please sign in to comment.