On Tuesday, 16 May 2017 at 19:41:32 UTC, Brad Anderson wrote:
On Tuesday, 16 May 2017 at 18:10:52 UTC, Andre Pany wrote:
Hi,

While integrating the git protocol into dub is complex, there is a much much easier solution.

Github and bitbucket provides access to the source code, including releases, branches and commits as archive files using the http protocol.

Without counting the actual unzip/untar coding I assume more or less 100 lines of additional coding is needed in dub.

In dub.json in addition to the existing path attribute of the dependeny object a new attribute "url" has to be added. You can specify here an url to a zip/tar.gz. This file has to be downloaded and extracted. The extract path is then filled into the existing path attribute of the dependency object.

The only issue is the untar/unzip logic...

This little tweak would make dub a lot more flexible like npm.

Kind regards
André

This is actually exactly how dub fetches source code but the registry does it rather than dub itself (I'm not sure why)[1]. A bare URL dependency may be controversial though because it makes versioning more difficult to ensure.

1. https://github.com/dlang/dub-registry/blob/d825840770bb29356495f265480035ed7e3321b8/source/dubregistry/repositories/github.d#L89

In my scenario I have github repositories stored on the company github server but not on the public github server. Also running an own dub registry server is not an option as I would have to adapt the source code (settings are hard coded) and the license type of dub registry is lgpl.

Kind regards
André

Reply via email to