On Friday, 27 July 2018 at 12:04:18 UTC, Jonathan M Davis wrote:
On Friday, July 27, 2018 5:03:50 AM MDT Seb via Digitalmars-d
wrote:
What do you think?
------------------
- Has the dmd/druntime split being annoying you too?
- Do you have a better suggestion?
- Would this break your workflow in a drastic way?
It would break all existing tools and scripts that are used to
build the existing repos - many of which are not official
tools. So, yes, it would be very annoying.
FWIW I don't think this would be the case. All build scripts I
have seen call the Makefile (except for LDC/GDC, of course). The
Makefile build would continue to work at any stage.
That's not necessarily a good enough reason not to do it, but
IMHO, it really needs to provide solid benefits to rearrange
things like that for it to be worth breaking all of the
existing tools that anyone uses for building dmd, druntime, and
Phobos.
As mentioned, I don't know of any tool that builds druntime
itself. Everyone calls the Makefiles.
If there are tools that build druntime on their own, it would be
a very good point yes.
It also arguably makes no sense in that a lot of what's in
druntime has nothing to do with dmd - e.g. all of the OS C
bindings are in there. There are also several modules that need
to be in druntime, because druntime uses them but don't really
have much to do with the compiler (e.g. core.time and
core.thread). And not only from a code organizational
standpoint does the current separation make a lot of sense for
a lot of what's in druntime, but it also matters from the
standpoint of who has permissions to do what. Right now, it's
reasonable to give privileges to folks to merge PRs for
druntime who have no business merging PRs for dmd.
If the repos are merged, then we're forced to either give some
of those folks dmd merge rights or make the smaller pool of
folks who have merge rights for dmd deal with those PRs.
This shouldn't be a problem either as GitHub's CODEOWNERS files,
are made for this use case and
all we need would be sth. this:
* @team-dmd
src/druntime @team-druntime
https://help.github.com/articles/enabling-required-reviews-for-pull-requests
(Step 8)
Also, given that druntime gets linked into Phobos, having that
repo be part of the compiler is that much weirder. In that
sense, it belongs more with Phobos than dmd.
The dependencies between the three repos do occasionally cause
problems, but overall, I think that the separation makes a lot
of sense.
It causes A LOT of problems in terms of maintaining the CI and
build scripts,
moving things between DMD and adding test for druntime features
to the dmd testsuite.