I hate new DUB config format
Chris Wright via Digitalmars-d
digitalmars-d at puremagic.com
Tue Dec 1 09:24:08 PST 2015
On Tue, 01 Dec 2015 12:22:32 +0000, Ola Fosheim Grøstad wrote:
> On Tuesday, 1 December 2015 at 12:07:51 UTC, Russel Winder wrote:
>> I think you are meaning Bazel here. http://bazel.io/
>>
>> I haven't had chance to play with it as yet, and it changes massively
>> every day – though I suspect it is the internal of the satisfaction
>> engine that change not the specification notation (which looks a bit
>> like a Python/SCons/Waf type thing). I will be playing with it over the
>> next few weeks, so more news later.
>
>
> That's interesting, I didn't know they were going to make it publicly
> available. The FAQ says it supports Java, Objective-C and C++ out of the
> box. So I guess that means there is infrastructure for adding other
> languages too.
So they open sourced Blaze. Interesting, but not very useful.
Bazel, like Blaze, wants to keep a very granular build unit with explicit
dependencies. It aims to keep very little per-language logic in the build
system. The tradeoff is that humans have to supply it all.
DUB aims to have very tight integration with D, and build granularity
isn't a large goal. This means it's nearly useless for building any other
language, and it would probably die if you tried to build a project with
a million lines of code with it. But on the other hand, I can write a
build file that just contains the project name and what dependencies it
has and I'm off to the races.
Amazon internally has a build system called Brazil. (My information is
probably four years out of date now.) It's basically a multilanguage
Maven, hampered by an ugly web interface and a concept of "version sets"
-- which is essentially the same as dub.selections.json, but you have to
maintain it manually. That model, minus the web interface and manually
curating version selections, would work much better with most small to
medium projects in the wild. Add a source distribution option (to avoid
having to build N versions of the same library; we're not all on JIT) and
Bob's your uncle.
More information about the Digitalmars-d
mailing list