mirror of
https://github.com/openwebos/libpbnjson
synced 2026-11-07 11:32:49 -05:00
:Release Notes: Remove previous schema implementation, remove useless tests. Integrate new schema implementation, add temporary support for "extends" and type "any". Deliver schema parsing errors somehow. :Detailed Notes: Legacy implementation was the bottle-neck for validation performance. Since jvalue was validated during parsing and generation, it impacted the performance drastically. The key problems of it were: parsing schema into jvalue, then interpreting it allocating much memory even without need. New implementation on the other hand, parses JSON schema directly into a dedicated hierarchical data structure Validator, which is aware of validation. The validator is biased for fast validation in expense of preprocessing during construction. Advanced techniques are used: LALR(1) parser generation with LEMON, gperf for keyword recognition, glib for basic containers implementation. :Testing Performed: Unit tests passed, unit tests with memory checker passed. Smoke test on TV passed. :QA Notes: :Issues Addressed: [GF-13496] pbnjson: Redesign validation against schema [GF-35713] Make new validator compatible with the old one. [GF-35717] Fix small issues after validator integration. [GF-8140] Upgrade libpbnjson to YAJL-2 Open-webOS-DCO-1.0-Signed-off-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com> Change-Id: I890063e635b304e61ff9fc62e50e346eb4418dea Reviewed-on: https://g2g.palm.com/3323 Reviewed-by: Build Verification Reviewed-by: Mykola Kryvonos <mykola.kryvonos@lge.com> Tested-by: Mykola Kryvonos <mykola.kryvonos@lge.com> Reviewed-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com> Tested-by: Anatolii Sakhnik <anatolii.sakhnik@lge.com> Reviewed-by: Keith Derrick <keith.derrick@lge.com> Reviewed-by: Alekseyev Oleksandr <alekseyev.oleksandr@lge.com>
28 lines
917 B
Plaintext
28 lines
917 B
Plaintext
# @@@LICENSE
|
|
#
|
|
# Copyright (c) 2009-2013 LG Electronics, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
# LICENSE@@@
|
|
|
|
libdir=@WEBOS_INSTALL_LIBDIR@
|
|
includedir=@WEBOS_INSTALL_INCLUDEDIR@
|
|
|
|
Name: libpbnjson C++ library
|
|
Description: @WEBOS_PROJECT_SUMMARY@ (C++ edition)
|
|
Version: @WEBOS_COMPONENT_VERSION@
|
|
Requires.private: glib-2.0 liburiparser
|
|
Libs: -L${libdir} -lpbnjson_cpp -lpbnjson_c
|
|
Cflags: -I${includedir}
|