2017-06-10 16:11:36 +00:00
|
|
|
platform: x64
|
|
|
|
environment:
|
|
|
|
matrix:
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: nightly
|
|
|
|
arch: x64
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: nightly
|
|
|
|
arch: x86
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: beta
|
|
|
|
arch: x64
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: beta
|
|
|
|
arch: x86
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: stable
|
|
|
|
arch: x64
|
|
|
|
- DC: dmd
|
|
|
|
DVersion: stable
|
|
|
|
arch: x86
|
|
|
|
- DC: ldc
|
|
|
|
DVersion: beta
|
|
|
|
arch: x86
|
|
|
|
- DC: ldc
|
|
|
|
DVersion: beta
|
|
|
|
arch: x64
|
|
|
|
- DC: ldc
|
|
|
|
DVersion: stable
|
|
|
|
arch: x86
|
|
|
|
- DC: ldc
|
|
|
|
DVersion: stable
|
|
|
|
arch: x64
|
|
|
|
|
|
|
|
skip_tags: false
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|
|
|
|
install:
|
|
|
|
- ps: function ResolveLatestDMD
|
|
|
|
{
|
|
|
|
$version = $env:DVersion;
|
|
|
|
if($version -eq "stable") {
|
|
|
|
$latest = (Invoke-WebRequest "http://downloads.dlang.org/releases/LATEST").toString();
|
|
|
|
$url = "http://downloads.dlang.org/releases/2.x/$($latest)/dmd.$($latest).windows.7z";
|
|
|
|
}elseif($version -eq "beta") {
|
|
|
|
$latest = (Invoke-WebRequest "http://downloads.dlang.org/pre-releases/LATEST").toString();
|
|
|
|
$latestVersion = $latest.split("-")[0].split("~")[0];
|
|
|
|
$url = "http://downloads.dlang.org/pre-releases/2.x/$($latestVersion)/dmd.$($latest).windows.7z";
|
|
|
|
}elseif($version -eq "nightly") {
|
|
|
|
$url = "http://nightlies.dlang.org/dmd-master-2017-05-20/dmd.master.windows.7z"
|
|
|
|
}else {
|
|
|
|
$url = "http://downloads.dlang.org/releases/2.x/$($version)/dmd.$($version).windows.7z";
|
|
|
|
}
|
|
|
|
$env:PATH += ";C:\dmd2\windows\bin;";
|
|
|
|
return $url;
|
|
|
|
}
|
|
|
|
- ps: function ResolveLatestLDC
|
|
|
|
{
|
|
|
|
$version = $env:DVersion;
|
2018-01-18 01:08:57 +00:00
|
|
|
$arch = $env:arch;
|
2017-06-10 16:11:36 +00:00
|
|
|
if($version -eq "stable") {
|
|
|
|
$latest = (Invoke-WebRequest "https://ldc-developers.github.io/LATEST").toString().replace("`n","").replace("`r","");
|
2018-01-18 01:08:57 +00:00
|
|
|
$url = "https://github.com/ldc-developers/ldc/releases/download/v$($latest)/ldc2-$($latest)-windows-$($arch).7z";
|
2017-06-10 16:11:36 +00:00
|
|
|
}elseif($version -eq "beta") {
|
|
|
|
$latest = (Invoke-WebRequest "https://ldc-developers.github.io/LATEST_BETA").toString().replace("`n","").replace("`r","");
|
2018-01-18 01:08:57 +00:00
|
|
|
$url = "https://github.com/ldc-developers/ldc/releases/download/v$($latest)/ldc2-$($latest)-windows-$($arch).7z";
|
2017-06-10 16:11:36 +00:00
|
|
|
} else {
|
|
|
|
$latest = $version;
|
2018-01-18 01:08:57 +00:00
|
|
|
$url = "https://github.com/ldc-developers/ldc/releases/download/v$($version)/ldc2-$($version)-windows-$($arch).7z";
|
2017-06-10 16:11:36 +00:00
|
|
|
}
|
2018-01-18 01:08:57 +00:00
|
|
|
$env:PATH += ";C:\ldc2-$($latest)-windows-$($arch)\bin";
|
2017-06-10 16:11:36 +00:00
|
|
|
$env:DC = "ldc2";
|
|
|
|
return $url;
|
|
|
|
}
|
|
|
|
- ps: function SetUpDCompiler
|
|
|
|
{
|
|
|
|
$env:toolchain = "msvc";
|
|
|
|
if($env:DC -eq "dmd"){
|
|
|
|
echo "downloading ...";
|
|
|
|
$url = ResolveLatestDMD;
|
|
|
|
echo $url;
|
|
|
|
Invoke-WebRequest $url -OutFile "c:\dmd.7z";
|
|
|
|
echo "finished.";
|
|
|
|
pushd c:\\;
|
|
|
|
7z x dmd.7z > $null;
|
|
|
|
popd;
|
|
|
|
}
|
|
|
|
elseif($env:DC -eq "ldc"){
|
|
|
|
echo "downloading ...";
|
|
|
|
$url = ResolveLatestLDC;
|
|
|
|
echo $url;
|
|
|
|
Invoke-WebRequest $url -OutFile "c:\ldc.zip";
|
|
|
|
echo "finished.";
|
|
|
|
pushd c:\\;
|
|
|
|
7z x ldc.zip > $null;
|
|
|
|
popd;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
- ps: SetUpDCompiler
|
|
|
|
|
|
|
|
build_script:
|
|
|
|
- ps: if($env:arch -eq "x86"){
|
|
|
|
$env:compilersetupargs = "x86";
|
|
|
|
$env:Darch = "x86";
|
|
|
|
$env:DConf = "m32";
|
|
|
|
}elseif($env:arch -eq "x64"){
|
|
|
|
$env:compilersetupargs = "amd64";
|
|
|
|
$env:Darch = "x86_64";
|
|
|
|
$env:DConf = "m64";
|
|
|
|
}
|
|
|
|
- ps: $env:compilersetup = "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall";
|
|
|
|
- '"%compilersetup%" %compilersetupargs%'
|
|
|
|
|
|
|
|
test_script:
|
|
|
|
- echo %PLATFORM%
|
|
|
|
- echo %Darch%
|
|
|
|
- echo %DC%
|
|
|
|
- echo %PATH%
|
|
|
|
- '%DC% --version'
|
|
|
|
- dub test --arch=%Darch% --compiler=%DC%
|