OpenCyphal / pydsdl

Cyphal DSDL processing front end implemented in Python
https://opencyphal.org
MIT License
10 stars 9 forks source link

Adding support for file-based reads and externalized type dependencies #102

Closed thirtytwobits closed 3 months ago

thirtytwobits commented 3 months ago

This is non-breaking change that adds a new public method:

read_files - a file-oriented entry point to the front end. This takes a list of target DSDL files allowing the user to maintain an explicit list instead of depending on globular filesystem discovery. Furthermore this method returns a set which is the transitive closure of types depended on by the target list of types. This allows consumers to track dependencies and compiler back ends to generate .d files and otherwise support incremental builds.

The new method may increase performance for systems with large pools of messages when generating code for a small sub-set as it only considers the target and dependencies of the target when parsing dsdl files.

thirtytwobits commented 3 months ago

Not sure what to do about the rtd failure?