[gsoc] DUB - Ideas
Seb
seb at wilzba.ch
Thu Feb 28 15:50:49 UTC 2019
So while we have quite a large list of potential GSoC projects
[1], I think that many of these ideas are still a bit too
abstract for potential students.
Hence, I will try to introduce this new [gsoc] series aimed at
(1) discussing potential ideas in depth and (2) maybe finding new
ideas. I encourage everyone (students or just curious D
enthusiasts) to start more of these [gsoc] threads, s.t. our
potential students can learn more about the proposed projects
(students: please don't be shy).
The first item on my list is D's package manager DUB.
My personal favorite "missing feature" in DUB is a direct git
support. It would be really awesome if we would implement a
"GitRegistry" for packages, s.t. one can directly depend on git
repositories:
dependency "my-package" version="git://.../my-branch#my-commit"
There's also a DEP about this feature [2] (though the proposed
format there isn't set in stone). DUB's architecture is already
fairly modular, so as a start students could look into creating a
GitRegistry supplier [3]. There's also some previous work [4]
which can of course be used for inspiration too. While initially,
the `git` CLI binary can be used, it's not guaranteed that the
user will have this installed (especially on Windows), so one
would either need to use e.g. libgit2 (see [5] for a D binding)
or implement Git's protocol itself (see e.g. [6]).
@community: what features do you miss the most from DUB?
Disclaimer: The span of the GSoC is three months of full time
work and proposals from students should take this into
consideration. The DUB project is a bit special as some
individual ideas might take less than three months of work, but
in this case one could just combine two or three DUB
features/ideas into one project.
[1] https://wiki.dlang.org/GSOC_2019_Ideas
[2] https://github.com/dlang/dub/wiki/DEP6
[3]
https://github.com/dlang/dub/blob/master/source/dub/packagesuppliers/packagesupplier.d
[4] https://github.com/dlang/dub/pull/1403
[5] https://github.com/s-ludwig/dlibgit
[6]
https://github.com/git/git/blob/master/Documentation/technical/http-protocol.txt
More information about the Digitalmars-d
mailing list