Am 05.02.2015 um 16:35 schrieb ketmar:
On Thu, 05 Feb 2015 16:12:51 +0100, Sönke Ludwig wrote:
Such as "preBuildCommands" [1]?
[1]: http://code.dlang.org/package-format#build-settings
nope. such as "'a' depends of 'b', 'b' depends of c, here are commands
to generate 'a' and 'b', don't call that commands if it's not
necessary". "...always before the project is built" is not what i
excepting from decent build tool.
Okay, so '"preBuildCommands": ["cd something && make"]' (or some other
generic build tool instead of make)
so i'll use "make" for everything else too. "make" can be wordy, but at
least i'll have only one build tool to care about, not two.
If you just want to have a build tool, that's fine (if you want to do
all the dependency tracking and cross platform/compiler compatibility
stuff by hand). But the main point is that you can seamlessly use
foreign packages, which is not really possible with make (well, of
course it is...).
there is nothing wrong in making easy things easy ;-), but dub has no way
to make hard things possible. i can't teach it new tricks, and i
definitely don't want "build systems explosion" in my projects. and dub
can't be easily used like "pkg-config", so even it's package management
part is not good for non-dub people.
It will gain C/C++ build support, so that particular issue should at
that point be a thing of the past. The "preBuildCommands" feature *is* a
way to make hard things possible. It may not hit the sweet spot in your
particular case, because it requires another tool to achieve the job,
but it's definitely doable.
The development approach has been to try to get those features in first
that enable the most common use cases. Certain things will always
require the use of external tools/scripts (maybe some kind of embedded
scripting functionality as an alternative to the command feature would
also be an option), but it should be no problem to push the boundary of
what's possible within the package description format to a level where
>99% of people can be happy.