This repo contains implementations of OMG IDL specifications used by Foxglove. The parsers expect schemas according to the MCAP specifications: ros2idl, omgidl.
Package name | Description | Reference | Version |
---|---|---|---|
@foxglove/omgidl-parser |
Parse OMG IDL schemas – README | Interface Definition Language Specification | |
@foxglove/omgidl-serialization |
De/Serialize data using IDL to CDR and CDR2 – README | Extensible and Dynamic Types for DDS Specification | |
@foxglove/ros2idl-parser |
Parse the ROS 2 dialect of IDL – README | article, repo |
See known limitations here: Parser/Grammar Limitations Serialization Limitations
corepack enable
yarn install
If it's your first time building, you'll need to run yarn build
.
Then to run test cases across all packages run yarn test
from the root directory.
Note: to ensure that tests from a downstream in-repo dependency are running against the latest upstream version of code, you'll have to run yarn build
every time you change the upstream dependency.
The dependency flow is as follows:
@foxglove/omgidl-serialization
depends on @foxglove/omgidl-parser
@foxglove/ros2idl-parser
depends on @foxglove/omgidl-parser
@foxglove/omgidl-parser
-> omgidl-parser/vX.X.X
@foxglove/omgidl-serialization
-> omgidl-serialization/vX.X.X
@foxglove/ros2idl-parser
-> ros2idl-parser/vX.X.X
@foxglove/omgidl-parser
to v1.2.1
you would add the corresponding git tag by running git tag omgidl-parser/v1.2.1
. For updating multiple packages on a single commit you can add multiple tags: git tag omgidl-parser/v1.2.1 omgidl-serialization/v1.1.3
.git push origin refs/tags/<tag>
to push the specific tag to the remoteJoin our Slack channel to ask questions, share feedback, and stay up to date on what our team is working on.
foxglove/omgidl and its packages are licensed under the MIT License.