-
Notifications
You must be signed in to change notification settings - Fork 7
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: Add support for message type generation from Json schemas #77
feat: Add support for message type generation from Json schemas #77
Conversation
The basis is I think great. What kind of features do we want to ensure before merging this? Like you already mentioned are the links to the other schemas/tables. But apart from that some of the things I see when generating the tables:
I would suggest to make sure the tables are a bit more elaborate before including them in the spec, which can be done in separate PRs. |
Yes I agree. @arnoweiss and I talked about this and came to the same conclusion. How about this approach:
Let me know what you think. |
Sound like a good approach |
The generation process can be run by specifying the `generateTablesFromSchemas` task: | ||
|
||
``` | ||
./gradlew generateTablesFromSchemas |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This worked alright - additional feature requests are filed.
181ae8f
into
eclipse-dataspace-protocol-base:main
What this PR changes/adds
This PR generates HTML tables containing relevant type information (e.g., required and optional properties) for all DSP messages. The HTML tables are generated by a custom Gradle Plugin that parses the DSP schemas at build-time. The generated tables may then be directly included in ReSpec markdown.
The PR introduces the plugin and Json Schema Object Model parser thatis used to generate the tables. Subsequent PRs will include the generated tables in the specification text and remove the relevant PNG images and manually-created type information.
Support for
$comment
ordescription
still needs to be added. That can be done in another PR.The plugin could be enhanced to provide hyperlinks for referenced type information. For example, a
MessageOffer
references theOffer
type. The plugin could include a hyperlink directly to theOffer
definition. We need to decide on the conventions for doing this.Why it does that
Enhances spec consistency and reduces the chance for errors.
Further notes
List other areas of the documents that have changed but are not necessarily linked to the main feature. This could be editorial changes or mistakes in example files that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #62