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: >=

Reply via email to