On Monday, 2 February 2015 at 13:25:57 UTC, Mathias LANG wrote:
To be more specific, dub won't let you compile a project with
multiple definition of a function. How is that a liability ?
You can't have more than one main() function.
Some packages contain more than one entry point (programs /
executables).
In my case, my library allows selecting an entry point based on
the nature of the program (console/GUI) and the platform. The
program only imports one of these. Vibe does something similar,
but it has only one entry point.
Is rdmd able to build static and dynamic library ?
Yes.
If so, does it ignore files that are not imported anywhere ?
Yes.
I don't see any downside here.
The downside is dmd -o- doesn't work.
What's your editor ? Mine complains on syntax error.
If you're using vi/emacs, then placing your editor in source/
(or starting dmd here) would do the trick.
"syntax check" was not meant literally. Can your editor
instantiate imported templates, too?
FYI, my editor's D syntax highlighting is probably more extensive
than any others':
https://github.com/colorer/Colorer-schemes/blob/master/hrc/hrc/base/d.hrc
git clone http://github.com/You/repo otherName
breaks that workflow equally. Relying on the name under which
your repo was cloned doesn't seem that robust.
The distinction is that you have to go out of your way to break
it. Dub not just breaks it by default, but there is no simple way
to work around it, either.
- But then your library is self contained and won't break if
someone has another workflow that makes him clone your library
under a different name.
So Dub protects people from shooting themselves in the foot by
cutting their feet off? How nice.
- dub rely on git tags for versioning. If you want to do *real*
versioning (and not just "most up to date tag"), you'll still
have to play with branches and submodules.
Yay, more buttons to press! When I could actually be getting
things done instead.
Hope I helped :)
Sorry, not even close.