On Tue, 31 Mar 2015 21:29:37 GMT, Rene Zwanenburg wrote:

I often find myself adding a dependency on vibe just for it's Json serialization, however I'd prefer not to pull in the entire library for a number of reasons. The existence of the vmeta [0] package shows I'm not the only one.

Putting vibe.data and vibe.internal in subpackages is quite straightforward: vibe.internal has no dependencies on other packages, and vibe.data only depends on vibe.internal (except for three imports of vibe.core.log. Two are unused [1][2], the other one looks like cruft from a debugging session [3]).

I understand if you don't want vibe split into subpackages, but if you are in favor I'd gladly do the work.

[0] http://code.dlang.org/packages/vmeta
[1] https://github.com/rejectedsoftware/vibe.d/blob/master/source/vibe/data/bson.d#L11
[2] https://github.com/rejectedsoftware/vibe.d/blob/master/source/vibe/data/json.d#L845
[3] https://github.com/rejectedsoftware/vibe.d/blob/master/source/vibe/data/json.d#L1625

See https://github.com/rejectedsoftware/vibe.d/blob/subpackages/dub.json. The major problem is that this is currently blocked by a bug in DUB (will be fixed with the next release later this week). Before this can be made public, we'd have to wait at least for one more DUB release to avoid breaking too many builds.