Crate structure
The following figure shows the current set of crates and their dependencies. For most tools it is easiest to simply
rely on the lib crate in the same way the cargo crate does in the figure below.
1.8: Crates
- core; contains the core model and framework elements such as the
ModelReader,ModelWritertraits, andAction,Linter, andValidatortraits. - assembler; provides the ability to load multiple files, in supported representations, and merge into a single
semantic model. The
ModelAssembler, along with theFileTypeRegistryandSearchPathare intended to support tools that process models, not just files. - smithy; contains implementations of the
ModelReaderandModelWritertraits for the Smithy IDL representation. - json; contains implementations of the
ModelReaderandModelWritertraits for the JSON AST representation. - query; will contain the implementation of selector expressions as queries.
- describe; contains an implementation of the
ModelWritertraits that generates formatted documentation. - rdf; contains an implementation of the
ModelWritertraits for an RDF representation. - openapi; will contain the transformation to open API.
- lib; a combined, single dependency, crate for clients that want to use a lot of the Atelier functionality.
- cargo; the cargo command for Smithy file processing.