On Sat, 14 Sep 2013 12:07:32 GMT, Jacob Carlborg wrote:

On Wed, 11 Sep 2013 13:39:10 +0200, Sönke Ludwig wrote:

Somehow I managed to skip this... DVM is something that I've actually
thought about how it could be meaningfully integrated. I already wanted
to ask you, but wasn't sure enough how exactly to go about it (questions
like support for GDC/LDC to not make them more second class than they
should be came up).

Currently DMD is only supported. At least when it comes to automatically download and install. As far as I know neither LDC or GDC has a site/FTP listing all available releases. Also I'm not sure if even GDC provides pre-compiled binaries. Compiling GDC or LDC will complicate things, a lot.

So in case of GDC/LDC outputting a warning may be good enough to point the user into the right direction. Hm, actually I don't even know how to e.g. get the proper GDC version as opposed to the underlying GCC version.

Only a manually maintained compiler compatibility field is something
that I fear will not work out (people being lazy or too slow with
updates and possibly using different compilers). But if this would be
combined with a CI that automates compatibility checks this would get
really interesting.

That's a good idea. Specifying a minimum supported version might be a good idea (this might not change that often) and if not all compilers are supported. The the latest working compiler version could be figured out as you've described above.

Do you think that travis-ci is a viable option for automatically handling potentially hundreds or thousands of packages? Depending on the available capacity, the specified minimum version could be automatically checked for validity, too.

But I think a minimum version is ok for well maintained projects. At least personally I usually try to retain that version until something forces me to lift it, so I could as well document it.