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

Steven Schveighoffer schveiguy at gmail.com
Wed Apr 27 00:51:08 UTC 2022


On 4/26/22 6:50 PM, deadalnix wrote:
> On Tuesday, 26 April 2022 at 22:08:27 UTC, Steven Schveighoffer wrote:
>> I'm perfectly fine with projects not using dub. Don't listen to people 
>> who cry about dub usage.
>>
> 
> You are missing the important part. Because dub do not play nice with 
> anything else, that means we might as well use a different language. My 
> D code can never talk to your D code without an absurd amount of time, 
> energy and effort expanded.

Define "absurd". You want to include `version` flags that might be in my 
dub file? They are in there, not hard to read. You want to include the 
library? Build with `dub build` in my repo, and then you have the lib 
available. All my files are in my `source` directory. Is that hard to use?

Dub does not use extraneous build pieces. All it does is construct a 
valid compilation line. You can mimic that line without (IMO) an absurd 
amount of effort.

With dmd -i, you can pretty much just ignore dub and just use the proper 
`-I` directories, I can't imagine this will be extremely difficult.

None of this is to say that it's not work, or that it's seamless. But 
it's not any less seamless than if dub didn't exist.

> You apparently had a small taste of that with meson. I ended discarding 
> meson as an option for reason similar to dub - and reasons you are 
> experiencing now: meson doesn't play nice with other kids.

Nah, my experience was never with *using* meson, my experience was with 
CI and meson. In other words, I'd update my library, tag it, and it's 
ready for dub. But meson *also* needs me to duplicate the tag in its 
build file, or it doesn't work. That is junk. Imagine this workflow:

1. create your update
2. Use CI on your PR, it works
3. Merge to master
4. Tag for release
5. Master CI now breaks because meson wasn't satisfied.

i.e. you *can't run CI until you've tagged the release*.

I asked, can you make Meson automatically use the tagged version? Answer 
is no. So I really am regretting merging that file, and probably will 
just take it out of CI unless someone cares.

> Except meson is kinda asocial, while dub is more like the Westboro 
> Baptist Church.

This is an insanely overexxagerated analogy.

-Steve


More information about the Digitalmars-d mailing list