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

feat: support more keywords and improve conversion results for complex json schema #216

Merged
merged 8 commits into from
Jan 15, 2024

Conversation

jakezhu9
Copy link
Contributor

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

  • N
  • Y

fix #200

2. What is the scope of this PR (e.g. component or file name):

pkg/tools/gen

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Other

Support oneOf, allOf and patternProperties keywords, improve conversion results for $ref and so on. Now we shuold get a better result when importing from complex json schema.

I try use it to convert the josn schema of github workflow (pkg/tools/gen/testdata/jsonschema/complex-workflow/expect.k), and use the result to check a workflow (pkg/tools/gen/testdata/yaml/workflow/expect.k). After fixing some attribute name with - (working-directory -> working_directory, runs-on->runs_on), everything works fine!

image

Of course, the processing of some keywords (such as allOf) is not perfect yet, and we can improve it in the future.

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

  • N
  • Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

  • Unit test
  • Integration test
  • Benchmark (add benchmark stats below)
  • Manual test (add detailed scripts or steps below)
  • Other

@jakezhu9 jakezhu9 requested a review from Peefy January 15, 2024 14:33
pkg/tools/gen/template.go Outdated Show resolved Hide resolved
@coveralls
Copy link

coveralls commented Jan 15, 2024

Pull Request Test Coverage Report for Build 7530613143

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.9%) to 63.744%

Totals Coverage Status
Change from base Build 7529058980: 0.9%
Covered Lines: 3024
Relevant Lines: 4744

💛 - Coveralls

@Peefy
Copy link
Contributor

Peefy commented Jan 15, 2024

Good Job! LGTM!

Copy link
Contributor

@Peefy Peefy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Peefy Peefy merged commit b5f04ee into kcl-lang:main Jan 15, 2024
7 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bug: Error Json schema import output for Github workflow. support Go API for GetSchemaTypeMapping
3 participants