Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable CI builds #18

Merged
merged 12 commits into from
May 26, 2022
Merged

Enable CI builds #18

merged 12 commits into from
May 26, 2022

Conversation

idg10
Copy link
Contributor

@idg10 idg10 commented May 20, 2022

  • add submodule for JSON Schema test suite
  • modified default test settings to use schema files from submodule
  • added pipelines and scripted build
  • removed local settings files from repo
  • disabled automatic building of benchmark code on each test execution

* add submodule for JSON Schema test suite
* modified default test settings to use schema files from submodule
* added pipelines and scripted build
* removed local settings files from repo
* disabled automatic building of benchmark code on each test execution
@idg10 idg10 self-assigned this May 20, 2022
@idg10
Copy link
Contributor Author

idg10 commented May 25, 2022

Currently we have these packages:

Name Usage
Corvus.Json.ExtendedTypes .NET types representing typed JSON values with specializations such as JsonDateTime and JsonUuid
Corvus.Json.JsonSchema Generated object model for JSON Schema (currently 2019-09 and 2020-12 drafts)
Corvus.Json.JsonSchema.TypeBuilder Generates .NET source code from JSON Schemas
Corvus.Json.JsonSchema.TypeGeneratorTool Command line tool wrapper around Corvus.Json.JsonSchema.TypeBuilder
Corvus.Json.Walker Walks JSON documents, with support for references
Corvus.JsonHelpers Utilities for working with JSON

I'm not sure Corvus.JsonHelpers should really exist. Only Corvus.Json.ExtendedTypes uses it. That library exposes EncodedContentMediaTypeParseStatus through one public member, and consumes JsonConstants and JsonReaderHelper as an implementation detail. It feels like putting this into a published library puts us on the hook for ongoing support for what should really be internal implementation details.

Note: we had a bit of a mixture of names starting Corvus.Json, Corvus.Json.SchemaSomething, and Corvus.JsonSchema.Something. For the packaged projects, I've gone with a consistent Corvus.Json prefix on everything (except Corvus.JsonHelpers which I'm not sure should exist) and a Corvus.Json.JsonSchema prefix for things concerned specifically with JSON Schema.

idg10 added 2 commits May 25, 2022 15:54
Moved the handful of bits we're using into Corvus.Json.ExtendedTypes
@idg10
Copy link
Contributor Author

idg10 commented May 25, 2022

OK, that last commit takes us down to this:

Name Usage
Corvus.Json.ExtendedTypes .NET types representing typed JSON values with specializations such as JsonDateTime and JsonUuid
Corvus.Json.JsonSchema Generated object model for JSON Schema (currently 2019-09 and 2020-12 drafts)
Corvus.Json.JsonSchema.TypeBuilder Generates .NET source code from JSON Schemas
Corvus.Json.JsonSchema.TypeGeneratorTool Command line tool wrapper around Corvus.Json.JsonSchema.TypeBuilder
Corvus.Json.Walker Walks JSON documents, with support for references

@idg10 idg10 marked this pull request as ready for review May 25, 2022 16:01
@idg10 idg10 merged commit 6f63054 into main May 26, 2022
@mwadams mwadams deleted the feature/test-suite-via-submodule branch September 7, 2023 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants