Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Migrate to a Cargo workspace, to keep library and binary distinct #295

Closed
3 tasks done
Xophmeister opened this issue Feb 14, 2023 · 0 comments · Fixed by #368
Closed
3 tasks done

Migrate to a Cargo workspace, to keep library and binary distinct #295

Xophmeister opened this issue Feb 14, 2023 · 0 comments · Fixed by #368

Comments

@Xophmeister
Copy link
Member

Xophmeister commented Feb 14, 2023

Is your feature request related to a problem? Please describe.
Many of the dependencies and functionality are relevant only to the Topiary library or binary, but rarely both (besides transitive dependency). It will make the code more maintainable, as additional functionality and adjacent tools are developed, to demarcate a clear separation.

Describe the solution you'd like
In #294, I have restructured the binary's source files, such that they have their own directory. This allows for binary-only modules to sit alongside it, rather than polluting the library namespace. This is a halfway-house to using Cargo workspaces, which will additionally allow the separation of dependencies (e.g., the library doesn't care about tempfile, etc.) and the isolation of any future tools (e.g., debuggers, visualisers, playground, etc.).

Describe alternatives you've considered
n/a

Additional context
The Cargo workspace should, in principle, be straightforward to configure. It wasn't added as part of #294 because it requires additional work to be compatible with the Nix setup.

A workspace may also be prerequisites (or, at least, highly desirable) for #137 and #171


Tracking

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant