Moving each provider into its own Nuget package has a few advantages:
Easier to navigate
Enforces separation of concerns - cross-DAO stuff cannot reference any Relativity-specific DLLs
Allows different implementations to set different Relativity requirements (for example, an ExportAPI provider would set a minimum version of 9.7; SqlDao doesn't need ObjectManager
Allows for targeting platforms that Relativity doesn't get (such as a pure REST-based implementation that world work on .NET core)
We should have:
A core Gravity.Core package with common logic and models
Separate packages for each provider
A Gravity metapackage that will install all of the other packages (providing backwards compatibility for referencers)
Moving each provider into its own Nuget package has a few advantages:
We should have: