plustache icon indicating copy to clipboard operation
plustache copied to clipboard

Remove boost dependency

Open kylealanhale opened this issue 10 years ago • 9 comments

The primary purpose of this pull request is to remove the boost regex dependency and use C++11’s regex support instead, as well as providing some custom trim functions to replace boost’s.

Additionally, some refactoring and logic work were done to handle edge cases, especially in the way that multi-line sections and newlines are treated that differ from the ruby implementation. Tests were added for these scenarios.

The travis config was updated to run jobs for both GCC 4.9 and Clang, and both are passing, although GCC’s implementation slightly differed, as you can see in 1304486.

A new Xcode project was also added, with unit tests wired up and passing.

kylealanhale avatar Jun 25 '15 15:06 kylealanhale

Oh wow, this is great! Thank you so much for taking the time to contribute! It will take me some time to look it over but I'm really happy about this.

mrtazz avatar Jun 25 '15 18:06 mrtazz

@kylealanhale Didn't notice that you had already raised these for review! Awesome.

@mrtazz Nice that you have a Travis CI build going for this. It would be great when these changes go in, and I can abandon my fork!

shiva avatar Jul 07 '15 06:07 shiva

@mrtazz Wondering if you have had a chance to consider merging this patch? I'm curious about some of the other branches, and support for CMake based builds, and some other features like "the fix for partial file load" etc.

shiva avatar Jul 25 '15 22:07 shiva

@kylealanhale I left some comments there. Most of it was really just stylistic as I think the code overall looks good. It would be great if you could in general try to make it break lines at 80 chars and remove trailing whitespace as it makes it easier for the next person to contribute regardless of editor/IDE. I also realized that this could all be made explicit in a CONTRIBUTING.md so I'll make sure to add one.

mrtazz avatar Jul 26 '15 00:07 mrtazz

@kylealanhale Would you prefer that I work on the comments provided @mrtazz ? Let me know if you are otherwise pre-occupied, and I will find some time for these changes.

shiva avatar Jul 28 '15 02:07 shiva

@shiva I should be able to knock these out in the next couple of days.

kylealanhale avatar Jul 28 '15 17:07 kylealanhale

Took care of those; let me know if you see anything else. Otherwise, I think this is ready to go.

kylealanhale avatar Jul 30 '15 15:07 kylealanhale

What's your versioning approach? Since this is a substantial change that will break for people who for any reason can't compile with c++11 support, it might warrant a new release. And maybe a 0.3.x release before merging this to catch any recent changes, which might be useful for anyone that wants to use the old Boost version.

kylealanhale avatar Jul 30 '15 18:07 kylealanhale

@kylealanhale yea that's a good point. I wanted to make it a new release anyways. I'll check what we have in master since the last release and will tag one before merging. Thanks again for doing all this work!

mrtazz avatar Aug 01 '15 16:08 mrtazz