dud: A dub replacement

Robert Schadek rschadek at symmetryinvestments.com
Wed Nov 20 11:40:19 UTC 2019

On Monday, 18 November 2019 at 12:59:25 UTC, Joseph Rushton 
Wakeling wrote:
> Cool :-)  Since I have also been experiencing a fair bit of 
> production-use DUB pain in the last year, I really appreciate 
> your taking action on this.
> A few things that would be good to understand up front:
>   * what are the particular issues with DUB that you want to 
> address?
>       - making the codebase cleaner and more functional is 
> obviously
>         nice but is at most a means to an end -- what's the 
> real end
>         you have in mind?

My reason for making it cleaner is, because I assume this will 
me a build tool I can fix when broken. And hopefully it has less
bugs to begin with because its cleaner.

>       - I would imagine getting dependency resolution really 
> right
>         would be top of the list -- it would be good to aim to 
> fix
>         issues like https://github.com/dlang/dub/issues/1732

That is one thing yes.

>       - I would personally really appreciate it if you would 
> make it
>         a design goal to better separate concerns in terms of 
> what
>         DFLAGS are used and why (for example, the fact that 
> right now
>         `dub test --build=release` will not actually run 
> unittests,
>         as `--build=release` drops the `-unittest` flag)
>   * are there any particular known issues with DUB that this 
> definitely
>     will NOT address?

I'm not sure yet.

>   * are there any key _breaking_ changes you have in mind?
>   * where does this stand w.r.t. some of the proposals to break 
> DUB apart
>     into more cleanly separated components, e.g. determining 
> compatible
>     dependencies, downloading dependencies, building or running 
> tests ... ?

It is build as a library first. The CLI is just using the library

> Some concrete feedback on the project as it stands:
>   * the tickboxes of compatible commands are nice, but it would 
> be good to
>     have a more contextualized roadmap, in particular outlining 
> the design
>     concerns for core data structures and functionality
>       - this should probably be in issues rather than the 
> README, but
>         it needs to be somewhere, otherwise it's hard for 
> anyone outside
>         to identify things they can do

True, I'll work on that.

>       - it might be nice to use a GitHub project to manage 
> things so that
>         us outside folks can identify better what's being 
> worked on and
>         what's blocked by what

I already started that, somewhat.

>   * I don't mind breaking changes in either the config format 
> or the command
>     line API if it gets us to a nicer tool, so please embrace 
> the opportunity
>     where appropriate
>       - I can imagine this might be the reason why the aim is 
> to support
>         a "tasteful subset" of DUB's features: it means that 
> others can
>         be re-implemented in an incompatible but better way
>       - auto-conversion mechanisms may be preferable to 
> outright support
>         for old formats and commands
>   * I really recommend trying to start writing clean, clear 
> commit messages
>     from the very start -- think of this as another form of 
> code documentation
>     that communicates to all interested readers the intent and 
> considerations
>     behind any particular change to the codebase.  This makes 
> it much easier
>     for outsiders to get a clear understanding of the project 
> and get into the
>     habit of contribution
>       - right now, pretty much all the commit messages read 
> like spontaneous
>         notes where even YOU won't remember the whys or 
> wherefores in a few
>         months' time

I know, I'll try to do better

>       - long term it saves a LOT of time when trying to look 
> back and understand
>         "Why did we do things that way?" -- particularly useful 
> when trying to
>         fix some subtle design bug
>   * for the same reasons, really try to provide good 
> documentation and comments
>     for all code from the start -- this really makes it much 
> easier for anyone
>     interested to grasp the major design concerns and get 
> contributing

Here is disagree, to a degree I consider comments a code smell.
If I have to write them, I failed to convey the information
needed to understand the code in the code.

>   * these concerns are going to be strongest for the key data 
> structures and
>     algorithms -- please make sure these are REALLY documented 
> well, from the
>     very start
> Hope all of that's helpful, and best wishes for taking this 
> forward -- I will try to help as I can, but time right now is 
> very constrained ... ;-)
> Thanks & best wishes,
>      -- Joe

Thank you

More information about the Digitalmars-d-announce mailing list