Thread overview
What's the best way to programmatically detect the most recent release of DMD and others?
Oct 16, 2017
Andrew Edwards
Oct 16, 2017
Jacob Carlborg
Oct 16, 2017
Andrew Edwards
Oct 17, 2017
Jacob Carlborg
October 16, 2017
The best way I know to determine the latest DMD release is http://ftp.digitalmars.com/LATEST. I'm not aware that such a file exists for LDC and GDC so I'm currently doing:

string latest(string url) {
    return executeShell("git ls-remote --tags " ~ url ~ " | cut -d 'v' -f 2 | cut -d '-' -f 1 | cut -d '^' -f 1 | uniq | tail -n 1").output.strip;
}

Is there a better way?

Thanks,
Andrew
October 16, 2017
On 2017-10-16 17:13, Andrew Edwards wrote:
> The best way I know to determine the latest DMD release is http://ftp.digitalmars.com/LATEST. I'm not aware that such a file exists for LDC and GDC so I'm currently doing:
> 
> string latest(string url) {
>      return executeShell("git ls-remote --tags " ~ url ~ " | cut -d 'v' -f 2 | cut -d '-' -f 1 | cut -d '^' -f 1 | uniq | tail -n 1").output.strip;
> }
> 
> Is there a better way?

The official download script [1] is using the following:

dmd - http://downloads.dlang.org/releases/LATEST
dmd beta - http://downloads.dlang.org/pre-releases/LATEST
ldc - https://ldc-developers.github.io/LATEST
ldc beta - https://ldc-developers.github.io/LATEST_BETA
gdc - http://gdcproject.org/downloads/LATEST

[1] https://dlang.org/install.sh

-- 
/Jacob Carlborg
October 16, 2017
On Monday, 16 October 2017 at 18:21:46 UTC, Jacob Carlborg wrote:
> On 2017-10-16 17:13, Andrew Edwards wrote:
>> Is there a better way?
>
> The official download script [1] is using the following:

You're a godsend. Thank you very much.
October 17, 2017
On 2017-10-16 20:32, Andrew Edwards wrote:

> You're a godsend. Thank you very much.

:D

-- 
/Jacob Carlborg