Jump to page: 1 213  
Page
Thread overview
I just created a dub package. Frankly, the whole thign is backward.
Apr 23, 2022
deadalnix
Apr 23, 2022
monkyyy
Apr 23, 2022
H. S. Teoh
Apr 24, 2022
Alexandru Ermicioi
Apr 24, 2022
rikki cattermole
Apr 24, 2022
Daniel N
Apr 24, 2022
rikki cattermole
Apr 24, 2022
Paul Backus
Apr 24, 2022
rikki cattermole
Apr 24, 2022
Guillaume Piolat
Apr 24, 2022
rikki cattermole
Apr 24, 2022
deadalnix
Apr 25, 2022
user1234
Apr 25, 2022
bauss
Apr 25, 2022
deadalnix
Apr 25, 2022
H. S. Teoh
Apr 26, 2022
Mike Parker
Apr 26, 2022
monkyyy
Apr 24, 2022
deadalnix
Apr 24, 2022
H. S. Teoh
Apr 24, 2022
user1234
Apr 25, 2022
norm
Apr 25, 2022
drug
Apr 26, 2022
norm
Apr 26, 2022
norm
Apr 27, 2022
norm
Apr 25, 2022
FeepingCreature
Apr 25, 2022
Guillaume Piolat
Apr 25, 2022
bauss
Apr 25, 2022
Guillaume Piolat
Apr 25, 2022
Guillaume Piolat
Apr 25, 2022
deadalnix
Apr 25, 2022
deadalnix
Apr 26, 2022
Mike Parker
Apr 26, 2022
Arjan
Apr 26, 2022
deadalnix
Apr 26, 2022
Loara
Apr 26, 2022
deadalnix
Apr 26, 2022
rikki cattermole
Apr 26, 2022
rikki cattermole
Apr 26, 2022
deadalnix
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 27, 2022
Bastiaan Veelo
Apr 26, 2022
deadalnix
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
deadalnix
Apr 28, 2022
FeepingCreature
Apr 28, 2022
Tejas
Apr 29, 2022
Tobias Pankrath
Apr 29, 2022
rikki cattermole
Apr 29, 2022
Tobias Pankrath
Apr 29, 2022
rikki cattermole
Apr 29, 2022
Tobias Pankrath
May 05, 2022
FeepingCreature
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
rikki cattermole
Apr 26, 2022
Alexandru Ermicioi
Apr 26, 2022
rikki cattermole
Apr 26, 2022
H. S. Teoh
Apr 27, 2022
Alexandru Ermicioi
Apr 27, 2022
H. S. Teoh
Apr 28, 2022
Alexandru Ermicioi
Apr 28, 2022
H. S. Teoh
Apr 26, 2022
Alexandru Ermicioi
Apr 26, 2022
H. S. Teoh
Apr 26, 2022
Adam D Ruppe
May 02, 2022
Patrick Schluter
May 02, 2022
rikki cattermole
Apr 25, 2022
deadalnix
Apr 25, 2022
Sönke Ludwig
Apr 26, 2022
JN
Apr 26, 2022
deadalnix
May 07, 2022
Dukc
May 07, 2022
Egor Pugin
May 08, 2022
Tejas
May 08, 2022
Egor Pugin
May 08, 2022
Tejas
May 08, 2022
Alexandru Ermicioi
May 08, 2022
Egor Pugin
Apr 27, 2022
Bastiaan Veelo
Apr 27, 2022
Adam D Ruppe
Apr 27, 2022
H. S. Teoh
Apr 27, 2022
Adam D Ruppe
Apr 27, 2022
jmh530
Apr 28, 2022
H. S. Teoh
Apr 27, 2022
rikki cattermole
May 02, 2022
monkyyy
May 07, 2022
Dukc
April 23, 2022

So, I have this nice little project, sdc. It builds using make, and everything was good. People wanted it to be distributed via dub, so be it, let's create a dub.json file.

