Vicente J. Botet Escriba wrote: Le 15/06/14 12:48, Andrey Semashev a écrit :
The approach of extracting glue headers to separate submodules is not scalable. We have many other libraries using the same approach to optional dependencies.
Why? I don't see why I would depend on Serialization if I don't use it even if I use DateTime. IMHO, it is up to the client of the serialization of the DateTime types to use the DateTime.Serialization sub-module.
What others think?
I think that Vicente is right in this case. Moving serialization support to a submodule of DateTime will make the dependency report nicer _and_ it will actually be correct from the perspective of an automatic downloader. If you use DateTime, you'll get the DateTime repo, along with the serialization support, but you will not get the Serialization repo (and its dependencies) if you don't use Serialization. And this is exactly as it should be, unless I'm missing something subtle. It seems to me that this is a legitimate use of sub-sub-modules.