A suggestion for dub

Sönke Ludwig via Digitalmars-d digitalmars-d at puremagic.com
Mon Feb 29 02:07:56 PST 2016


Am 29.02.2016 um 10:46 schrieb Sebastiaan Koppe:
> On Monday, 29 February 2016 at 09:27:50 UTC, sigod wrote:
>> On Monday, 29 February 2016 at 08:02:51 UTC, mahdi wrote:
>>> On Monday, 29 February 2016 at 06:10:17 UTC, Chris Wright wrote:
>>>> [...]
>>>
>>> The aim is to make package distribution easier and more
>>> straightforward. If someone has done some development on his local
>>> machine and wants to distribute it, it's better not to force him to
>>> create a repo on Github or ... .
>>
>> And you end up creating your own repository hosting. Or you would
>> allow users to not use (D)VCS. Which will end up as a nightmare.
>
> Yeah that would be a nightmare. Plus the storage requirements. Better
> have github/bitbucket do it for you.

Storage requirements would definitely be a problem. Hosting a database 
with metadata is one thing, but uploading potentially hundreds of 
megabytes or even gigabytes per package is another. The metadata alone 
takes up about 1.5 GiB right now. Should we ever grow as much as other 
languages have in terms of package count, hosting package contents is 
definitely out of the question without some sort of corporate investment.

>
> The thing I do run into occasionally is when I am modifying two dub
> package, where one depends on the other, and I am pushing a new
> version/tag to github. It generally takes a while before code.dlang.org
> picks up on new versions being available, and until that time I cannot
> compile the other package which depends on the new version.
>
> Locally I can do `dub add-local`, but I don't want to do that on the CI,
> nor on other developers machine whenever they get my updated dub.json.
>
> Granted, it doesn't take that long, but seeing how fast other services
> pick up on github/bitbucket changes (wercker starts building a mere 0.5
> secs after a push), I wonder why code.dlang.org is being so slow about it.

Currently all packages are polled for changes every 30 minutes.

We will at some point have to implement the use of push notifications 
for changes, but that requires some work (supporting GitHub-OAuth and 
implementing the push endpoint) and it requires the repositories to be 
re-registered with OAuth.

BTW, there is a "Trigger manual update" button on the package management 
page. If you are the owner, you can usually get instant updates that way.


More information about the Digitalmars-d mailing list