Ho, you wanted to distribute a package? Well, now you have a new build system. make was working great for you? Too bad. Can dub run make? It doesn't look like it but who knows. I don't.

Ok, now I have two build systems, including one I never asked for nor have any need for, it is now time to register the package in the dub registry. I need to create an account, so far so good. I can now register the package.

Not so quick, the registry tells me. A "license" field in the package description file is missing or empty. Check your dub.json.. I check the dub.json and indeed, it has no license field. I had a suspicion, it was created minutes ago and my memory is still working. I'm not sure what to put in there. Will dub complain if I put a license it doesn't know about? The project is under the MIT licence, so I decide the put the value at MIT and push the change, hoping for the best.

The registry seems happy with the license change. I still don't if it expected something specific or if I could have put anything in there, either way, it seems to be happy with MIT. On the other hand, on the other hand, The repository must have at least one tagged version (SemVer format with a "v" prefix, e.g. "v1.0.0" or "v0.0.1") to be published on the registry. Please add a proper tag using "git tag" or equivalent means and see http://semver.org/ for more information. .

This must be a new requirement that came up over the last 5 minutes, because nothing told me about this before. I tag master as v0.0.1 and push the new tag. I'm glad dub is now not only replacing my build system, it is also now dictating the release process. It turns out I have several applications in that repository, but thanks to dub, I don't have to ask myself the question of whether I want to use the same version number for all of them or not.

Now the package exist, and while I never asked, I also found myself having to commit to a new build system and a release strategy.

Let me blunt: this is bullshit. While I make fun of the poor UX and its guessing game, this ultimately is something that isn't a blocker. However, this whole my way or the highway attitude to everything is everything i don't want in a software.

I want tool to work for me, not work for the tool. I want to publish a package, not commit to a new build system. I never asked to be told how to assign version number to the different applications int he repo, or even whether I should put several application in the same repo or not. dub told me what to do to a degree that is almost disrespectful and is a big "fuck you" from the D ecosystem to anyone who want to integrate with it.

Why do we use a package manager that expect everyone to use it to work in a certain way? It is blatantly obvious that many organization out there are not going to use the exact setup dub expects. So what do they do if they want to adopt D? Not use dub at all? It's an option, but everything is distributed via dub nowadays in the D ecosystem. Use dub to build everything? Fork their own version of dub? No, the only sensible path forward for pretty much any organization stumbling on this bullshit is to not use D at all because none of the crap we put out there is going to play nicely with what they already have.

Anyways, enough said. I'm don't think this post is going to dramatically change things, but it needed to be said. The total disregard for users is so endemic I cannot wrap my head around how this has been embraced by the community.

April 23, 2022

On Saturday, 23 April 2022 at 20:15:27 UTC, deadalnix wrote:

>

correct opinions on dub

make biuld.d the standard

https://github.com/crazymonkyyy/shmup/blob/master/biuld.d

I'm sure like; after 3 iterations of people copying and pasting a script then editing it to their needs there could be a nice template that has 3x the features of dub with all the flexibility 90% of people need.

and if you want to use make, you could just parse a "make -version" commands output to check if it will do something sane/complain at the user to install make.

April 23, 2022
On Sat, Apr 23, 2022 at 08:15:27PM +0000, deadalnix via Digitalmars-d wrote:
> So, I have this nice little project, sdc. It builds using make, and everything was good. People wanted it to be distributed via dub, so be it, let's create a dub.json file.
[...]
> Let me blunt: this is bullshit. While I make fun of the poor UX and its guessing game, this ultimately is something that isn't a blocker. However, this whole my way or the highway attitude to everything is everything i don't want in a software.

This is why I have not used dub at all in spite of having used D for a decade, except for one aborted project where I used a dummy empty project whose sole purpose was to pull in vibe.d and its tangle of dependencies. I already have my own build system which works better than dub, yet it insists that I have to conform to its rules and doesn't even have an escape hatch for integrating with foreign build systems. IOW, it's a walled garden. I have no patience for walled gardens; life is too short for that.

