On Sun, 24 Nov 2013 11:56:43 GMT, Mathias LANG wrote:

Hi,
I was toying around when I tried to add mysql-native in the dependencies.
I am using vibe.d master. It seems to me that ~master is not recognized as >= *.

How to reproduce:

xxxx@xxxx:~$ ll ~/.dub/packages/
total 32
drwxr-xr-x 6 xxxx xxxx 4096 Nov 24 07:27 ddox-0.9.15
drwxr-xr-x 4 xxxx xxxx 4096 Nov 14 00:32 libevent-master
drwxr-xr-x 4 xxxx xxxx 4096 Nov 14 00:33 libev-master
drwxr-xr-x 3 xxxx xxxx 4096 Nov 24 12:38 mysql-native-master
drwxr-xr-x 4 xxxx xxxx 4096 Nov 14 00:33 openssl-master
drwxr-xr-x 7 xxxx xxxx 4096 Nov 14 00:33 vibe-d-0.7.17
drwxr-xr-x 7 xxxx xxxx 4096 Nov 18 15:32 vibe-d-0.7.18-beta.2
drwxr-xr-x 6 xxxx xxxx 4096 Nov 24 07:08 vibe-d-master
xxxx@xxxx:~$ dub init test-conflict vibe.d
Successfully created an empty project in '/home/xxxx/test-conflict'.
xxxx@xxxx:~$ cd test-conflict/

Edit package.json set dependencies as:
"vibe-d": "~master",
"mysql-native": "~master"

(...)

Currently, you need to set the dependencies to {"vibe-d": ">=0.7.17", "mysql-native": "~master"}, as "~master" and a versioned release are considered conflicting when required by different packages. This is meant to be changed, but the best semantics are not yet clear (e.g. should ">=0.7.17" && "~master" result in "~master" or in "0.7.17", maybe depending on the hierarchical order?).