Consider having arti publish a library, and abolishing arti-config
A cargo package can contain both a library crate (useable as a cargo depedndency by other packages), use
lines, and so forth; and an executable crate. This is achieved quite simply by providing both a lib.rs
and a main.rs
.
It is good practice, when one wants to make things reusable, to use this arrangement, with the main.rs
being very small and merely assembling the appropriate pieces. Someone who wants to make a similar executable with different behaviour has all the pieces conveniently available.
This should be done to the arti
package. When #374 (closed) is done, the arti-config
crate will contain only option parsing and config details specific to the arti executable. That code should probably then be moved into crates/arti/
's library section.
This is part of #285 (closed)