I rarely visit the D forums and even more rarely make a post, but
this thread caught my eye.
I've been writing a build system in D too:
https://github.com/jasonwhite/brilliant-build (I'm not very fond
of the name. Naming is hard!)
It is a general build system with an emphasis on correctness.
On Wednesday, 2 March 2016 at 19:50:30 UTC, Markus Laker wrote:
https://github.com/markuslaker/Argon
Let me know if you do something interesting with it.
Markus
Looks nice! Can it support sub-commands (e.g., git status)? I
suppose that can be done by passing through unused arguments and
par
I am pleased to finally announce the build system I've been
slowly working on for over a year in my spare time:
Docs: http://jasonwhite.github.io/button/
Source: https://github.com/jasonwhite/button
Features:
- Correct incremental builds.
- Automatic dependency detection (for any bui
On Monday, 30 May 2016 at 20:58:51 UTC, poliklosio wrote:
- Lua is the primary build description language.
Why not D?
Generating the JSON build description should entirely
deterministic. With Lua, this can be guaranteed. You can create a
sandbox where only certain operations are permitted.
On Tuesday, 31 May 2016 at 03:40:32 UTC, rikki cattermole wrote:
Are you on Freenode (no nick to name right now)?
I would like to talk to you about a few ideas relating to lua
and D.
No, I'm not on IRC. I'll see if I can find the time to hop on
this weekend.
On Tuesday, 31 May 2016 at 10:15:14 UTC, Atila Neves wrote:
On Monday, 30 May 2016 at 19:16:50 UTC, Jason White wrote:
I am pleased to finally announce the build system I've been
slowly working on for over a year in my spare time:
snip
In fact, there is some experimental support for automatic
On Tuesday, 31 May 2016 at 14:28:02 UTC, Dicebot wrote:
Can it be built from just plain dmd/phobos install available?
One of major concernc behind discussion that resulted in Atila
reggae effort is that propagating additional third-party
dependencies is very damaging for build systems. Right no
On Tuesday, 31 May 2016 at 18:57:29 UTC, o-genki-desu-ka wrote:
Many nice announcements here last week. I put some on reddit.
Thank you for doing this! I agree previous posts though, that
this is too many at once. Also, I think posting a link directly
to the project instead of the forum post
On Wednesday, 1 June 2016 at 06:41:17 UTC, Jacob Carlborg wrote:
So, Lua is a build dependency? Seems that Sqlite is a build
dependency as well.
Actually, SQLite more of a run-time dependency because
etc.c.sqlite3 comes with DMD.
$ ldd button
linux-vdso.so.1 (0x7ffcc474c000)
--> libs
On Saturday, 11 June 2016 at 02:48:59 UTC, H. S. Teoh wrote:
Finally got around to looking at this (albeit just briefly). It
looks very nice! Perhaps I'll try using it for my next project.
If you do end up using it, I'd be happy to iron out any
irritations in Button that you encounter.
Butt
On Sunday, 12 June 2016 at 11:06:23 UTC, Fool wrote:
Nice work! I'm wondering how Button would compare in the Build
System Shootout (https://github.com/ndmitchell/build-shootout).
It does pretty well. I even looked over this as I was designing
it.
Here's the test cases it succeeds at:
- "ba
On Sunday, 12 June 2016 at 20:03:06 UTC, Walter Bright wrote:
On 6/3/2016 1:26 AM, Dicebot wrote:
From that perspective, the best build system you could
possibly have would look
like this:
```
#!/usr/bin/rdmd
import std.build;
// define your build script as D code
```
Yeah, I have often th
On Tuesday, 14 June 2016 at 10:47:58 UTC, Fool wrote:
Switching the compiler version seems to be a valid use case.
You might have other means to detect this, though.
If you want to depend on the compiler version, then you can add a
dependency on the compiler executable. It might be a good idea
On Tuesday, 14 June 2016 at 14:57:52 UTC, Andrei Alexandrescu
wrote:
On 6/12/16 8:27 PM, Walter Bright wrote:
On 5/30/2016 12:16 PM, Jason White wrote:
Here is an example build description for DMD:
https://github.com/jasonwhite/dmd/blob/button/src/BUILD.lua
I'd say that's a lot easier t
On Monday, 13 June 2016 at 20:12:27 UTC, Walter Bright wrote:
On 6/12/2016 4:27 PM, Jason White wrote:
I don't understand this dependency-phobia.
It's the "first 5 minutes" thing. Every hiccup there costs us
maybe half the people who just want to try it out.
I suppose you're right. It is ju
On Wednesday, 15 June 2016 at 12:00:52 UTC, Andrei Alexandrescu
wrote:
I'd say the gating factor is -j. If an build system doesn't
implement the equivalent of make -j, that's a showstopper.
Don't worry, there is a --threads option and it defaults to the
number of logical cores.
I just did so
On Wednesday, 15 June 2016 at 12:02:56 UTC, Andrei Alexandrescu
wrote:
In all likelihood. One issue with build systems is there's no
clear heir to make. There are so many, including a couple (!)
by our community, each with its pros and cons. Which one should
we choose?
You should choose mine,
On Thursday, 16 June 2016 at 12:34:26 UTC, Kagamin wrote:
On Sunday, 12 June 2016 at 23:27:07 UTC, Jason White wrote:
However, I question the utility of even doing this in the
first place. You miss out on the convenience of using the
existing command line interface.
Why the build script can't
On Thursday, 16 June 2016 at 13:39:20 UTC, Atila Neves wrote:
It would be a worthwhile trade-off, if those were the only two
options available, but they're not. There are multiple build
systems out there that do correct builds whilst being faster
than make. Being faster is easy, because make is
On Friday, 17 June 2016 at 06:18:28 UTC, H. S. Teoh wrote:
For me, correctness is far more important than speed. Mostly
because at my day job, we have a Make-based build system and
because of Make's weaknesses, countless hours, sometimes even
days, have been wasted running `make clean; make` ju
On Friday, 17 June 2016 at 20:59:46 UTC, jmh530 wrote:
I found the beginning of the tutorial very clear. I really
liked that it can produce a png of the build graph. I also
liked the Lua build description for DMD. Much more legible than
the make file.
However, once I got to the "Going Meta: B
On Friday, 17 June 2016 at 10:24:16 UTC, Dicebot wrote:
However, I question the utility of even doing this in the
first place. You miss out on the convenience of using the
existing command line interface. And for what? Just so
everything can be in D? Writing the same thing in Lua would be
much
On Friday, 17 June 2016 at 20:36:53 UTC, H. S. Teoh wrote:
- Assuming that a revision control system is in place, and a
workspace is checked out on revision X with no further
modifications, then invoking the build tool should ALWAYS,
without any exceptions, produce exactly the same outputs,
On Saturday, 18 June 2016 at 14:23:39 UTC, H. S. Teoh wrote:
Moral of the story is, if you're writing a compiler, for the
sake of build systems everywhere, make the output
deterministic! For consecutive invocations, without changing
any source code, I want the hashes of the binaries to be
iden
On Saturday, 18 June 2016 at 23:52:00 UTC, H. S. Teoh wrote:
I did a quick investigation, which found something interesting.
If compiling straight to executable, the executable is
identical each time with the same md5sum. However, when
compiling to object files, the md5sum is sometimes the sa
On Sunday, 19 June 2016 at 15:47:21 UTC, Dicebot wrote:
Let me propose another idea where maybe we can remove the
extra dependency for new codebase collaborators but still have
access to a full-blown build system: Add a sub-command to
Button that produces a shell script to run the build. For
e
On Monday, 20 June 2016 at 08:21:29 UTC, Dicebot wrote:
On Monday, 20 June 2016 at 02:46:13 UTC, Jason White wrote:
This actually sounds nice. Main problem that comes to my mind
is that there is no cross-platform shell script. Even if it
is list of plain unconditional commands there are always
On Monday, 27 June 2016 at 06:43:26 UTC, Rory McGuire wrote:
FYI, I implemented this feature today (no Batch/PowerShell
output yet
though):
http://jasonwhite.github.io/button/docs/commands/convert
I think Bash should work on most Unix-like platforms.
And there is this[0] for windows, if
28 matches
Mail list logo