Replace boost property tree with compact header-only dependencies
C++ Dependency Injection
Brought to you by:
daniele77
Originally created by: d.ledent...@gmail.com
Originally owned by: daniele....@gmail.com
When using json configuration, Boost is needed as a dependency. That might be good for smart pointers in case of c++03, however, the whole metaprogramming magic is not needed for "simple" json or xml parsing. One could substitute the json parser for picojson (https://github.com/kazuho/picojson) and the xml parser with RapidXml (http://rapidxml.sourceforge.net), since both are very easily deployable as single-header-only libraries.
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: daniele....@gmail.com
I agree: removing the boost dependency would be desirable.
However, if we embed a single-header libray in wallaroo, we need to consider the licensing issues. While rapidxml is licensed under the BOOST LICENSE (the same of wallaroo), picojson seems to use a BSD 2-clause license: this would force wallaroo users to include the BSD license text in their documentation.
I'd prefer to release everything under the BOOST LICENSE.
What do you think about this issue? Do you know other json libraries I can embed in wallaroo?
Besides, I have not yet evaluated the development effort of this replacement.
Please note that I'm working on the attributes feature (see this wiki page: https://code.google.com/p/wallaroo/wiki/CtorParameters): this new enhancement uses xml and json parser...
Labels: -Type-Defect -Priority-Medium Type-Enhancement Priority-Low
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: daniele....@gmail.com
(No comment was entered for this change.)
Owner: daniele....@gmail.com
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: d.ledent...@gmail.com
Hi Daniele,
Sure, the BSD 2-clause license would need a distribution of its copy, but I'm not sure if poses a big problem. If you know of wallaroo users who would have this problem, it would be interesting to investigate the reasons. If the problem does not exist, as in, nobody de facto has a problem with the license change, then it shouldn't matter much.
If it still matters, one could do an adapter as you did with the smart pointers and platforms for dynamic libraries, or use another JSON library (https://github.com/search?q=header+only+json&ref=cmdform)
I'll try to take a look at the necessary changes as well if I find time
View and moderate all "tickets Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Tickets"
Originally posted by: d.ledent...@gmail.com
hm, MIT https://code.google.com/p/rapidjson/