Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Split projects into more composible pieces of functionality #61

Open
josh-green opened this issue Jun 14, 2018 · 0 comments
Open

Split projects into more composible pieces of functionality #61

josh-green opened this issue Jun 14, 2018 · 0 comments
Labels
breaking A breaking change enhancement A new feature, or an improvement to an existing feature refactor A change in implementation that doesn't change the API.

Comments

@josh-green
Copy link
Contributor

josh-green commented Jun 14, 2018

The current project structure means that if someone wants to use a certian formatting utility, they have to have the entire Utilities project as a dependency even if no other parts of it will be used.
Instead, there should be a barebones 'Utilities.Core' project, with a Utilities.Formatting project being dependant on that, and more specific Formatting projects being dependant on that etc.

To maintain some backwards compatibility, Meta packages could be generated that pull in the projects that are currently tied together. In this format, there would be a WebApplications.Utilities NuGet that would bundle together Core, Formatting, Scheduling etc. This would be handy to avoid the hassle of picking individual NuGets to get the same functionality they previously had. Nice to have but not required.

This is also a good chance to normalise the NuGet/project dependencies to get a proper CI pipeline going (out of scope for this issue but related).

@thargy thargy added breaking A breaking change enhancement A new feature, or an improvement to an existing feature refactor A change in implementation that doesn't change the API. labels Jun 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking A breaking change enhancement A new feature, or an improvement to an existing feature refactor A change in implementation that doesn't change the API.
Projects
None yet
Development

No branches or pull requests

2 participants