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
,ModelWriter
traits, andAction
,Linter
, andValidator
traits. - assembler; provides the ability to load multiple files, in supported representations, and merge into a single
semantic model. The
ModelAssembler
, along with theFileTypeRegistry
andSearchPath
are intended to support tools that process models, not just files. - smithy; contains implementations of the
ModelReader
andModelWriter
traits for the Smithy IDL representation. - json; contains implementations of the
ModelReader
andModelWriter
traits for the JSON AST representation. - query; will contain the implementation of selector expressions as queries.
- describe; contains an implementation of the
ModelWriter
traits that generates formatted documentation. - rdf; contains an implementation of the
ModelWriter
traits 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.