How to pre build vibe-d dub package

Andre Pany andre at s-e-a-p.de
Fri May 29 11:45:24 UTC 2020


Hi,

I have a docker image in which a vibe-d application is build from 
source code. Every time a file is changed, unfortunately the 
whole vibe-d dub packages are retrieved again from dub registry 
and compiled again (which takes ages).

In my app.json I have these dependency declaration:
``` json
"dependencies": {
     "vibe-d:core": "0.9.0-alpha.5",
     "vibe-d:http": "0.9.0-alpha.5",
     "vibe-d:tls": "0.9.0-alpha.5"
},
"subConfigurations": {
     "vibe-d:tls": "notls"
},
```

and it would be great if could do s.th. like
RUN dub build vibe-d -y --override-config=vibe-d/notls
to fetch and prebuild the dub package. Therefore, if a file
is changed, only the application itself is compiled
but it just not works. It does not build all dependencies of 
vibe-d and
also notls is ignored. I tried a lot of variations but nothing 
has the effect
I need.

My workaround is for the moment to create a dummy dub application 
and compile it:

``` dockerfile
# Prebuild dub dependencies
RUN mkdir -p /tmp/foo/source && echo 'void main(){}' > 
/tmp/foo/source/app.d \
     && echo '{"name":"bla", "dependencies": {"vibe-d": 
"0.9.0-alpha.5", "vibe-d:tls": 
"0.9.0-alpha.5"},"subConfigurations": {"vibe-d:tls": "notls"}}' > 
/tmp/foo/dub.json \
     && dub build --root /tmp/foo/
```

Do I miss something here?

Kind regards
André



More information about the Digitalmars-d-learn mailing list