[...]
> Anyways, enough said. I'm don't think this post is going to dramatically change things, but it needed to be said. The total disregard for users is so endemic I cannot wrap my head around how this has been embraced by the community.

FWIW, I have *not* embraced dub. I love D (the language), though.


T

-- 
Старый друг лучше новых двух.
April 24, 2022

On Saturday, 23 April 2022 at 20:15:27 UTC, deadalnix wrote:

>

...
This must be a new requirement that came up over the last 5 minutes, because nothing told me about this before. I tag master as v0.0.1 and push the new tag. I'm glad dub is now not only replacing my build system, it is also now dictating the release process. It turns out I have several applications in that repository, but thanks to dub, I don't have to ask myself the question of whether I want to use the same version number for all of them or not.

That imho is indeed strange. Perhaps a bug report?
The only explanation I find, is that dub needs to know what commits are actually considered as releases.

>

Anyways, enough said. I'm don't think this post is going to dramatically change things, but it needed to be said. The total disregard for users is so endemic I cannot wrap my head around how this has been embraced by the community.

So what can be done for dub then?

April 24, 2022
On 24/04/2022 8:18 PM, Alexandru Ermicioi wrote:
> The only explanation I find, is that dub needs to know what commits are actually considered as releases.

It also needs to understand the versions themselves, hence SemVer.
April 24, 2022
On Sunday, 24 April 2022 at 08:19:36 UTC, rikki cattermole wrote:
>
> On 24/04/2022 8:18 PM, Alexandru Ermicioi wrote:
>> The only explanation I find, is that dub needs to know what commits are actually considered as releases.
>
> It also needs to understand the versions themselves, hence SemVer.

Why force 'v' prefix though? That's incompatible with the standard used at my company. So we could not use dub even if we wanted to.


April 24, 2022

On Saturday, 23 April 2022 at 20:15:27 UTC, deadalnix wrote:

>

I want tool to work for me, not work for the tool.

DUB gives me a chance to download and run your program and just type "dub".

While if I have to understand your build system first (especially if it's a custom build system), install the right version of make, etc.. I will probably go on with my life and not even try.

April 24, 2022
On 24/04/2022 8:52 PM, Daniel N wrote:
> Why force 'v' prefix though? That's incompatible with the standard used at my company. So we could not use dub even if we wanted to.

I have no idea and I'm not sure there is going to be a one size fits all solution without adding issues into the version checking.

But in saying that, as long as what dub expects and what standard you follow does not conflict, just tag multiple times for the same commit. There shouldn't be an issue there.
April 24, 2022
On 24/04/2022 9:44 PM, Guillaume Piolat wrote:
> On Saturday, 23 April 2022 at 20:15:27 UTC, deadalnix wrote:
>> I want tool to work for me, not work for the tool.
> 
> 
> DUB gives me a chance to download and run your program and just type "dub".
> 
> While if I have to understand your build system first (especially if it's a _custom_ build system), install the right version of make, etc.. I will probably go on with my life and not even try.

Is it dmc make? Cygwin's make, Microsoft's nmake? MingW's make...

So many options, and not a one may be on the PATH variable when dub executes.

At least with dub, unless you did something stupid involving shell commands or non-D dependencies, or didn't test on a given platform it should "just work".
April 24, 2022
On Sunday, 24 April 2022 at 09:47:25 UTC, rikki cattermole wrote:
>
> On 24/04/2022 8:52 PM, Daniel N wrote:
>> Why force 'v' prefix though? That's incompatible with the standard used at my company. So we could not use dub even if we wanted to.
>
> I have no idea and I'm not sure there is going to be a one size fits all solution without adding issues into the version checking.
>
> But in saying that, as long as what dub expects and what standard you follow does not conflict, just tag multiple times for the same commit. There shouldn't be an issue there.

The registry could also allow you to create releases manually. Like, you type the version number and the tag/commit hash you want to use for that version into a form, and then whenever somebody asks for version x.y.z, it gives them the commit you specified.
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11