📚 Getting Started
The wdl family of crates consists of (a) a number of component crates (any
crate that is not explicitly wdl) that are developed and versioned
independently, and (b) a convenience crate (the wdl crate) that exists to ease
syncing compatible component crates versions. Component crates can be enabled
using features and are generally re-exported crates without the wdl- (or
wdl_) prefix.
Convenience Crate
Most users should prefer selecting a version of the convenience crate and enabling features as they wish. For example,
and then
use grammar;
Component Crate(s)
You are free to include component crates directly. For example,
and then
use wdl_grammar;
Be aware, however, that versions between component crates are explicitly not compatible. In other words, if you choose not to use the convenience crate, it is not simple to derive which crate versions are compatible, and you'll need to manually sync those. We highly recommend using the convenience crate if you intend to use more than one component crate in conjunction.
🖥️ Development
To bootstrap a development environment, please use the following commands.
# Clone the repository
# Build the crate in release mode
# List out the examples
🚧️ Tests
Before submitting any pull requests, please make sure the code passes the following checks (from the root directory).
# Run the project's tests.
# Ensure the project doesn't have any linting warnings.
# Ensure the project passes `cargo fmt`.
# Ensure the docs build.
🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check issues page.
📝 License
This project is licensed as either Apache 2.0 or MIT at your discretion.
Copyright © 2023-Present St. Jude Children's Research Hospital.