lightbend-labs / dbuild

Multi-project build tool, based on sbt.
https://lightbend-labs.github.io/dbuild
Other
83 stars 14 forks source link

Wip newconfig #23

Closed cunei closed 11 years ago

cunei commented 11 years ago

This pull request integrates the Jacks JSON parsing library (somewhat customized to our needs) into the dbuild code. That allows for the removal of a substantial amount of hand-written code, and improves the robustness of config parsing. In the process, a few other tweaks are introduced, in preparation for further work on sbt versioning.

The relevant library code is available at https://github.com/cunei/jacks

jsuereth commented 11 years ago

Wow, so I'm very happy with the amount of lame code you were able to remove.

The "joining" of build system specific config into one uber-object I'm on the fence on. If you want, we can chat tommorrow in our 1:1 about alternatives, but I don't want that to hold up your work, because "practically" it's not important right now. All build systems will be in the dbuild tool itself and we haven't even entertained external plugins for build systems.

That said: The ability to plug in build systems and custom building code is important to this tool. We have to try to be as flexible as possible because there will always be some project (like scala) that just doesn't bend to our whims and we have to bend to it.

SO - If you add a TODO about fixing the "conglomerate" build, then this LGTM for now. I'd still like to discuss the future though :)

cunei commented 11 years ago

Finding the right incantation was a bit tricky: I now know more about Jackson's JSON parsing than I ever wanted to know... But at any rate, it should be good now. :)

jsuereth commented 11 years ago

Great! LGTM