On Monday, 2 February 2015 at 13:42:19 UTC, Vladimir Panteleev
wrote:
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.
You can do that using configuration sections:
http://code.dlang.org/package-format#configurations
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 how this is a feature. I want all my file parsed and
put inside the archive.
I don't see any downside here.
The downside is dmd -o- doesn't work.
It works when you're in source. No difference.
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?
I'd like it too, but not ATM :(
Is the working directory option working for you ?
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.
If you go out of dub's way, you might break it. The same happen
when someone goes out of your workflow. Is running dmd -o- from
./project/source instead of ./project/ impossible with your
setting / IDE ?
- 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.
Want to track a branch: ~branchName
Want to track a specific commit: == x.x.x
want to track a bounded commit range: ~> / >= <=
Want to track an unbounded commit range: >=