-
Notifications
You must be signed in to change notification settings - Fork 61
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
Versioning #53
Comments
We are aware of the versioning and we actually plan to provide the information via the JSON schema. For example
For a release branch/tag |
👍 I have something similar setup at https://github.com/abaplint/schema.abaplint.org I think each object should be versioned independently, eg. if there are changes to INTF and not CLAS, I would expect CLAS to keep the old version number. Or we might end up in a situation where the schema number changes more often in the files than the actual content |
Hi Lars, good point. So we most likely will adopt the versioning to
with kind of rolling tip to Note: Branching or tagging as mentionen in #14 does not apply to this type of versioning. |
I agree. The version of a schema should be schema-specific. Otherwise, the versions will heavily increase and we have to update the version number for object types that have not been changed at all. @albertmink I am not sure whether we should need semantic versioning for each resource. E.g., ADT has just a version counter per resource that is increased whenever it is necessary due to incompatible changes. Compatible changes are not reflected in the version number there. |
Possible Solutions: |
Simple conditional versioning, see https://github.com/larshp/json-versioning Each version can be a
|
when #109 is done, we can add a small script that builds the super schema and pushes to each PR |
Just some notes related to versioning:
I personally, don't prefer approach (c), because it leads to changes in the file name when the format version changes. I am not aware of a standard way to indicate format versions in JSON files. If anybody knows a standard, please share it here. ;) Approaches
|
I have just seen that https://www.schemastore.org/json/ refers in some cases to schemas stored in GitHub repositories. Example For Azure Pipelines the schema is stored at https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/v1.174.2/service-schema.json) and the schema specifies |
Regarding tooling in VS Code: |
We decided to drop With this change, the data is independent of (possible) URI changes and the consumer has to link the data to the desired JSON schema. |
Technical question: Should the Quote from JSON Schema: The We could simply replace the JSON schema line
by
Data has not to be adjusted. |
I think we can start with If we want to have a schema valid for multiple versions in the future, we could change it to enum. I would expect this as a compatible change to the schema. |
the deprecation keyword could be used for the user to discover that there is a new version but currently not implemented in vscode, microsoft/vscode-json-languageservice#87 |
Change is constant, so over time, some fields in the JSON schemas might be moved/removed/added
Any considerations regarding versioning? eg. does a JSON file follow the old or new schema of an object
in abapGit we add https://github.com/abapGit-tests/VIEW/blob/main/src/zag_unit_testv.view.xml#L2 so that its possible for the code reading the file can make assumptions regarding the content
The text was updated successfully, but these errors were encountered: