Dub. Mercurial (bitbucket.org). Projects deployment

Uranuz via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Jun 10 05:24:19 PDT 2014


I have web-application project in D language hosted on 
bitbucket.org. So I using Mercurial repository. I exactly have 
two *logical* projects but currently they are in one repo. The 
first is my library that includes not only D code, but also some 
resources like HTML-page templates (not compiled vibe's diet 
templates), CSS and also some JavaScript code. The second project 
is website itself. It also has D sources, images, CSS's, js's, 
etc.

1. My goal is to separate this REPO into two: library and website 
that depends on library. Bitbucket has option for having several 
private repos for user, that are visible only to users from the 
list of invited users. I want to publish the library under some 
free license. But I don't want to publish web-site repository. 
It's offtopic question, but can you give some advice how I could 
handle this? May be someone read some pages in bitbucket doc and 
has link :)

2. For some time I used rdmd and some small shell script for 
building my web-site. And also I haven't built any ddoc coments 
but I faced with it's necessity now. rdmd takes only one input 
file and then search for all import directives recursively to 
find all other files to compile. Problem is that I want to pass 
some *.ddoc file with some DDOC macro to dmd but I don't' whether 
it's possible, because I can pass only 1 file to rdmd. How it 
could be solved?

3. Then I was thinking about using dub as long as it can 
automatically manage dependencies and it's higher level tool. And 
I can maybe pass *.ddoc file with general macro with 
*sourceFiles* (I'm not sure about this). But I think that dub 
doesn't support Mercurial and working with private repos. I can 
download project manually from Bitbucket. But it would be good to 
automate this. Not all programmers working with github and even 
git)) May be it should be solved somehow. I could participate in 
it but haven't contributed anything to D yet((. And also I don't 
know Mercurial and Bitbucket's API.

4. Another question about dub is how project structure looks like 
when I use some subprojects or libraries in my project. Examples 
in dub repository are very very simple and don't show advantages 
of dub over plain using of dmd or rdmd. So for now I don't 
understand the idea of this tool. Maybe some examples of *big and 
complicated* project would help. It would be better if it uses 
different sources for dependencies. I would like to see source 
from bitbucket.org, github.org, using binary libraries, local 
sources - all in one dub project)) This will show that this 
system is useful and tasty))

5. Also I would like to use dub for deployment some small 
projects: copy come files, create some folder structure, make 
some symbolic links, run *.css, *.js processing and minification 
tools, run some service daemon apps, etc. May be it can be 
handled with *preBuildCommands*, *postBuildCommands* directives 
for now and using some shell scripts or running deployment 
application on D))

P.S. It would be a plesure to see answers for all the items if 
possible, not only discussion around))


More information about the Digitalmars-d-learn mailing list