dotnet / dotnet/core

Consider generating `releases-index.json` schema with .NET 9

Open
#9,418 2 comments 2 reactions 0 assignees View on GitHub
area-release-notes
Dominant language
PowerShell
Stars
22k
Forks
4.9k
Avg merge
5d 5h
Merged PRs (30d)
29

Description

I read about the new [JsonSchemaExporter](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/libraries#jsonschemaexporter) feature. Sounds great.

I also noticed that our JSON schema was generated with different tools and is perhaps out of date.

- https://github.com/dotnet/core/blob/main/release-notes/releases-index.json#L2
- https://json.schemastore.org/dotnet-releases-index.json

I took a quick stab at generating a schema using this new feature. It works and I think I was able to do a decent job at replicating much of the original schema.

- Object model: https://github.com/richlander/distroessed/blob/linux-packages/src/DotnetRelease/ReleaseIndexRecords.cs
- Generation code: https://github.com/richlander/distroessed/blob/linux-packages/src/GenerateJsonSchemas/Program.cs
- Result: https://gist.github.com/richlander/b05c5d6d7147ccf6d5ba04640b8aec39

Should we switch to using our own tools to generate all of our JSON schemas?

My eventual plan is to share all of this code in a more central place, particularly the [DotnetRelease project](https://github.com/richlander/distroessed/tree/linux-packages/src/DotnetRelease). For many users, I think this project would satisfy pretty much all their needs. Perhaps we could include that in this repo.

@leecow @joeloff @Falco20019 @eiriktsarpalis @nagilson

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.