From 9cddd4bf8fe78e73115d06b5f7a110e392d86d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=89=E5=A4=B4=E5=90=9B?= Date: Wed, 2 Nov 2022 00:26:18 -0700 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=89=E6=96=B9=E5=BA=93ra?= =?UTF-8?q?pidjson=20GN=E6=9E=84=E5=BB=BA=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 小肉头君 --- rapidjson/BUILD.gn | 271 ++++++++++++++++++++++++++++++++ rapidjson/README.OpenSource | 11 ++ rapidjson/README_zh.md | 10 ++ rapidjson/bundle.json | 57 +++++++ rapidjson/docs/pic/result.png | Bin 0 -> 49129 bytes rapidjson/docs/rom_integrate.md | 112 +++++++++++++ 6 files changed, 461 insertions(+) create mode 100644 rapidjson/BUILD.gn create mode 100644 rapidjson/README.OpenSource create mode 100644 rapidjson/README_zh.md create mode 100644 rapidjson/bundle.json create mode 100644 rapidjson/docs/pic/result.png create mode 100644 rapidjson/docs/rom_integrate.md diff --git a/rapidjson/BUILD.gn b/rapidjson/BUILD.gn new file mode 100644 index 00000000..8ffd0218 --- /dev/null +++ b/rapidjson/BUILD.gn @@ -0,0 +1,271 @@ +# Copyright (c) 2021 Huawei Device Co., Ltd. +# 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. + +import("//build/ohos.gni") + +declare_args() { + enable_rapidjson_test = false +} + +config("rapidjson-config") { + cflags_cc = [ + "-Wno-incompatible-pointer-types", + "-Werror", + "-Wno-strict-prototypes", + "-Wimplicit-function-declaration", + "-fexceptions" + ] + + cflags = [ + "-Wno-incompatible-pointer-types", + "-Werror", + "-Wno-strict-prototypes", + "-Wimplicit-function-declaration", + "-fexceptions" + ] +} + +config("gtest_private_config") { + visibility = [ ":*" ] + include_dirs = [ "./thirdparty/gtest/googletest" ] +} + +config("gtest_config") { + include_dirs = [ "./thirdparty/gtest/googletest/include" ] + if (is_mingw) { + cflags_cc = [ + "-Wno-unused-const-variable", + "-Wno-unused-private-field", + ] + } +} +if(enable_rapidjson_test){ +static_library("rapidjson_gtest") { + public = [ + "googletest/include/gtest/gtest-spi.h", + "googletest/include/gtest/gtest.h", + ] + sources = [ + "./thirdparty/gtest/googletest/include/gtest/gtest-death-test.h", + "./thirdparty/gtest/googletest/include/gtest/gtest-message.h", + "./thirdparty/gtest/googletest/include/gtest/gtest-param-test.h", + "./thirdparty/gtest/googletest/include/gtest/gtest-printers.h", + "./thirdparty/gtest//include/gtest/gtest-test-part.h", + "./thirdparty/gtest/googletest/include/gtest/gtest-typed-test.h", + "./thirdparty/gtest/googletest/include/gtest/gtest_pred_impl.h", + "./thirdparty/gtest/googletest/include/gtest/gtest_prod.h", + "./thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-port.h", + "./thirdparty/gtest/googletest/include/gtest/internal/custom/gtest-printers.h", + "./thirdparty/gtest/googletest/include/gtest/internal/custom/gtest.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-death-test-internal.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-filepath.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-internal.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-param-util.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-port-arch.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-port.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-string.h", + "./thirdparty/gtest/googletest/include/gtest/internal/gtest-type-util.h", + "./thirdparty/gtest/googletest/src/gtest-all.cc", + "./thirdparty/gtest/googletest/src/gtest-death-test.cc", + "./thirdparty/gtest/googletest/src/gtest-filepath.cc", + "./thirdparty/gtest/googletest/src/gtest-internal-inl.h", + "./thirdparty/gtest/googletest/src/gtest-port.cc", + "./thirdparty/gtest/googletest/src/gtest-printers.cc", + "./thirdparty/gtest/googletest/src/gtest-test-part.cc", + "./thirdparty/gtest/googletest/src/gtest-typed-test.cc", + "./thirdparty/gtest/googletest/src/gtest.cc", + ] + sources -= [ "./thirdparty/gtest/googletest/src/gtest-all.cc" ] + public_configs = [ ":gtest_config" ] + configs += [ ":gtest_private_config" ] + configs -= [ "//build/config/coverage:default_coverage" ] +} +} + +if(enable_rapidjson_test){ +static_library("rapidjson_gtest_main") { + sources = [ "./thirdparty/gtest/googletest/src/gtest_main.cc" ] + public_deps = [ ":rapidjson_gtest" ] + configs -= [ "//build/config/coverage:default_coverage" ] +} +} + +config("gmock_private_config") { + visibility = [ ":*" ] + include_dirs = [ "./thirdparty/gtest/googlemock" ] +} + +config("gmock_config") { + include_dirs = [ "./thirdparty/gtest/googlemock/include" ] + + cflags_cc = [ + # The MOCK_METHODn() macros do not specify "override", which triggers this + # warning in users: "error: 'Method' overrides a member function but is not + # marked 'override' [-Werror,-Winconsistent-missing-override]". Suppress + # these warnings until https://github.com/google/googletest/issues/533 is + # fixed. + "-Wno-inconsistent-missing-override", + ] +} + +if(enable_rapidjson_test){ +static_library("rapidjson_gmock") { + public = [ "./thirdparty/gtest/googlemock/include/gmock/gmock.h" ] + sources = [ + "./thirdparty/gtest/googlemock/include/gmock/gmock-actions.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-cardinalities.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-function-mocker.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-more-actions.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-more-matchers.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-nice-strict.h", + "./thirdparty/gtest/googlemock/include/gmock/gmock-spec-builders.h", + "./thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h", + "./thirdparty/gtest/googlemock/include/gmock/internal/custom/gmock-port.h", + "./thirdparty/gtest/googlemock/include/gmock/internal/gmock-internal-utils.h", + "./thirdparty/gtest/googlemock/include/gmock/internal/gmock-port.h", + "./thirdparty/gtest/googlemock/include/gmock/internal/gmock-pp.h", + "./thirdparty/gtest/googlemock/src/gmock-all.cc", + "./thirdparty/gtest/googlemock/src/gmock-cardinalities.cc", + "./thirdparty/gtest/googlemock/src/gmock-internal-utils.cc", + "./thirdparty/gtest/googlemock/src/gmock-spec-builders.cc", + "./thirdparty/gtest/googlemock/src/gmock.cc", + ] + sources -= [ "./thirdparty/gtest/googlemock/src/gmock-all.cc" ] + public_configs = [ ":gmock_config" ] + configs += [ ":gmock_private_config" ] + configs -= [ "//build/config/coverage:default_coverage" ] + deps = [ ":rapidjson_gtest" ] +} +} + +if(enable_rapidjson_test){ +static_library("rapidjson_gmock_main") { + sources = [ "./thirdparty/gtest/googlemock/src/gmock_main.cc" ] + public_deps = [ + ":rapidjson_gmock", + ":rapidjson_gtest", + ] + configs -= [ "//build/config/coverage:default_coverage" ] +} +} + +if(enable_rapidjson_test){ +ohos_static_library("namespacetest"){ + sources = ["./test/unittest/namespacetest.cpp"] + include_dirs = [ + "./include", + ".", + "./test", + "./thirdparty/gtest/googletest/include" + ] + + deps = [ + ":rapidjson_gtest", + ":rapidjson_gtest_main", + ] + + configs = [":rapidjson-config"] + part_name = "rapidjson" +} +} + +if(enable_rapidjson_test){ +ohos_static_library("archivertest"){ + sources = ["./example/archiver/archiver.cpp", + "./example/archiver/archivertest.cpp"] + include_dirs = [ + "./include", + "./include/rapidjson", + ] + + deps = [ + ":rapidjson_gtest", + ":rapidjson_gtest_main", + ] + + configs = [":rapidjson-config"] + part_name = "rapidjson" +} +} + + +if(enable_rapidjson_test){ +list = ["capitalize", "condense", "filterkey", "filterkeydom", "jsonx", + "lookaheadparser","messagereader","parsebyparts","pretty", + "prettyauto","schemavalidator","serialize","simpledom", + "simplereader","simplepullreader","simplewriter","sortkeys","tutorial"] + foreach(i, list){ + ohos_executable(i){ + sources = [ + "./example/" + i + "/" + i + ".cpp" + ] + + include_dirs = [ + "./include" + ] + + configs = [":rapidjson-config"] + part_name = "rapidjson" +} +} +} + + +if(enable_rapidjson_test){ +ohos_executable("unittest"){ + sources = [ + "./test/unittest/allocatorstest.cpp", + "./test/unittest/bigintegertest.cpp", + "./test/unittest/clzlltest.cpp", + "./test/unittest/cursorstreamwrappertest.cpp", + "./test/unittest/dtoatest.cpp", + "./test/unittest/writertest.cpp", + "./test/unittest/encodingstest.cpp", + "./test/unittest/filestreamtest.cpp", + "./test/unittest/fwdtest.cpp", + "./test/unittest/istreamwrappertest.cpp", + "./test/unittest/namespacetest.cpp", + "./test/unittest/ostreamwrappertest.cpp", + "./test/unittest/platformtest.cpp", + "./test/unittest/pointertest.cpp", + "./test/unittest/prettywritertest.cpp", + "./test/unittest/readertest.cpp", + "./test/unittest/regextest.cpp", + "./test/unittest/schematest.cpp", + "./test/unittest/simdtest.cpp", + "./test/unittest/strfunctest.cpp", + "./test/unittest/stringbuffertest.cpp", + "./test/unittest/strtodtest.cpp", + "./test/unittest/unittest.cpp", + "./test/unittest/uritest.cpp", + "./test/unittest/valuetest.cpp", + "./test/unittest/documenttest.cpp", + "./test/unittest/encodedstreamtest.cpp" + ] + + include_dirs = [ + "./include", + ".", + "./test", + "./thirdparty/gtest/googletest/include" + ] + + deps = [ + ":rapidjson_gtest", + ":rapidjson_gtest_main" + ] + + configs = [":rapidjson-config"] + part_name = "rapidjson" +} +} diff --git a/rapidjson/README.OpenSource b/rapidjson/README.OpenSource new file mode 100644 index 00000000..5f57c7a4 --- /dev/null +++ b/rapidjson/README.OpenSource @@ -0,0 +1,11 @@ +[ + { + "Name": "rapidjson", + "License": "MIT license", + "License File": "LICENSE", + "Version Number": "v1.1.0", + "Owner": "Tencent", + "Upstream URL": "https://github.com/Tencent/rapidjson.git", + "Description": "A fast JSON parser/generator for C++ with both SAX/DOM style API" + } +] diff --git a/rapidjson/README_zh.md b/rapidjson/README_zh.md new file mode 100644 index 00000000..8d1ca9cd --- /dev/null +++ b/rapidjson/README_zh.md @@ -0,0 +1,10 @@ +# rapidjson三方库说明 +## 功能简介 +RapidJson是一个跨平台的c++的json的解析器和生成器。 +## 使用约束 +- ROM版本:OpenHarmony-v3.2-Beta1 +- 三方库版本:v1.1.0 +- 当前适配的功能:支持json数据的解析和生成。 +- [MIT license](https://github.com/Tencent/rapidjson/blob/master/license.txt) +## 集成方式 ++ [系统Rom包集成](docs/rom_integrate.md) diff --git a/rapidjson/bundle.json b/rapidjson/bundle.json new file mode 100644 index 00000000..25df091c --- /dev/null +++ b/rapidjson/bundle.json @@ -0,0 +1,57 @@ +{ + "name": "@ohos/rapidjson", + "description": "A fast JSON parser/generator for C++ with both SAX/DOM style API", + "version": "v1.1.0", + "license": "MIT license", + "publishAs": "", + "segment": { + "destPath": "third_party/rapidjson" + }, + "dirs": {}, + "scripts": {}, + "readmePath": { + "en": "README" + }, + "component": { + "name": "rapidjson", + "subsystem": "thirdparty", + "syscap": [], + "features": [], + "adapted_system_type": ["standard"], + "rom": "", + "ram": "", + "deps": { + "components": [], + "third_party": [] + }, + "build": { + "sub_component": ["//third_party/rapidjson:rapidjson_gtest", + "//third_party/rapidjson:rapidjson_gtest_main", + "//third_party/rapidjson:rapidjson_gmock", + "//third_party/rapidjson:rapidjson_gmock_main", + "//third_party/rapidjson:namespacetest", + "//third_party/rapidjson:archivertest", + "//third_party/rapidjson:capitalize", + "//third_party/rapidjson:condense", + "//third_party/rapidjson:filterkey", + "//third_party/rapidjson:filterkeydom", + "//third_party/rapidjson:jsonx", + "//third_party/rapidjson:lookaheadparser", + "//third_party/rapidjson:messagereader", + "//third_party/rapidjson:parsebyparts", + "//third_party/rapidjson:pretty", + "//third_party/rapidjson:prettyauto", + "//third_party/rapidjson:schemavalidator", + "//third_party/rapidjson:serialize", + "//third_party/rapidjson:simpledom", + "//third_party/rapidjson:simplereader", + "//third_party/rapidjson:simplepullreader", + "//third_party/rapidjson:simplewriter", + "//third_party/rapidjson:sortkeys", + "//third_party/rapidjson:tutorial", + "//third_party/rapidjson:unittest"], + "inner_kits": [], + "test": [] + } + } +} diff --git a/rapidjson/docs/pic/result.png b/rapidjson/docs/pic/result.png new file mode 100644 index 0000000000000000000000000000000000000000..beb5898ab532d621290f844e999d87bd692ff1b9 GIT binary patch literal 49129 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 z