kaitai-io / kaitai_struct

Kaitai Struct: declarative language to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Nim / Perl / PHP / Python / Ruby
https://kaitai.io
4.04k stars 199 forks source link

add ksy_schema as submodule #1101

Open rotu opened 7 months ago

GreyCat commented 7 months ago

@rotu, can you elaborate what is the objective we're trying to achieve here?

E.g. if we plan to release that schema as part of compiler installation, it will be probably better to include it into compiler rather than into the full build?

generalmimon commented 7 months ago

I'm also not sure about this change. I don't think every kaitai-io repo needs to be a submodule of kaitai_struct.

Maybe it's somewhat good for visibility to add ksy_schema (doc is already here, and ksy_schema is not that far from that, but doc is arguably much more important and core repo of the project than ksy_schema), but a bit weird.

rotu commented 7 months ago

Ya. My objective here is solely DX. When searching the codebase for a keyword, I want to search the schema as well which is easier if they have a common root.

That said, I don’t get the benefit of splitting the project across so many repos. For example, it precludes implementing a new compiler feature, adding it to the schema and creating tests in a common PR.

rotu commented 7 months ago

BTW, kaitai_struct_doc already depends on the schema, where it is not explicitly versioned.

I do think of the schema as a sort of "executable documentation", but I don't quite know how to correctly keep it in sync with both the compiler and the docs.

Suggestions welcome!