I just created a dub package. Frankly, the whole thign is backward.

Guillaume Piolat first.last at gmail.com
Mon Apr 25 19:17:37 UTC 2022


On Monday, 25 April 2022 at 12:45:39 UTC, Ola Fosheim Grøstad 
wrote:
>
> All I can say is that I wasn't pleased when small trivial tweak 
> on the webserver turned into a longer debugging-session…  (I 
> wasn't planning on upgrading anything, just wanted to add a 
> line of code.)

If you interpret your anecdote differently, it says that 
framework Flask subscribed to a >= dependency and got exactly 
what it asked for: unlimited breaking changes.
A solution would have been to make the build system even more 
restrictive :) and disallow that anti-pattern, in order to 
improve your life, as a user of the dependency.
Because there is one maintainer that needs to make a change, and 
much more users that will suffer.

Similarly, it seems in this thread people misunderstand what the 
declarative restrictions of DUB are about.

Yes, with make you can do "everything".

But can you write a macOS tool that takes a Makefile and build an 
Universal Binary from a make recipe that builds a single 
architecture binary? You can't because a Makefile can do anything 
and it fully imperative, nothing describes where the binary is, 
or architectures.
But with dub you can do that, because it's all declarative.

Can you write a tool that analyze all your dependent packages, 
get number of open issues and compute total LOC of the project? 
yes.
Can you get all import paths of the binary and dependencies, and 
generate an IDE project from that? yes.
Can you get a new architecture for free with the same recipe? yes.

cf: least power for the job => 
https://www.w3.org/2001/tag/doc/leastPower.html



More information about the Digitalmars-d mailing list