Skip to content

Commit d509fdf

Browse files
authored
Upgrade Core and include Blaze (#910)
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
1 parent 2fe6502 commit d509fdf

382 files changed

Lines changed: 66819 additions & 3627 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,12 @@ jobs:
109109
- run: >
110110
cmake --install ./build --prefix ./build/dist --config Release --verbose
111111
--component sourcemeta_core_dev
112+
- run: >
113+
cmake --install ./build --prefix ./build/dist --config Release --verbose
114+
--component sourcemeta_blaze
115+
- run: >
116+
cmake --install ./build --prefix ./build/dist --config Release --verbose
117+
--component sourcemeta_blaze_dev
112118
- run: >
113119
cmake --install ./build --prefix ./build/dist --config Release --verbose
114120
--component sourcemeta_jsonbinpack

CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ option(JSONBINPACK_ADDRESS_SANITIZER "Build JSON BinPack with an address sanitiz
1818
option(JSONBINPACK_UNDEFINED_SANITIZER "Build JSON BinPack with an undefined behavior sanitizer" OFF)
1919

2020
find_package(Core REQUIRED)
21+
find_package(Blaze REQUIRED)
2122

2223
if(JSONBINPACK_INSTALL)
2324
include(GNUInstallDirs)
@@ -36,9 +37,6 @@ if(JSONBINPACK_INSTALL)
3637
COMPONENT sourcemeta_jsonbinpack_dev)
3738
endif()
3839

39-
# Dependencies
40-
find_package(Core REQUIRED)
41-
4240
# Numeric
4341
if(JSONBINPACK_NUMERIC)
4442
add_subdirectory(src/numeric)

DEPENDENCIES

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
vendorpull https://github.com/sourcemeta/vendorpull 1dcbac42809cf87cb5b045106b863e17ad84ba02
2-
core https://github.com/sourcemeta/core 57e8c91ed68e3ee903526fd2f45cb16ca46759d8
2+
core https://github.com/sourcemeta/core efaed8a73fa1ba38f0c2fdcbd11d0b3223c5a70e
3+
blaze https://github.com/sourcemeta/blaze 0ff98cb5e537f571bdf04f0d59a031a0d8634e07
34
bootstrap https://github.com/twbs/bootstrap 1a6fdfae6be09b09eaced8f0e442ca6f7680a61e

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ compile: .always
2727
--component sourcemeta_core
2828
$(CMAKE) --install ./build --prefix ./build/dist --config $(PRESET) --verbose \
2929
--component sourcemeta_core_dev
30+
$(CMAKE) --install ./build --prefix ./build/dist --config $(PRESET) --verbose \
31+
--component sourcemeta_blaze
32+
$(CMAKE) --install ./build --prefix ./build/dist --config $(PRESET) --verbose \
33+
--component sourcemeta_blaze_dev
3034
$(CMAKE) --install ./build --prefix ./build/dist --config $(PRESET) --verbose \
3135
--component sourcemeta_jsonbinpack
3236
$(CMAKE) --install ./build --prefix ./build/dist --config $(PRESET) --verbose \

cmake/FindBlaze.cmake

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
if(NOT Blaze_FOUND)
2+
if(JSONBINPACK_INSTALL)
3+
set(SOURCEMETA_BLAZE_INSTALL ON CACHE BOOL "enable installation")
4+
else()
5+
set(SOURCEMETA_BLAZE_INSTALL OFF CACHE BOOL "disable installation")
6+
endif()
7+
8+
set(BLAZE_TEST OFF CACHE BOOL "disable")
9+
set(BLAZE_CONFIGURATION OFF CACHE BOOL "disable")
10+
set(BLAZE_CONTRIB OFF CACHE BOOL "disable")
11+
add_subdirectory("${PROJECT_SOURCE_DIR}/vendor/blaze")
12+
include(Sourcemeta)
13+
set(Blaze_FOUND ON)
14+
endif()

cmake/FindCore.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ if(NOT Core_FOUND)
1010
set(SOURCEMETA_CORE_GZIP OFF CACHE BOOL "disable")
1111
set(SOURCEMETA_CORE_MD5 OFF CACHE BOOL "disable")
1212
set(SOURCEMETA_CORE_JSONL OFF CACHE BOOL "disable JSONL support")
13-
set(SOURCEMETA_CORE_YAML OFF CACHE BOOL "disable YAML support")
13+
set(SOURCEMETA_CORE_YAML ON CACHE BOOL "needed by Blaze")
1414
set(SOURCEMETA_CORE_EXTENSION_OPTIONS OFF CACHE BOOL "disable")
1515
set(SOURCEMETA_CORE_EXTENSION_BUILD OFF CACHE BOOL "disable")
1616
set(SOURCEMETA_CORE_CONTRIB_GOOGLETEST ${JSONBINPACK_TESTS} CACHE BOOL "GoogleTest")

config.cmake.in

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ if(NOT JSONBINPACK_COMPONENTS)
1010
endif()
1111

1212
include(CMakeFindDependencyMacro)
13-
find_dependency(Core COMPONENTS regex uri json jsonpointer jsonschema alterschema)
13+
find_dependency(Core COMPONENTS regex uri json jsonpointer jsonschema)
14+
find_dependency(Blaze COMPONENTS alterschema)
1415

1516
foreach(component ${JSONBINPACK_COMPONENTS})
1617
if(component STREQUAL "numeric")

src/compiler/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ target_link_libraries(sourcemeta_jsonbinpack_compiler PRIVATE
3131
target_link_libraries(sourcemeta_jsonbinpack_compiler PUBLIC
3232
sourcemeta::core::jsonschema)
3333
target_link_libraries(sourcemeta_jsonbinpack_compiler PRIVATE
34-
sourcemeta::core::alterschema)
34+
sourcemeta::blaze::alterschema)

src/compiler/compiler.cc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
#include <sourcemeta/jsonbinpack/compiler.h>
22
#include <sourcemeta/jsonbinpack/numeric.h>
33

4-
#include <sourcemeta/core/alterschema.h>
4+
#include <sourcemeta/blaze/alterschema.h>
55
#include <sourcemeta/core/jsonpointer.h>
66

77
#include "encoding.h"
88

99
#include <cassert> // assert
1010
#include <type_traits> // std::true_type
1111

12-
static auto
13-
transformer_callback_noop(const sourcemeta::core::Pointer &,
14-
const std::string_view, const std::string_view,
15-
const sourcemeta::core::SchemaTransformRule::Result &,
16-
[[maybe_unused]] const bool applied) -> void {
12+
static auto transformer_callback_noop(
13+
const sourcemeta::core::Pointer &, const std::string_view,
14+
const std::string_view,
15+
const sourcemeta::blaze::SchemaTransformRule::Result &,
16+
[[maybe_unused]] const bool applied) -> void {
1717
assert(applied);
1818
}
1919

@@ -23,9 +23,9 @@ auto canonicalize(sourcemeta::core::JSON &schema,
2323
const sourcemeta::core::SchemaWalker &walker,
2424
const sourcemeta::core::SchemaResolver &resolver,
2525
const std::string_view default_dialect) -> void {
26-
sourcemeta::core::SchemaTransformer canonicalizer;
27-
sourcemeta::core::add(canonicalizer,
28-
sourcemeta::core::AlterSchemaMode::Canonicalizer);
26+
sourcemeta::blaze::SchemaTransformer canonicalizer;
27+
sourcemeta::blaze::add(canonicalizer,
28+
sourcemeta::blaze::AlterSchemaMode::Canonicalizer);
2929
[[maybe_unused]] const auto result =
3030
canonicalizer.apply(schema, walker, make_resolver(resolver),
3131
transformer_callback_noop, default_dialect);
@@ -63,7 +63,7 @@ auto compile(sourcemeta::core::JSON &schema,
6363
const std::string_view default_dialect) -> void {
6464
canonicalize(schema, walker, resolver, default_dialect);
6565

66-
sourcemeta::core::SchemaTransformer mapper;
66+
sourcemeta::blaze::SchemaTransformer mapper;
6767

6868
// Enums
6969
mapper.add<Enum8Bit>();

src/compiler/mapper/enum_8_bit.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// TODO: Unit test this mapping once we have container encodings
2-
class Enum8Bit final : public sourcemeta::core::SchemaTransformRule {
2+
class Enum8Bit final : public sourcemeta::blaze::SchemaTransformRule {
33
public:
44
using mutates = std::true_type;
55
using reframe_after_transform = std::true_type;
6-
Enum8Bit() : sourcemeta::core::SchemaTransformRule{"enum_8_bit", ""} {};
6+
Enum8Bit() : sourcemeta::blaze::SchemaTransformRule{"enum_8_bit", ""} {};
77

88
[[nodiscard]] auto
99
condition(const sourcemeta::core::JSON &schema,
@@ -13,7 +13,7 @@ class Enum8Bit final : public sourcemeta::core::SchemaTransformRule {
1313
const sourcemeta::core::SchemaFrame::Location &location,
1414
const sourcemeta::core::SchemaWalker &,
1515
const sourcemeta::core::SchemaResolver &) const
16-
-> sourcemeta::core::SchemaTransformRule::Result override {
16+
-> sourcemeta::blaze::SchemaTransformRule::Result override {
1717
return location.dialect == "https://json-schema.org/draft/2020-12/schema" &&
1818
vocabularies.contains(sourcemeta::core::Vocabularies::Known::
1919
JSON_Schema_2020_12_Validation) &&
@@ -24,7 +24,7 @@ class Enum8Bit final : public sourcemeta::core::SchemaTransformRule {
2424
}
2525

2626
auto transform(sourcemeta::core::JSON &schema,
27-
const sourcemeta::core::SchemaTransformRule::Result &) const
27+
const sourcemeta::blaze::SchemaTransformRule::Result &) const
2828
-> void override {
2929
auto options = sourcemeta::core::JSON::make_object();
3030
options.assign("choices", schema.at("enum"));

0 commit comments

Comments
 (0)