From 2886ed5697c86dbb9d71892a06608fbd20f0d638 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 8 Oct 2020 18:55:44 -0400 Subject: [PATCH 01/66] Attempt to use Azure to build the MSI. --- .ci/windows-steps.yaml | 94 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 69a33520a3..8cf26046fe 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -122,6 +122,95 @@ steps: replaceExistingArchive: true displayName: 'Build artifacts' +# Build MSI installer. +- powershell: | + # Pull the documentation for the installer. + try { + (new-object net.webclient).DownloadFile(${env:JENKINS_DOC_DOWNLOAD}, + 'dist\win-installer\jenkinsdoc.zip') + } + catch { + Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!" + } + try { + (Add-Type -AssemblyName System.IO.Compression.FileSystem); + [System.IO.Compression.ZipFile]::ExtractToDirectory(${env:JENKINS_DOC}, + 'dist\win-installer\staging\doc') + } + catch { + Write-Output "Unable to add doc to installer, skipping!" + } + # Preparing installer staging. + mkdir dist\win-installer\staging\lib + cp build\Release\*.lib dist\win-installer\staging\lib\ + cp build\Release\*.exp dist\win-installer\staging\lib\ + cp build\Release\*.dll dist\win-installer\staging\ + cp build\Release\*.exe dist\win-installer\staging\ + cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\staging\ + cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\staging\ + cp build\include\mlpack dist\win-installer\staging -recurse + cp doc\examples dist\win-installer\staging -recurse + cp src\mlpack\tests\data\german.csv dist\win-installer\staging\examples\sample-ml-app\sample-ml-app\data\ + # Check current git version or mlpack version. + $ver = (Get-Content + "src\mlpack\core\util\version.hpp" | + where {$_ -like "*MLPACK_VERSION*"}); + $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; + $env:MLPACK_VERSION += $ver[1].substring($ver[1].length - 1, 1) + '.'; + $env:MLPACK_VERSION += $ver[2].substring($ver[2].length - 1, 1); + + if (Test-Path "src/mlpack/core/util/gitversion.hpp") + { + $ver = (Get-Content ${env:GIT_VERSION_FILE}); + $env:INSTALL_VERSION = $ver.Split('"')[1].Split(' ')[1]; + } + else + { + $env:INSTALL_VERSION = $env:MLPACK_VERSION; + } + # Build the MSI installer. + cd dist\win-installer\mlpack-win-installer + heat dir ..\staging + -cg HeatGenerated + -dr INSTALLFOLDER + -sreg + -srd + -var var.HarvestPath + -ag + -sfrag + -out HeatGeneratedFileList.wxs + candle + -dHarvestPath=..\staging + -dConfiguration=Release + -dOutDir=bin\x64\Release\ + -dPlatform=x64 + -dProjectDir=. + -dProjectExt=.wixproj + -dProjectFileName=mlpack-win-installer.wixproj + -dProjectName=mlpack-win-installer + -dProjectPath=mlpack-win-installer.wixproj + -dTargetDir=.\bin\x64\Release\ + -dTargetExt=.msi + -dTargetFileName=mlpack-windows.msi + -dTargetName=mlpack-windows + -dTargetPath=.\bin\x64\Release\mlpack-windows.msi + -out obj\x64\Release\ + -arch x64 + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" + Product.wxs HeatGeneratedFileList.wxs + light + -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi + -pdbout .\bin\x64\Release\mlpack-windows.wixpdb + -cultures:null + -loc mlpack-localization.wxl + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" + -contentsfile obj\x64\Release\mlpack-win-installer.wixproj.BindContentsFileListnull.txt + -outputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindOutputsFileListnull.txt + -builtoutputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt + -wixprojectfile mlpack-win-installer.wixproj + obj\x64\Release\Product.wixobj obj\x64\Release\HeatGeneratedFileList.wixobj + displayName: 'Build MSI Windows installer' + # Publish artifacts to Azure Pipelines - task: PublishBuildArtifacts@1 inputs: @@ -138,6 +227,11 @@ steps: pathtoPublish: 'build/Testing/' artifactName: 'Tests' displayName: 'Publish artifacts test results' +- task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: 'dist\win-installer\mlpack-win-installer\bin\x64\Release\*.msi' + artifactName: mlpack-windows-installer + displayName: 'Publish Windows MSI installer' # Publish test results to Azure Pipelines - task: PublishTestResults@2 From 0a8928d4cc44eab60e20aa4150ed76412f63bc72 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 8 Oct 2020 18:55:55 -0400 Subject: [PATCH 02/66] Remove the AppVeyor configuration entirely. --- .appveyor.yml | 258 -------------------------------------------------- 1 file changed, 258 deletions(-) delete mode 100644 .appveyor.yml diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 633d0c120f..0000000000 --- a/.appveyor.yml +++ /dev/null @@ -1,258 +0,0 @@ -clone_depth: 10 - -environment: - BOOST_PROG_OPTION : "C:/projects/mlpack/\ - boost_program_options-vc140.1.60.0.0/lib/native/address-model-64/lib/*.*" - BOOST_MATH : "C:/projects/mlpack/\ - boost_math_c99-vc140.1.60.0.0/lib/native/address-model-64/lib/*.*" - BOOST_RANDOM : "C:/projects/mlpack/\ - boost_random-vc140.1.60.0.0/lib/native/address-model-64/lib/*.*" - BOOST_SERIALIZATION : "C:/projects/mlpack/\ - boost_serialization-vc140.1.60.0.0/lib/native/address-model-64/lib/*.*" - BOOST_UNIT_TEST : "C:/projects/mlpack/\ - boost_unit_test_framework-vc140.1.60.0.0/lib/native/address-model-64/lib/*.*" - ARMADILLO_DOWNLOAD : "https://data.kurg.org/armadillo-8.400.0.tar.xz" - ARMADILLO_LIBRARY : "C:/projects/mlpack/armadillo-8.400.0/\ - build/Debug/armadillo.lib" - BLAS_LIBRARY : "%APPVEYOR_BUILD_FOLDER%/OpenBLAS.0.2.14.1/lib/native/lib/x64/\ - libopenblas.dll.a" - BOOST_INCLUDE : "C:/projects/mlpack/boost.1.60.0.0/lib/native/include" - JENKINS_DOC_DOWNLOAD : "http://ci.mlpack.org/job/mlpack%20-%20doxygen%20\ - build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip" - JENKINS_DOC : "C:/projects/mlpack/dist/win-installer/jenkinsdoc.zip" - GIT_VERSION_FILE : "C:/projects/mlpack/src/mlpack/core/util/gitversion.hpp" - matrix: - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - VSVER: Visual Studio 14 2015 Win64 - MSBUILD: C:\Program Files (x86)\MSBuild\14.0\bin\MSBuild.exe - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - VSVER: Visual Studio 15 2017 Win64 - MSBUILD: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe -# Currently, the VS2019 build seems to always time out. This seems to be an -# AppVeyor issue. -# - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 -# VSVER: Visual Studio 16 2019 -# MSBUILD: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe - - -configuration: Release - -os: Visual Studio 2015 - -install: - - ps: nuget install boost -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: > - nuget install boost_unit_test_framework-vc140 - -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: > - nuget install boost_program_options-vc140 - -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: > - nuget install boost_random-vc140 - -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: > - nuget install boost_serialization-vc140 - -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: > - nuget install boost_math_c99-vc140 - -o "${env:APPVEYOR_BUILD_FOLDER}" -Version 1.60.0 - - ps: nuget install OpenBLAS -o "${env:APPVEYOR_BUILD_FOLDER}" - - set path=C:\Program Files (x86)\WiX Toolset v3.11\bin;%path% - -build_script: - - mkdir boost_libs - - ps: cp ${env:BOOST_PROG_OPTION} C:\projects\mlpack\boost_libs\ - - ps: cp ${env:BOOST_MATH} C:\projects\mlpack\boost_libs\ - - ps: cp ${env:BOOST_RANDOM} C:\projects\mlpack\boost_libs\ - - ps: cp ${env:BOOST_SERIALIZATION} C:\projects\mlpack\boost_libs\ - - ps: cp ${env:BOOST_UNIT_TEST} C:\projects\mlpack\boost_libs\ - - echo TEST_ARMA is %ARMADILLO_DOWNLOAD% - - > - appveyor DownloadFile %ARMADILLO_DOWNLOAD% - -FileName armadillo.tar.xz - - 7z x armadillo.tar.xz -so -txz | 7z x -si -ttar > nul - - cd armadillo-8.400.0 && mkdir build && cd build - - > - cmake -G "%VSVER%" - -DBLAS_LIBRARY:FILEPATH=%BLAS_LIBRARY% - -DLAPACK_LIBRARY:FILEPATH=%BLAS_LIBRARY% - -DCMAKE_PREFIX:FILEPATH="%APPVEYOR_BUILD_FOLDER%/armadillo" - -DBUILD_SHARED_LIBS=OFF - -DCMAKE_BUILD_TYPE=Release .. - - > - "%MSBUILD%" "C:\projects\mlpack\armadillo-8.400.0\build\armadillo.sln" - /m /verbosity:quiet /p:Configuration=Release;Platform=x64 - - cd C:\projects\mlpack && mkdir build && cd build - - > - cmake -G "%VSVER%" - -DBLAS_LIBRARIES:FILEPATH=%BLAS_LIBRARY% - -DLAPACK_LIBRARIES:FILEPATH=%BLAS_LIBRARY% - -DARMADILLO_INCLUDE_DIR="C:/projects/mlpack/armadillo-8.400.0/include" - -DARMADILLO_LIBRARY:FILEPATH=%ARMADILLO_LIBRARY% - -DBOOST_INCLUDEDIR:PATH=%BOOST_INCLUDE% - -DBOOST_LIBRARYDIR:PATH="C:/projects/mlpack/boost_libs" - -DDEBUG=OFF - -DPROFILE=OFF - -DBUILD_PYTHON_BINDINGS=OFF - -DBUILD_GO_BINDINGS=OFF - -DBUILD_R_BINDINGS=OFF - -DCMAKE_BUILD_TYPE=Release .. - - > - "%MSBUILD%" "C:\projects\mlpack\build\mlpack.sln" - /m /verbosity:minimal /nologo /p:BuildInParallel=true - /p:Configuration=Release;Platform=x64 - - # Zip Artifacts. - - > - 7z a mlpack-windows-no-libs.zip - "%APPVEYOR_BUILD_FOLDER%\build\Release\*.exe" - - > - 7z a mlpack-windows.zip - "%APPVEYOR_BUILD_FOLDER%\build\Release\*.*" - "%APPVEYOR_BUILD_FOLDER%/OpenBLAS.0.2.14.1/lib/native/lib/x64/*.*" - - # Pulling documentation for the installer. - - ps: > - try{(new-object net.webclient).DownloadFile(${env:JENKINS_DOC_DOWNLOAD}, - 'C:\projects\mlpack\dist\win-installer\jenkinsdoc.zip')} - catch{Write-Output "Unable to pull jenkins doc, skipping!"} - - ps: > - try{(Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory(${env:JENKINS_DOC}, - 'C:\projects\mlpack\dist\win-installer\staging\doc')} - catch{Write-Output "Unable to add doc to installer, skipping!"} - - # Preparing installer staging. - - cd C:\projects\mlpack\dist\win-installer\staging && mkdir lib - - ps: > - cp C:\projects\mlpack\build\Release\*.lib - C:\projects\mlpack\dist\win-installer\staging\lib\ - - ps: > - cp C:\projects\mlpack\build\Release\*.exp - C:\projects\mlpack\dist\win-installer\staging\lib\ - - ps: > - cp C:\projects\mlpack\build\Release\*.dll - C:\projects\mlpack\dist\win-installer\staging\ - - ps: > - cp C:\projects\mlpack\build\Release\*.exe - C:\projects\mlpack\dist\win-installer\staging\ - - ps: > - cp C:\projects\mlpack\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll - C:\projects\mlpack\dist\win-installer\staging\ - - ps: > - cp C:\projects\mlpack\boost_libs\boost_unit_test_framework-vc*.dll - C:\projects\mlpack\dist\win-installer\staging\ - - ps: > - cp C:\projects\mlpack\build\include\mlpack - C:\projects\mlpack\dist\win-installer\staging -recurse - - ps: > - cp C:\projects\mlpack\doc\examples - C:\projects\mlpack\dist\win-installer\staging -recurse - - ps: > - cp C:\projects\mlpack\src\mlpack\tests\data\german.csv - C:\projects\mlpack\dist\win-installer\staging\examples\sample-ml-app\sample-ml-app\data\ - - # Checking current gitversion or mlpack version. - - ps: > - $ver = (Get-Content - "${env:APPVEYOR_BUILD_FOLDER}\src\mlpack\core\util\version.hpp" | - where {$_ -like "*MLPACK_VERSION*"}); - $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; - $env:MLPACK_VERSION += $ver[1].substring($ver[1].length - 1, 1) + '.'; - $env:MLPACK_VERSION += $ver[2].substring($ver[2].length - 1, 1); - - if (Test-Path ${env:GIT_VERSION_FILE}) - { - $ver = (Get-Content ${env:GIT_VERSION_FILE}); - $env:INSTALL_VERSION = $ver.Split('"')[1].Split(' ')[1]; - } - else - { - $env:INSTALL_VERSION = $env:MLPACK_VERSION; - } - - echo INSTALL_VERSION is %INSTALL_VERSION% - - # Building MSI installer. - - cd C:\projects\mlpack\dist\win-installer\mlpack-win-installer - - > - heat dir ..\staging - -cg HeatGenerated - -dr INSTALLFOLDER - -sreg - -srd - -var var.HarvestPath - -ag - -sfrag - -out HeatGeneratedFileList.wxs - - > - candle -dHarvestPath=..\staging - -dConfiguration=Release - -dOutDir=bin\x64\Release\ - -dPlatform=x64 - -dProjectDir=. - -dProjectExt=.wixproj - -dProjectFileName=mlpack-win-installer.wixproj - -dProjectName=mlpack-win-installer - -dProjectPath=mlpack-win-installer.wixproj - -dTargetDir=.\bin\x64\Release\ - -dTargetExt=.msi - -dTargetFileName=mlpack-windows.msi - -dTargetName=mlpack-windows - -dTargetPath=.\bin\x64\Release\mlpack-windows.msi - -out obj\x64\Release\ - -arch x64 - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" - Product.wxs HeatGeneratedFileList.wxs - - > - light -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi - -pdbout .\bin\x64\Release\mlpack-windows.wixpdb - -cultures:null - -loc mlpack-localization.wxl - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" - -contentsfile - obj\x64\Release\mlpack-win-installer.wixproj.BindContentsFileListnull.txt - -outputsfile - obj\x64\Release\mlpack-win-installer.wixproj.BindOutputsFileListnull.txt - -builtoutputsfile - obj\x64\Release\mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt - -wixprojectfile - mlpack-win-installer.wixproj - obj\x64\Release\Product.wixobj - obj\x64\Release\HeatGeneratedFileList.wixobj - -artifacts: - - path: 'build\*.zip' - name: mlpack-windows-zip - - - path: 'dist\win-installer\mlpack-win-installer\bin\x64\Release\*.msi' - name: mlpack-windows-installer - -notifications: -- provider: Email - to: - - mlpack-git@lists.mlpack.org - on_build_success: true - on_build_failure: true - on_build_status_changed: true - -cache: - - packages -> **\packages.config - - armadillo.tar.xz -> appveyor.yaml - -test_script: - # Copy all DLLs into the right place before running the test. - - ps: cp C:\projects\mlpack\boost_libs\*.* C:\projects\mlpack\build\ - - ps: > - cp C:\projects\mlpack\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.* - C:\projects\mlpack\build\ - - cd "%APPVEYOR_BUILD_FOLDER%/build/" - - > - Release\mlpack_test.exe - --report_level=detailed - --log_level=test_suite --log_format=XML > mlpack_test.xml & exit 0 - # Attempt to upload results to AppVeyor. - - ps: > - $wc = New-Object 'System.Net.WebClient'; - $wc.UploadFile( - "https://ci.appveyor.com/api/testresults/xunit/$($env:APPVEYOR_JOB_ID)", - (Resolve-Path .\mlpack_test.xml)); From 45f80112eb4c438db835715ca6650685250bb571 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 8 Oct 2020 18:56:14 -0400 Subject: [PATCH 03/66] Temporarily disable Linux and OS X jobs. --- .ci/ci.yaml | 118 ++++++++++++++++++++++++++-------------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/.ci/ci.yaml b/.ci/ci.yaml index 89adaec398..6354363894 100644 --- a/.ci/ci.yaml +++ b/.ci/ci.yaml @@ -8,65 +8,65 @@ pr: - '*' jobs: -- job: Linux - timeoutInMinutes: 360 - pool: - vmImage: ubuntu-16.04 - strategy: - matrix: - Plain: - CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - Python: - binding: 'python' - python.version: '3.7' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - Julia: - julia.version: '1.3.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.3.0/bin/julia -DBUILD_R_BINDINGS=OFF' - Go: - binding: 'go' - go.version: '1.11.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' - R: - binding: 'R' - R.version: '4.0.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON' - Markdown: - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_MARKDOWN_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - - steps: - - template: linux-steps.yaml - -- job: macOS - timeoutInMinutes: 360 - pool: - vmImage: macOS-10.14 - strategy: - matrix: - Plain: - CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - python.version: '2.7' - Python: - binding: 'python' - python.version: '3.7' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - Julia: - python.version: '2.7' - julia.version: '1.3.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - Go: - binding: 'go' - python.version: '2.7' - go.version: '1.11.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' - R: - binding: 'R' - python.version: '2.7' - R.version: '4.0.0' - CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON' - - steps: - - template: macos-steps.yaml +#- job: Linux +# timeoutInMinutes: 360 +# pool: +# vmImage: ubuntu-16.04 +# strategy: +# matrix: +# Plain: +# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# Python: +# binding: 'python' +# python.version: '3.7' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# Julia: +# julia.version: '1.3.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.3.0/bin/julia -DBUILD_R_BINDINGS=OFF' +# Go: +# binding: 'go' +# go.version: '1.11.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' +# R: +# binding: 'R' +# R.version: '4.0.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON' +# Markdown: +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_MARKDOWN_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# +# steps: +# - template: linux-steps.yaml +# +#- job: macOS +# timeoutInMinutes: 360 +# pool: +# vmImage: macOS-10.14 +# strategy: +# matrix: +# Plain: +# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# python.version: '2.7' +# Python: +# binding: 'python' +# python.version: '3.7' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# Julia: +# python.version: '2.7' +# julia.version: '1.3.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# Go: +# binding: 'go' +# python.version: '2.7' +# go.version: '1.11.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' +# R: +# binding: 'R' +# python.version: '2.7' +# R.version: '4.0.0' +# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=ON' +# +# steps: +# - template: macos-steps.yaml - job: WindowsVS15 timeoutInMinutes: 360 From 7aaf1d74820bb3e4959440dc9402a5ad6b486790 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 8 Oct 2020 21:39:09 -0400 Subject: [PATCH 04/66] Try to fix syntax. --- .ci/windows-steps.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 8cf26046fe..18bd50a0e5 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -152,12 +152,10 @@ steps: cp doc\examples dist\win-installer\staging -recurse cp src\mlpack\tests\data\german.csv dist\win-installer\staging\examples\sample-ml-app\sample-ml-app\data\ # Check current git version or mlpack version. - $ver = (Get-Content - "src\mlpack\core\util\version.hpp" | - where {$_ -like "*MLPACK_VERSION*"}); - $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; - $env:MLPACK_VERSION += $ver[1].substring($ver[1].length - 1, 1) + '.'; - $env:MLPACK_VERSION += $ver[2].substring($ver[2].length - 1, 1); + $ver = (Get-Content "src\mlpack\core\util\version.hpp" where {$_ -like "*MLPACK_VERSION*"}); + $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; + $env:MLPACK_VERSION += $ver[1].substring($ver[1].length - 1, 1) + '.'; + $env:MLPACK_VERSION += $ver[2].substring($ver[2].length - 1, 1); if (Test-Path "src/mlpack/core/util/gitversion.hpp") { From 58edc52e7047dec05e8a8903b8770fa7aafe4f0f Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 9 Oct 2020 10:49:06 -0400 Subject: [PATCH 05/66] Maybe we need the pipe? --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 18bd50a0e5..fc5d5f9ab7 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -152,7 +152,7 @@ steps: cp doc\examples dist\win-installer\staging -recurse cp src\mlpack\tests\data\german.csv dist\win-installer\staging\examples\sample-ml-app\sample-ml-app\data\ # Check current git version or mlpack version. - $ver = (Get-Content "src\mlpack\core\util\version.hpp" where {$_ -like "*MLPACK_VERSION*"}); + $ver = (Get-Content "src\mlpack\core\util\version.hpp" | where {$_ -like "*MLPACK_VERSION*"}); $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; $env:MLPACK_VERSION += $ver[1].substring($ver[1].length - 1, 1) + '.'; $env:MLPACK_VERSION += $ver[2].substring($ver[2].length - 1, 1); From f36060d47d6556aab1328390a592e52b2b7a1eee Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 9 Oct 2020 19:56:56 -0400 Subject: [PATCH 06/66] Try to fix a few bugs. --- .ci/windows-steps.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index fc5d5f9ab7..d644f6345f 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -126,7 +126,7 @@ steps: - powershell: | # Pull the documentation for the installer. try { - (new-object net.webclient).DownloadFile(${env:JENKINS_DOC_DOWNLOAD}, + (new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), 'dist\win-installer\jenkinsdoc.zip') } catch { @@ -134,7 +134,7 @@ steps: } try { (Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory(${env:JENKINS_DOC}, + [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\staging\doc') } catch { @@ -159,7 +159,7 @@ steps: if (Test-Path "src/mlpack/core/util/gitversion.hpp") { - $ver = (Get-Content ${env:GIT_VERSION_FILE}); + $ver = (Get-Content "src/mlpack/core/util/gitversion.hpp" $env:INSTALL_VERSION = $ver.Split('"')[1].Split(' ')[1]; } else From 332c0c56d751a14147da90f03f98153af3059351 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 9 Oct 2020 23:11:38 -0400 Subject: [PATCH 07/66] Some additional syntax fixes (I hope...). --- .ci/windows-steps.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index d644f6345f..b317a0497c 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -126,8 +126,7 @@ steps: - powershell: | # Pull the documentation for the installer. try { - (new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), - 'dist\win-installer\jenkinsdoc.zip') + (new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), 'dist\win-installer\jenkinsdoc.zip') } catch { Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!" @@ -159,7 +158,7 @@ steps: if (Test-Path "src/mlpack/core/util/gitversion.hpp") { - $ver = (Get-Content "src/mlpack/core/util/gitversion.hpp" + $ver = (Get-Content "src/mlpack/core/util/gitversion.hpp"); $env:INSTALL_VERSION = $ver.Split('"')[1].Split(' ')[1]; } else From 7fdc820181e70a2d14c330980ac19ebc498aabfc Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 10 Oct 2020 13:59:50 -0400 Subject: [PATCH 08/66] Okay, does it all need to be on one line? --- .ci/windows-steps.yaml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index b317a0497c..82343803d1 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -125,20 +125,10 @@ steps: # Build MSI installer. - powershell: | # Pull the documentation for the installer. - try { - (new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), 'dist\win-installer\jenkinsdoc.zip') - } - catch { - Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!" - } - try { - (Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', - 'dist\win-installer\staging\doc') - } - catch { - Write-Output "Unable to add doc to installer, skipping!" - } + try{(new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), 'dist\win-installer\jenkinsdoc.zip')} + catch{Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!"} + try {(Add-Type -AssemblyName System.IO.Compression.FileSystem); [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\staging\doc')} + catch{Write-Output "Unable to add doc to installer, skipping!"} # Preparing installer staging. mkdir dist\win-installer\staging\lib cp build\Release\*.lib dist\win-installer\staging\lib\ From f63615c458b677b2ad33e6559f968afa701c82da Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 10 Oct 2020 17:01:54 -0400 Subject: [PATCH 09/66] Okay, maybe this syntax is okay? --- .ci/windows-steps.yaml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 82343803d1..69734a9d1a 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -125,9 +125,17 @@ steps: # Build MSI installer. - powershell: | # Pull the documentation for the installer. - try{(new-object net.webclient).DownloadFile('http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip'), 'dist\win-installer\jenkinsdoc.zip')} - catch{Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!"} - try {(Add-Type -AssemblyName System.IO.Compression.FileSystem); [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\staging\doc')} + try { + $url = "http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip" + (new-object net.webclient).DownloadFile($url), 'dist\win-installer\jenkinsdoc.zip') + } + catch { + Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!" + } + try { + (Add-Type -AssemblyName System.IO.Compression.FileSystem); + [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\staging\doc') + } catch{Write-Output "Unable to add doc to installer, skipping!"} # Preparing installer staging. mkdir dist\win-installer\staging\lib From 989ce6c911be499aa1a2e0f6546163355fbc5b5e Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 11 Oct 2020 10:12:54 -0400 Subject: [PATCH 10/66] Ok, oops, I had one too many ); that should have been obvious... --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 69734a9d1a..4cc616dd30 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -127,7 +127,7 @@ steps: # Pull the documentation for the installer. try { $url = "http://ci.mlpack.org/job/mlpack%20-%20doxygen%20build/lastSuccessfulBuild/artifact/build/doc/html/*zip*/html.zip" - (new-object net.webclient).DownloadFile($url), 'dist\win-installer\jenkinsdoc.zip') + (new-object net.webclient).DownloadFile($url, 'dist\win-installer\jenkinsdoc.zip') } catch { Write-Output "Unable to download precompiled Doxygen documentation from Jenkins!" From 8ef8f94ce59b699bfe95711771a9d17ba26b6ac7 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 11 Oct 2020 13:10:17 -0400 Subject: [PATCH 11/66] Hey, getting somewhere! Now there is a path issue. --- .ci/windows-steps.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 4cc616dd30..7ec2c38120 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,6 +164,8 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. + dir C:\Program Files (x86)\ + set path=C:\Program Files (x86)\WiX Toolset v3.11\bin;%path% cd dist\win-installer\mlpack-win-installer heat dir ..\staging -cg HeatGenerated From 4435692182cd45db2717006be4b0b436e37d4ad2 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 11 Oct 2020 20:25:15 -0400 Subject: [PATCH 12/66] Try escaping the string. --- .ci/windows-steps.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 7ec2c38120..e45fb26eb6 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,8 +164,8 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. - dir C:\Program Files (x86)\ - set path=C:\Program Files (x86)\WiX Toolset v3.11\bin;%path% + dir "C:\Program Files (x86)\" + set path="C:\Program Files (x86)\WiX Toolset v3.11\bin";%path% cd dist\win-installer\mlpack-win-installer heat dir ..\staging -cg HeatGenerated From c333b69ecc8e84a651db2c7cf579cf40259de3bb Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 12 Oct 2020 09:50:00 -0400 Subject: [PATCH 13/66] Maybe with powershell I get the path with $path not %path%? --- .ci/windows-steps.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index e45fb26eb6..f86cf73d1d 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,8 +164,7 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. - dir "C:\Program Files (x86)\" - set path="C:\Program Files (x86)\WiX Toolset v3.11\bin";%path% + set path="C:\Program Files (x86)\WiX Toolset v3.11\bin";$path cd dist\win-installer\mlpack-win-installer heat dir ..\staging -cg HeatGenerated From 17a5777263bf244d811fb0722a41e32eb262fdd3 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 12 Oct 2020 12:50:44 -0400 Subject: [PATCH 14/66] Maybe this gets us closer with the path? --- .ci/windows-steps.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index f86cf73d1d..7d1c267821 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,8 +164,10 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. - set path="C:\Program Files (x86)\WiX Toolset v3.11\bin";$path + $env:Path += "C:\Program Files (x86)\WiX Toolset v3.11\bin" cd dist\win-installer\mlpack-win-installer + dir "C:\Program Files (x86)\WiX Toolset v3.11\" + dir "C:\Program Files (x86)\WiX Toolset v3.11\bin\" heat dir ..\staging -cg HeatGenerated -dr INSTALLFOLDER From 4cb5e7ffce1ddc7d30ace5e8d83a63349c64cb93 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 12 Oct 2020 15:09:37 -0400 Subject: [PATCH 15/66] Ok, forget the path, just specify directly. --- .ci/windows-steps.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 7d1c267821..9519ef4699 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,11 +164,8 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. - $env:Path += "C:\Program Files (x86)\WiX Toolset v3.11\bin" cd dist\win-installer\mlpack-win-installer - dir "C:\Program Files (x86)\WiX Toolset v3.11\" - dir "C:\Program Files (x86)\WiX Toolset v3.11\bin\" - heat dir ..\staging + "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ..\staging -cg HeatGenerated -dr INSTALLFOLDER -sreg @@ -177,7 +174,7 @@ steps: -ag -sfrag -out HeatGeneratedFileList.wxs - candle + "C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe" -dHarvestPath=..\staging -dConfiguration=Release -dOutDir=bin\x64\Release\ @@ -196,7 +193,7 @@ steps: -arch x64 -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" Product.wxs HeatGeneratedFileList.wxs - light + "C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe" -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi -pdbout .\bin\x64\Release\mlpack-windows.wixpdb -cultures:null From 42aae59d1071f7c302c8eb2318a8db1c855afd7c Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 12 Oct 2020 19:00:42 -0400 Subject: [PATCH 16/66] Seriously? Backticks for line continuation? --- .ci/windows-steps.yaml | 72 +++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 9519ef4699..37908bc2be 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -165,44 +165,44 @@ steps: } # Build the MSI installer. cd dist\win-installer\mlpack-win-installer - "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir ..\staging - -cg HeatGenerated - -dr INSTALLFOLDER - -sreg - -srd - -var var.HarvestPath - -ag - -sfrag + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ..\staging ` + -cg HeatGenerated ` + -dr INSTALLFOLDER ` + -sreg ` + -srd ` + -var var.HarvestPath ` + -ag ` + -sfrag ` -out HeatGeneratedFileList.wxs - "C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe" - -dHarvestPath=..\staging - -dConfiguration=Release - -dOutDir=bin\x64\Release\ - -dPlatform=x64 - -dProjectDir=. - -dProjectExt=.wixproj - -dProjectFileName=mlpack-win-installer.wixproj - -dProjectName=mlpack-win-installer - -dProjectPath=mlpack-win-installer.wixproj - -dTargetDir=.\bin\x64\Release\ - -dTargetExt=.msi - -dTargetFileName=mlpack-windows.msi - -dTargetName=mlpack-windows - -dTargetPath=.\bin\x64\Release\mlpack-windows.msi - -out obj\x64\Release\ - -arch x64 - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dHarvestPath=..\staging ` + -dConfiguration=Release ` + -dOutDir=bin\x64\Release\ ` + -dPlatform=x64 ` + -dProjectDir=. ` + -dProjectExt=.wixproj ` + -dProjectFileName=mlpack-win-installer.wixproj ` + -dProjectName=mlpack-win-installer ` + -dProjectPath=mlpack-win-installer.wixproj ` + -dTargetDir=.\bin\x64\Release\ ` + -dTargetExt=.msi ` + -dTargetFileName=mlpack-windows.msi ` + -dTargetName=mlpack-windows ` + -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` + -out obj\x64\Release\ ` + -arch x64 ` + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` Product.wxs HeatGeneratedFileList.wxs - "C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe" - -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi - -pdbout .\bin\x64\Release\mlpack-windows.wixpdb - -cultures:null - -loc mlpack-localization.wxl - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" - -contentsfile obj\x64\Release\mlpack-win-installer.wixproj.BindContentsFileListnull.txt - -outputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindOutputsFileListnull.txt - -builtoutputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt - -wixprojectfile mlpack-win-installer.wixproj + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` + -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi ` + -pdbout .\bin\x64\Release\mlpack-windows.wixpdb ` + -cultures:null ` + -loc mlpack-localization.wxl ` + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` + -contentsfile obj\x64\Release\mlpack-win-installer.wixproj.BindContentsFileListnull.txt ` + -outputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindOutputsFileListnull.txt ` + -builtoutputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt ` + -wixprojectfile mlpack-win-installer.wixproj ` obj\x64\Release\Product.wixobj obj\x64\Release\HeatGeneratedFileList.wixobj displayName: 'Build MSI Windows installer' From abd258eceeda09beea5acb8ad92fba43d1fbd2f0 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 13 Oct 2020 08:32:48 -0400 Subject: [PATCH 17/66] Maybe the directory did not exist? --- .ci/windows-steps.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 37908bc2be..a602584a4f 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -164,7 +164,10 @@ steps: $env:INSTALL_VERSION = $env:MLPACK_VERSION; } # Build the MSI installer. + dir + mkdir dist\win-installer\mlpack-win-installer cd dist\win-installer\mlpack-win-installer + dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ..\staging ` -cg HeatGenerated ` -dr INSTALLFOLDER ` From 6432d576e5ffa4745f1e41d26edebd1f80944439 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 13 Oct 2020 11:08:21 -0400 Subject: [PATCH 18/66] Ok, the directory already exists. --- .ci/windows-steps.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index a602584a4f..3198f90a6a 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -165,7 +165,6 @@ steps: } # Build the MSI installer. dir - mkdir dist\win-installer\mlpack-win-installer cd dist\win-installer\mlpack-win-installer dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ..\staging ` From 31750b1786b6332b43d805f0511113699f271ff5 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 13 Oct 2020 15:18:06 -0400 Subject: [PATCH 19/66] Could this be a \ vs. / issue? --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 3198f90a6a..40b4652901 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -167,7 +167,7 @@ steps: dir cd dist\win-installer\mlpack-win-installer dir - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ..\staging ` + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ../staging ` -cg HeatGenerated ` -dr INSTALLFOLDER ` -sreg ` From cc7431f019d7fbd99f3e91e9dee7c651fb4720d6 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 13 Oct 2020 21:49:19 -0400 Subject: [PATCH 20/66] More \ vs. / nonsense. --- .ci/windows-steps.yaml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 40b4652901..72e1d99597 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,35 +177,35 @@ steps: -sfrag ` -out HeatGeneratedFileList.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dHarvestPath=..\staging ` + -dHarvestPath=../staging ` -dConfiguration=Release ` - -dOutDir=bin\x64\Release\ ` + -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` -dProjectDir=. ` -dProjectExt=.wixproj ` -dProjectFileName=mlpack-win-installer.wixproj ` -dProjectName=mlpack-win-installer ` -dProjectPath=mlpack-win-installer.wixproj ` - -dTargetDir=.\bin\x64\Release\ ` + -dTargetDir=./bin/x64/Release/ ` -dTargetExt=.msi ` -dTargetFileName=mlpack-windows.msi ` -dTargetName=mlpack-windows ` - -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` - -out obj\x64\Release\ ` + -dTargetPath=./bin/x64/Release/mlpack-windows.msi ` + -out obj/x64/Release/ ` -arch x64 ` -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` Product.wxs HeatGeneratedFileList.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` - -out .\bin\x64\Release\mlpack-%INSTALL_VERSION%.msi ` - -pdbout .\bin\x64\Release\mlpack-windows.wixpdb ` + -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` + -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` -cultures:null ` -loc mlpack-localization.wxl ` -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` - -contentsfile obj\x64\Release\mlpack-win-installer.wixproj.BindContentsFileListnull.txt ` - -outputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindOutputsFileListnull.txt ` - -builtoutputsfile obj\x64\Release\mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt ` + -contentsfile obj/x64/Release/mlpack-win-installer.wixproj.BindContentsFileListnull.txt ` + -outputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindOutputsFileListnull.txt ` + -builtoutputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt ` -wixprojectfile mlpack-win-installer.wixproj ` - obj\x64\Release\Product.wixobj obj\x64\Release\HeatGeneratedFileList.wixobj + obj/x64/Release/Product.wixobj obj\x64\Release\HeatGeneratedFileList.wixobj displayName: 'Build MSI Windows installer' # Publish artifacts to Azure Pipelines From 24a5f8b1a3b57c8384de3fc697db201e8e09d5c9 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 14 Oct 2020 09:59:23 -0400 Subject: [PATCH 21/66] Okay, maybe I can get some documentation on candle.exe? --- .ci/windows-steps.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 72e1d99597..473d9fbfab 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -176,6 +176,7 @@ steps: -ag ` -sfrag ` -out HeatGeneratedFileList.wxs + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` -dHarvestPath=../staging ` -dConfiguration=Release ` From 51814aa34a9f50bdf28e520bb425cd770bbea1b3 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 14 Oct 2020 17:00:25 -0400 Subject: [PATCH 22/66] What files are in the directory? --- .ci/windows-steps.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 473d9fbfab..c78530f62b 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,6 +177,7 @@ steps: -sfrag ` -out HeatGeneratedFileList.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? + dir ../staging & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` -dHarvestPath=../staging ` -dConfiguration=Release ` From 5b1104ad49bc85025d8ded72d9ccf0962b624941 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 15 Oct 2020 10:49:21 -0400 Subject: [PATCH 23/66] What if I just remove HarvestPath? --- .ci/windows-steps.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index c78530f62b..5748e4da71 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -179,7 +179,6 @@ steps: & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? dir ../staging & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dHarvestPath=../staging ` -dConfiguration=Release ` -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` From 9d313b77ae84cae503b1c637aa6590cc5c8d19fc Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 15 Oct 2020 13:53:37 -0400 Subject: [PATCH 24/66] I dunno, this is just a random guess... --- .ci/windows-steps.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 5748e4da71..18f91135eb 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -179,6 +179,8 @@ steps: & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? dir ../staging & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + mlpack-wix-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` + -dHarvestPath=../staging/ ` -dConfiguration=Release ` -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` @@ -194,8 +196,7 @@ steps: -dTargetPath=./bin/x64/Release/mlpack-windows.msi ` -out obj/x64/Release/ ` -arch x64 ` - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` - Product.wxs HeatGeneratedFileList.wxs + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` From 7487eb6c7efef9e3ae05ce9d3b1eb49bd647f0d7 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 16 Oct 2020 11:00:10 -0400 Subject: [PATCH 25/66] Fix the spelling... --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 18f91135eb..c5ddef9926 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -179,7 +179,7 @@ steps: & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? dir ../staging & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - mlpack-wix-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` + mlpack-win-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` -dHarvestPath=../staging/ ` -dConfiguration=Release ` -dOutDir=bin/x64/Release/ ` From dac38224a7e348e22f98b41e36378eb330d8430e Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 16 Oct 2020 17:10:45 -0400 Subject: [PATCH 26/66] Try removing HarvestPath again. --- .ci/windows-steps.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index c5ddef9926..0edae83723 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -180,7 +180,6 @@ steps: dir ../staging & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` mlpack-win-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` - -dHarvestPath=../staging/ ` -dConfiguration=Release ` -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` From bbfab574bf030ece756dc1059ba16bab5f8d87f8 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 16 Oct 2020 19:53:34 -0400 Subject: [PATCH 27/66] Maybe this gets us closer? I really have no idea. --- .ci/windows-steps.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 0edae83723..08b0da9394 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -184,7 +184,6 @@ steps: -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` -dProjectDir=. ` - -dProjectExt=.wixproj ` -dProjectFileName=mlpack-win-installer.wixproj ` -dProjectName=mlpack-win-installer ` -dProjectPath=mlpack-win-installer.wixproj ` From 2f3a8d7ff1bf4416153e54a68ff3abcf0e5eefbb Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 16 Oct 2020 19:54:13 -0400 Subject: [PATCH 28/66] Disable VS15 build. --- .ci/ci.yaml | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/.ci/ci.yaml b/.ci/ci.yaml index 09357c716e..7a02c0de62 100644 --- a/.ci/ci.yaml +++ b/.ci/ci.yaml @@ -59,21 +59,22 @@ jobs: # steps: # - template: macos-steps.yaml -- job: WindowsVS15 - timeoutInMinutes: 360 - displayName: Windows VS15 - pool: - vmImage: vs2017-win2016 - strategy: - matrix: - Plain: - CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' - python.version: '2.7' - CMakeGenerator: '-G "Visual Studio 15 2017 Win64"' - MSBuildVersion: '15.0' - ArchiveNoLibs: 'mlpack-windows-vs15-no-libs.zip' - ArchiveLibs: 'mlpack-windows-vs15.zip' - ArchiveTests: 'mlpack_test-vs15.xml' +# Typically gives a C1060... +#- job: WindowsVS15 +# timeoutInMinutes: 360 +# displayName: Windows VS15 +# pool: +# vmImage: vs2017-win2016 +# strategy: +# matrix: +# Plain: +# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' +# python.version: '2.7' +# CMakeGenerator: '-G "Visual Studio 15 2017 Win64"' +# MSBuildVersion: '15.0' +# ArchiveNoLibs: 'mlpack-windows-vs15-no-libs.zip' +# ArchiveLibs: 'mlpack-windows-vs15.zip' +# ArchiveTests: 'mlpack_test-vs15.xml' steps: - template: windows-steps.yaml From fd7af11d2c0a660ff5a5e719d93948e09a117504 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 17 Oct 2020 14:28:13 -0400 Subject: [PATCH 29/66] What is even in this file? --- .ci/windows-steps.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 08b0da9394..cfc7ce5fd8 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -178,6 +178,7 @@ steps: -out HeatGeneratedFileList.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? dir ../staging + type Product.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` mlpack-win-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` -dConfiguration=Release ` From 133405989800bad0f876d611b042e6136bf210c5 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 17 Oct 2020 18:09:16 -0400 Subject: [PATCH 30/66] At this point it's just genetic algorithms. --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index cfc7ce5fd8..5fbd4c25c0 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -180,7 +180,7 @@ steps: dir ../staging type Product.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - mlpack-win-installer.wixproj Product.wxs HeatGeneratedFileList.wxs ` + Product.wxs HeatGeneratedFileList.wxs ` -dConfiguration=Release ` -dOutDir=bin/x64/Release/ ` -dPlatform=x64 ` From 497957346b73665cad135ce5ec5f58e254d2bdd4 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 17 Oct 2020 21:46:36 -0400 Subject: [PATCH 31/66] Try following some tutorial I found a little bit. --- .ci/windows-steps.yaml | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 5fbd4c25c0..77486cb3a1 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -168,34 +168,16 @@ steps: cd dist\win-installer\mlpack-win-installer dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ../staging ` - -cg HeatGenerated ` -dr INSTALLFOLDER ` - -sreg ` - -srd ` - -var var.HarvestPath ` - -ag ` - -sfrag ` - -out HeatGeneratedFileList.wxs - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' -? + -cg HeatGenerated ` + -g1 -gg -sf -srd -scom -sreg ` + -out fragment.wxs dir ../staging - type Product.wxs + dir + type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - Product.wxs HeatGeneratedFileList.wxs ` - -dConfiguration=Release ` - -dOutDir=bin/x64/Release/ ` - -dPlatform=x64 ` - -dProjectDir=. ` - -dProjectFileName=mlpack-win-installer.wixproj ` - -dProjectName=mlpack-win-installer ` - -dProjectPath=mlpack-win-installer.wixproj ` - -dTargetDir=./bin/x64/Release/ ` - -dTargetExt=.msi ` - -dTargetFileName=mlpack-windows.msi ` - -dTargetName=mlpack-windows ` - -dTargetPath=./bin/x64/Release/mlpack-windows.msi ` + Product.wxs fragment.wxs ` -out obj/x64/Release/ ` - -arch x64 ` - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` From 78888bbbc3c97b85a6aca6b2a44cd0d1dda26759 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 18 Oct 2020 11:43:26 -0400 Subject: [PATCH 32/66] Oops, remove accidental backtick. --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 77486cb3a1..bc021fe5db 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,7 +177,7 @@ steps: type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` Product.wxs fragment.wxs ` - -out obj/x64/Release/ ` + -out obj/x64/Release/ & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` From c6a8f796e447b307662a37d36ef32f3e0e91af17 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 19 Oct 2020 11:51:29 -0400 Subject: [PATCH 33/66] I wonder what will happen now? --- .ci/windows-steps.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index bc021fe5db..e0fd98d7d0 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -178,6 +178,7 @@ steps: & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` Product.wxs fragment.wxs ` -out obj/x64/Release/ + dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` @@ -188,7 +189,7 @@ steps: -outputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindOutputsFileListnull.txt ` -builtoutputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt ` -wixprojectfile mlpack-win-installer.wixproj ` - obj/x64/Release/Product.wixobj obj\x64\Release\HeatGeneratedFileList.wixobj + obj/x64/Release/Product.wixobj obj\x64\Release\fragment.wixobj displayName: 'Build MSI Windows installer' # Publish artifacts to Azure Pipelines From 2667a564f56f417019f5eea31d3efb38e7ffa6d5 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 20 Oct 2020 09:27:28 -0400 Subject: [PATCH 34/66] Try to use the default "SourceDir". --- .ci/windows-steps.yaml | 26 +++++++++---------- .../mlpack-win-installer.wixproj | 5 +--- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index e0fd98d7d0..26d66754ab 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -134,20 +134,20 @@ steps: } try { (Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\staging\doc') + [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\SourceDir\doc') } catch{Write-Output "Unable to add doc to installer, skipping!"} # Preparing installer staging. - mkdir dist\win-installer\staging\lib - cp build\Release\*.lib dist\win-installer\staging\lib\ - cp build\Release\*.exp dist\win-installer\staging\lib\ - cp build\Release\*.dll dist\win-installer\staging\ - cp build\Release\*.exe dist\win-installer\staging\ - cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\staging\ - cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\staging\ - cp build\include\mlpack dist\win-installer\staging -recurse - cp doc\examples dist\win-installer\staging -recurse - cp src\mlpack\tests\data\german.csv dist\win-installer\staging\examples\sample-ml-app\sample-ml-app\data\ + mkdir dist\win-installer\SourceDir\lib + cp build\Release\*.lib dist\win-installer\SourceDir\lib\ + cp build\Release\*.exp dist\win-installer\SourceDir\lib\ + cp build\Release\*.dll dist\win-installer\SourceDir\ + cp build\Release\*.exe dist\win-installer\SourceDir\ + cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\SourceDir\ + cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\SourceDir\ + cp build\include\mlpack dist\win-installer\SourceDir -recurse + cp doc\examples dist\win-installer\SourceDir -recurse + cp src\mlpack\tests\data\german.csv dist\win-installer\SourceDir\examples\sample-ml-app\sample-ml-app\data\ # Check current git version or mlpack version. $ver = (Get-Content "src\mlpack\core\util\version.hpp" | where {$_ -like "*MLPACK_VERSION*"}); $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; @@ -167,12 +167,12 @@ steps: dir cd dist\win-installer\mlpack-win-installer dir - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ../staging ` + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ../SourceDir ` -dr INSTALLFOLDER ` -cg HeatGenerated ` -g1 -gg -sf -srd -scom -sreg ` -out fragment.wxs - dir ../staging + dir ../SourceDir dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 8795a920eb..c0e9d9fd0d 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -28,9 +28,6 @@ bin\$(Platform)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ - - HarvestPath=..\staging - @@ -56,4 +53,4 @@ --> - \ No newline at end of file + From d4fe9f7c937f5845505ca0ec98e0aba6514338b3 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 21 Oct 2020 09:14:23 -0400 Subject: [PATCH 35/66] Try making SourceDir a subdirectory of mlpack-win-installer. --- .ci/windows-steps.yaml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 26d66754ab..0a8729c5b9 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -134,20 +134,20 @@ steps: } try { (Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\SourceDir\doc') + [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\mlpack-win-installer\SourceDir\doc') } catch{Write-Output "Unable to add doc to installer, skipping!"} # Preparing installer staging. - mkdir dist\win-installer\SourceDir\lib - cp build\Release\*.lib dist\win-installer\SourceDir\lib\ - cp build\Release\*.exp dist\win-installer\SourceDir\lib\ - cp build\Release\*.dll dist\win-installer\SourceDir\ - cp build\Release\*.exe dist\win-installer\SourceDir\ - cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\SourceDir\ - cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\SourceDir\ - cp build\include\mlpack dist\win-installer\SourceDir -recurse - cp doc\examples dist\win-installer\SourceDir -recurse - cp src\mlpack\tests\data\german.csv dist\win-installer\SourceDir\examples\sample-ml-app\sample-ml-app\data\ + mkdir dist\win-installer\mlpack-win-installer\SourceDir\lib + cp build\Release\*.lib dist\win-installer\mlpack-win-installer\SourceDir\lib\ + cp build\Release\*.exp dist\win-installer\mlpack-win-installer\SourceDir\lib\ + cp build\Release\*.dll dist\win-installer\mlpack-win-installer\SourceDir\ + cp build\Release\*.exe dist\win-installer\mlpack-win-installer\SourceDir\ + cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\mlpack-win-installer\SourceDir\ + cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\mlpack-win-installer\SourceDir\ + cp build\include\mlpack dist\win-installer\mlpack-win-installer\SourceDir -recurse + cp doc\examples dist\win-installer\mlpack-win-installer\SourceDir -recurse + cp src\mlpack\tests\data\german.csv dist\win-installer\mlpack-win-installer\SourceDir\examples\sample-ml-app\sample-ml-app\data\ # Check current git version or mlpack version. $ver = (Get-Content "src\mlpack\core\util\version.hpp" | where {$_ -like "*MLPACK_VERSION*"}); $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; @@ -167,12 +167,12 @@ steps: dir cd dist\win-installer\mlpack-win-installer dir - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir ../SourceDir ` + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir SourceDir ` -dr INSTALLFOLDER ` -cg HeatGenerated ` -g1 -gg -sf -srd -scom -sreg ` -out fragment.wxs - dir ../SourceDir + dir SourceDir dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` From 7d81636848921a6953dfd5c76bc36472f20f50b2 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 27 Oct 2020 14:07:42 -0400 Subject: [PATCH 36/66] Try re-adding HarvestPath. --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index c0e9d9fd0d..f677291fb9 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -43,6 +43,9 @@ + + HarvestPath=.\SourceDir + From 66c21a9511a2358e8b871ce211b066a5fe63a90c Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 31 Oct 2020 10:48:59 -0400 Subject: [PATCH 37/66] Just try simplifying some things... --- .ci/windows-steps.yaml | 29 +++++---- .../mlpack-win-installer.wixproj | 59 ------------------- 2 files changed, 16 insertions(+), 72 deletions(-) delete mode 100644 dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 0a8729c5b9..17171592b8 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -169,27 +169,30 @@ steps: dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir SourceDir ` -dr INSTALLFOLDER ` - -cg HeatGenerated ` - -g1 -gg -sf -srd -scom -sreg ` + -ag ` + -cg DynamicFragment ` + -ke ` + -srd ` + -sfrag ` + -nologo ` -out fragment.wxs dir SourceDir dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - Product.wxs fragment.wxs ` - -out obj/x64/Release/ + -out obj/x64/Release/Product.wixobj ` + Product.wxs + & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -out obj/x64/Release/fragment.wixobj ` + fragment.wxs dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` + -b SourceDir ` + obj/x64/Release/Product.wixobj ` + obj\x64\Release\fragment.wixobj ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` - -pdbout ./bin/x64/Release/mlpack-windows.wixpdb ` - -cultures:null ` - -loc mlpack-localization.wxl ` - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` - -contentsfile obj/x64/Release/mlpack-win-installer.wixproj.BindContentsFileListnull.txt ` - -outputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindOutputsFileListnull.txt ` - -builtoutputsfile obj/x64/Release/mlpack-win-installer.wixproj.BindBuiltOutputsFileListnull.txt ` - -wixprojectfile mlpack-win-installer.wixproj ` - obj/x64/Release/Product.wixobj obj\x64\Release\fragment.wixobj + -loc mlpack-localization.wxl + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" displayName: 'Build MSI Windows installer' # Publish artifacts to Azure Pipelines diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj deleted file mode 100644 index f677291fb9..0000000000 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ /dev/null @@ -1,59 +0,0 @@ - - - - Debug - x86 - 3.10 - 5409c191-c4b0-4caf-954c-001bb5c1d136 - 2.0 - mlpack-windows - Package - mlpack-win-installer - - - bin\$(Configuration)\ - obj\$(Configuration)\ - Debug - - - bin\$(Configuration)\ - obj\$(Configuration)\ - - - Debug - bin\$(Platform)\$(Configuration)\ - obj\$(Platform)\$(Configuration)\ - - - bin\$(Platform)\$(Configuration)\ - obj\$(Platform)\$(Configuration)\ - - - - - - - - $(WixExtDir)\WixUIExtension.dll - WixUIExtension - - - - - - - - - HarvestPath=.\SourceDir - - - - - - - From cf1f70261343c0a4c4a78ebb33260328060a955b Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 2 Nov 2020 08:53:45 -0500 Subject: [PATCH 38/66] Re-add .wixproj file... will it do anything? --- .../mlpack-win-installer.wixproj | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj new file mode 100644 index 0000000000..b82fa1b8f1 --- /dev/null +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -0,0 +1,59 @@ + + + + Debug + x86 + 3.10 + 5409c191-c4b0-4caf-954c-001bb5c1d136 + 2.0 + mlpack-windows + Package + mlpack-win-installer + + + bin\$(Configuration)\ + obj\$(Configuration)\ + Debug + + + bin\$(Configuration)\ + obj\$(Configuration)\ + + + Debug + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + + + bin\$(Platform)\$(Configuration)\ + obj\$(Platform)\$(Configuration)\ + + + HarvestPath=.\SourceDir + + + + + + + + $(WixExtDir)\WixUIExtension.dll + WixUIExtension + + + + + + + + + + + + + From ebc78e59c42ba0eab7515349338dad5cc4fa288b Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 2 Nov 2020 08:53:55 -0500 Subject: [PATCH 39/66] Wrap line correctly. --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 02606c48fd..fb8a7435dd 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -187,7 +187,7 @@ steps: obj/x64/Release/Product.wixobj ` obj\x64\Release\fragment.wixobj ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` - -loc mlpack-localization.wxl + -loc mlpack-localization.wxl ` -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" displayName: 'Build MSI Windows installer' From 12f247fb617f6c0f6b71a79a7e4360342d43860a Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 4 Nov 2020 17:29:25 -0500 Subject: [PATCH 40/66] Try referencing the .wixproj file. --- .ci/windows-steps.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index fb8a7435dd..c6359297be 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -176,14 +176,21 @@ steps: dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dProjectFileName=mlpack-win-installer.wixproj ` + -dProjectName=mlpack-win-installer ` + -dProjectPath=mlpack-win-installer.wixproj ` -out obj/x64/Release/Product.wixobj ` Product.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dProjectFileName=mlpack-win-installer.wixproj ` + -dProjectName=mlpack-win-installer ` + -dProjectPath=mlpack-win-installer.wixproj ` -out obj/x64/Release/fragment.wixobj ` fragment.wxs dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -b SourceDir ` + mlpack-win-installer.wixproj ` obj/x64/Release/Product.wixobj ` obj\x64\Release\fragment.wixobj ` -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` From 11e8e46e8b5494ba3aea6376dbbd8bb8fe994b70 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Fri, 6 Nov 2020 18:00:59 -0500 Subject: [PATCH 41/66] Try adding all the old options. --- .ci/windows-steps.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index c6359297be..104002c79a 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -169,6 +169,7 @@ steps: -cg DynamicFragment ` -ke ` -srd ` + -sreg ` -sfrag ` -nologo ` -out fragment.wxs @@ -176,15 +177,35 @@ steps: dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dConfiguration=Release ` + -dOutDir=bin\x64\Release\ ` + -dPlatform=x64 ` + -dProjectDir=. ` + -dProjectExt=.wixproj ` -dProjectFileName=mlpack-win-installer.wixproj ` -dProjectName=mlpack-win-installer ` -dProjectPath=mlpack-win-installer.wixproj ` + -dTargetDir=.\bin\x64\Release\ ` + -dTargetExt=.msi ` + -dTargetFileName=mlpack-windows.msi ` + -dTargetName=mlpack-windows ` + -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` -out obj/x64/Release/Product.wixobj ` Product.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dConfiguration=Release ` + -dOutDir=bin\x64\Release\ ` + -dPlatform=x64 ` + -dProjectDir=. ` + -dProjectExt=.wixproj ` -dProjectFileName=mlpack-win-installer.wixproj ` -dProjectName=mlpack-win-installer ` -dProjectPath=mlpack-win-installer.wixproj ` + -dTargetDir=.\bin\x64\Release\ ` + -dTargetExt=.msi ` + -dTargetFileName=mlpack-windows.msi ` + -dTargetName=mlpack-windows ` + -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` -out obj/x64/Release/fragment.wixobj ` fragment.wxs dir From e1d3e4da16a4990d6eca222c44aa714ad223762f Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 7 Nov 2020 10:52:57 -0500 Subject: [PATCH 42/66] Maybe HarvestPath helps? --- .ci/windows-steps.yaml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 104002c79a..8767a2be71 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,6 +177,7 @@ steps: dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` + -dHarvestPath=.\Source ` -dConfiguration=Release ` -dOutDir=bin\x64\Release\ ` -dPlatform=x64 ` @@ -190,24 +191,10 @@ steps: -dTargetFileName=mlpack-windows.msi ` -dTargetName=mlpack-windows ` -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` - -out obj/x64/Release/Product.wixobj ` - Product.wxs - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dConfiguration=Release ` - -dOutDir=bin\x64\Release\ ` - -dPlatform=x64 ` - -dProjectDir=. ` - -dProjectExt=.wixproj ` - -dProjectFileName=mlpack-win-installer.wixproj ` - -dProjectName=mlpack-win-installer ` - -dProjectPath=mlpack-win-installer.wixproj ` - -dTargetDir=.\bin\x64\Release\ ` - -dTargetExt=.msi ` - -dTargetFileName=mlpack-windows.msi ` - -dTargetName=mlpack-windows ` - -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` - -out obj/x64/Release/fragment.wixobj ` - fragment.wxs + -out obj/x64/Release/ ` + -arch x64 ` + -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` + Product.wxs fragment.wxs dir & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` -b SourceDir ` From 23e4bd022332ff9bf7d80179b6d9eb7dd7f4a550 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 7 Nov 2020 16:29:41 -0500 Subject: [PATCH 43/66] Oops, typo in the directory name. --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 8767a2be71..47e85a6b45 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,7 +177,7 @@ steps: dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dHarvestPath=.\Source ` + -dHarvestPath=.\SourceDir ` -dConfiguration=Release ` -dOutDir=bin\x64\Release\ ` -dPlatform=x64 ` From 836b3efa9628edb71900d46dbfb7c1e24b4c9397 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 8 Nov 2020 19:36:24 -0500 Subject: [PATCH 44/66] Surely it's not that I just have to specify it as a directory? --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 47e85a6b45..fb40fe895e 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -177,7 +177,7 @@ steps: dir type fragment.wxs & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dHarvestPath=.\SourceDir ` + -dHarvestPath=.\SourceDir\ ` -dConfiguration=Release ` -dOutDir=bin\x64\Release\ ` -dPlatform=x64 ` From d39590accae9779d43598250442aa06071888b16 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 9 Nov 2020 09:24:20 -0500 Subject: [PATCH 45/66] Try letting MSBuild build the whole thing. --- .ci/windows-steps.yaml | 52 +++----------- .../mlpack-win-installer/Product.wxs | 70 ++++++++----------- .../mlpack-win-installer.wixproj | 21 +++--- 3 files changed, 47 insertions(+), 96 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index fb40fe895e..8d19763bb3 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -159,51 +159,15 @@ steps: { $env:INSTALL_VERSION = $env:MLPACK_VERSION; } + # Build the MSI installer. - dir - cd dist\win-installer\mlpack-win-installer - dir - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe' dir SourceDir ` - -dr INSTALLFOLDER ` - -ag ` - -cg DynamicFragment ` - -ke ` - -srd ` - -sreg ` - -sfrag ` - -nologo ` - -out fragment.wxs - dir SourceDir - dir - type fragment.wxs - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe' ` - -dHarvestPath=.\SourceDir\ ` - -dConfiguration=Release ` - -dOutDir=bin\x64\Release\ ` - -dPlatform=x64 ` - -dProjectDir=. ` - -dProjectExt=.wixproj ` - -dProjectFileName=mlpack-win-installer.wixproj ` - -dProjectName=mlpack-win-installer ` - -dProjectPath=mlpack-win-installer.wixproj ` - -dTargetDir=.\bin\x64\Release\ ` - -dTargetExt=.msi ` - -dTargetFileName=mlpack-windows.msi ` - -dTargetName=mlpack-windows ` - -dTargetPath=.\bin\x64\Release\mlpack-windows.msi ` - -out obj/x64/Release/ ` - -arch x64 ` - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" ` - Product.wxs fragment.wxs - dir - & 'C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe' ` - -b SourceDir ` - mlpack-win-installer.wixproj ` - obj/x64/Release/Product.wixobj ` - obj\x64\Release\fragment.wixobj ` - -out ./bin/x64/Release/mlpack-%INSTALL_VERSION%.msi ` - -loc mlpack-localization.wxl ` - -ext "C:\Program Files (x86)\WiX Toolset v3.11\bin\\WixUIExtension.dll" + dir 'C:\Program Files (x86)\' + dir 'C:\Program Files (x86)\MSBuild\' + & 'C:\Program Files (x86)\MSBuild\15.0\Bin\MSBuild.exe' ` + -t:rebuild + -p:Configuration=Release ` + -p:TreatWarningsAsErrors=True ` + mlpack-win-installer.wixproj displayName: 'Build MSI Windows installer' # Publish artifacts to Azure Pipelines diff --git a/dist/win-installer/mlpack-win-installer/Product.wxs b/dist/win-installer/mlpack-win-installer/Product.wxs index 4adafc2a23..f05d12eff4 100644 --- a/dist/win-installer/mlpack-win-installer/Product.wxs +++ b/dist/win-installer/mlpack-win-installer/Product.wxs @@ -2,47 +2,39 @@ - - - + + - - - + + - - - - $(env.MLPACK_VERSION) - - - - - - + + + + + + + - - - - - - - - - - - - - - + + + + + $(env.MLPACK_VERSION) + + + + + + diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index b82fa1b8f1..16d0572fb6 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -33,27 +33,22 @@ - - - + + SourcesDir + Sources + var.SourcesDir + $(WixExtDir)\WixUIExtension.dll WixUIExtension + + + - - - - - From d964c1773793ec855f2e588401a4f1adb6ac6727 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 9 Nov 2020 17:44:20 -0500 Subject: [PATCH 46/66] Try a different path for MSBuild. --- .ci/windows-steps.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 8d19763bb3..61200a5f24 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -163,7 +163,10 @@ steps: # Build the MSI installer. dir 'C:\Program Files (x86)\' dir 'C:\Program Files (x86)\MSBuild\' - & 'C:\Program Files (x86)\MSBuild\15.0\Bin\MSBuild.exe' ` + dir 'C:\Program Files (x86)\MSBuild\15.0\' + dir 'C:\Program Files (x86)\MSBuild\15.0\Bin\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\' + & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild -p:Configuration=Release ` -p:TreatWarningsAsErrors=True ` From 27fc4e2eb131e02b312bc0d522c182b0d464edaf Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 10 Nov 2020 16:27:40 -0500 Subject: [PATCH 47/66] Well, evidently, that's not where MSBuild is. --- .ci/windows-steps.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 61200a5f24..59331e3b74 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -161,10 +161,6 @@ steps: } # Build the MSI installer. - dir 'C:\Program Files (x86)\' - dir 'C:\Program Files (x86)\MSBuild\' - dir 'C:\Program Files (x86)\MSBuild\15.0\' - dir 'C:\Program Files (x86)\MSBuild\15.0\Bin\' dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\' & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild From 081a653faf2259fef54ecc55f9ff15082a08570c Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 10 Nov 2020 19:54:39 -0500 Subject: [PATCH 48/66] This has to be the most inefficient possible way of searching for a file. --- .ci/windows-steps.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 59331e3b74..84549e1246 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -161,6 +161,16 @@ steps: } # Build the MSI installer. + dir 'C:\Program Files (x86)\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\' + dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\' dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\' & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild From 1bd61054f9799bbcc7959bd48e5841be57972103 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 11 Nov 2020 09:14:43 -0500 Subject: [PATCH 49/66] Got it! Now let's see if it works. --- .ci/windows-steps.yaml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 84549e1246..69d9b0d0a8 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -161,18 +161,7 @@ steps: } # Build the MSI installer. - dir 'C:\Program Files (x86)\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\' - dir 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\' - & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe' ` + & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild -p:Configuration=Release ` -p:TreatWarningsAsErrors=True ` From 04d23250caa2232ca79428ce9bd7791b64e38658 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 11 Nov 2020 18:19:24 -0500 Subject: [PATCH 50/66] Ugh, forgot a backtick... --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 69d9b0d0a8..5414084fa3 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -162,7 +162,7 @@ steps: # Build the MSI installer. & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` - -t:rebuild + -t:rebuild ` -p:Configuration=Release ` -p:TreatWarningsAsErrors=True ` mlpack-win-installer.wixproj From a705ca7d3fe03f1eb483873ec230cfb4b2731c17 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 16 Nov 2020 18:32:57 -0500 Subject: [PATCH 51/66] Make sure we are in the right directory before running. --- .ci/windows-steps.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 5414084fa3..b0a383271d 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -161,6 +161,8 @@ steps: } # Build the MSI installer. + cd dist\win-installer\mlpack-win-installer + dir & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild ` -p:Configuration=Release ` From 9b30b6f8268a19091aaffd3708d4ec9c04c109f5 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 17 Nov 2020 17:07:35 -0500 Subject: [PATCH 52/66] Suppress generation of registry elements. (Hopefully I read the documentation right for this part.) --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 16d0572fb6..087d03f6d5 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -33,7 +33,7 @@ - + SourcesDir Sources var.SourcesDir From 4f1d00ba12b1d13b8ccda7836260556d44b52eb7 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 17 Nov 2020 17:08:39 -0500 Subject: [PATCH 53/66] Oh, actually, I'm pretty sure I did that wrong. --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 087d03f6d5..2bb01f2d69 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -33,10 +33,11 @@ - + SourcesDir Sources var.SourcesDir + true $(WixExtDir)\WixUIExtension.dll From f7038098653406e8cb3e2eb3c930663a1bcdee41 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 18 Nov 2020 08:38:21 -0500 Subject: [PATCH 54/66] Try to set preprocessor variable value correctly. --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 2bb01f2d69..6f102c34f7 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -29,7 +29,7 @@ obj\$(Platform)\$(Configuration)\ - HarvestPath=.\SourceDir + HarvestPath=.\SourceDir;SourcesDir=SourceDir From b7bc1a15896ed076a26a5764663c3360991203f3 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 19 Nov 2020 17:24:11 -0500 Subject: [PATCH 55/66] Maybe that part wasn't needed? --- dist/win-installer/mlpack-win-installer/Product.wxs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dist/win-installer/mlpack-win-installer/Product.wxs b/dist/win-installer/mlpack-win-installer/Product.wxs index f05d12eff4..f224e26ad5 100644 --- a/dist/win-installer/mlpack-win-installer/Product.wxs +++ b/dist/win-installer/mlpack-win-installer/Product.wxs @@ -25,8 +25,7 @@ - - + From fe563518d3770483b282cb86b75c65602e96b1f2 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 21 Nov 2020 11:39:07 -0500 Subject: [PATCH 56/66] Try to debug why we can't find the file. --- .ci/windows-steps.yaml | 3 +++ dist/win-installer/mlpack-win-installer/Product.wxs | 8 ++++---- .../mlpack-win-installer.wixproj | 13 ++++--------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index b0a383271d..ff8db4481c 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -163,6 +163,9 @@ steps: # Build the MSI installer. cd dist\win-installer\mlpack-win-installer dir + cd SourceDir + dir + cd .. & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild ` -p:Configuration=Release ` diff --git a/dist/win-installer/mlpack-win-installer/Product.wxs b/dist/win-installer/mlpack-win-installer/Product.wxs index f224e26ad5..fc2b19f544 100644 --- a/dist/win-installer/mlpack-win-installer/Product.wxs +++ b/dist/win-installer/mlpack-win-installer/Product.wxs @@ -6,11 +6,11 @@ UpgradeCode="6C2D7EC0-6F10-40CB-9703-1DC160A62662" Name="mlpack" Language="1033" - Version="$(env.MLPACK_VERSION)" + Version="$(env.MLPACK_VERSION)" Manufacturer="mlpack"> @@ -20,13 +20,13 @@ - + - + $(env.MLPACK_VERSION) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 6f102c34f7..4b35b09f08 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -9,6 +9,7 @@ mlpack-windows Package mlpack-win-installer + HarvestPath=.\SourceDir;SourceDir=SourceDir bin\$(Configuration)\ @@ -28,24 +29,18 @@ bin\$(Platform)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ - - HarvestPath=.\SourceDir;SourcesDir=SourceDir - - SourcesDir - Sources - var.SourcesDir + SourceDir + SourceDir + var.SourceDir true $(WixExtDir)\WixUIExtension.dll WixUIExtension - - - From 0471e3bc728c8665ba8a0770c2ce279dc61ba1b2 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 22 Nov 2020 20:54:37 -0500 Subject: [PATCH 57/66] Maybe some extra options here might tell us more. --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 4b35b09f08..552999ed6a 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -9,21 +9,24 @@ mlpack-windows Package mlpack-win-installer + false HarvestPath=.\SourceDir;SourceDir=SourceDir + $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets + true bin\$(Configuration)\ obj\$(Configuration)\ - Debug + Debug;$(DefineConstants) bin\$(Configuration)\ obj\$(Configuration)\ - Debug bin\$(Platform)\$(Configuration)\ obj\$(Platform)\$(Configuration)\ + Debug;$(DefineConstants) bin\$(Platform)\$(Configuration)\ From 895543b2588e8ca40ca7c0ca123cae3e571a156d Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Mon, 23 Nov 2020 09:54:45 -0500 Subject: [PATCH 58/66] I have no idea if this will make a difference. --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 552999ed6a..3c652f4ce5 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -10,7 +10,7 @@ Package mlpack-win-installer false - HarvestPath=.\SourceDir;SourceDir=SourceDir + SourceDir=SourceDir $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets true From 77d84636caa13c3281fdf077c087695aad3ac414 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Tue, 24 Nov 2020 18:49:56 -0500 Subject: [PATCH 59/66] What if we use a relative path? --- .../mlpack-win-installer/mlpack-win-installer.wixproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index 3c652f4ce5..e87b37c56f 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -10,7 +10,7 @@ Package mlpack-win-installer false - SourceDir=SourceDir + SourceDir=.\SourceDir $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets true @@ -34,7 +34,7 @@ - + SourceDir SourceDir var.SourceDir From 4cb44be9c97e5c550e43392da6709f9925c97819 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 25 Nov 2020 09:43:30 -0500 Subject: [PATCH 60/66] Is "SourceDir" somehow a word that I'm not supposed to use? --- .ci/windows-steps.yaml | 24 +++++++++---------- .../mlpack-win-installer/Product.wxs | 4 ++-- .../mlpack-win-installer.wixproj | 8 +++---- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index ff8db4481c..20a402ad30 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -130,20 +130,20 @@ steps: } try { (Add-Type -AssemblyName System.IO.Compression.FileSystem); - [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\mlpack-win-installer\SourceDir\doc') + [System.IO.Compression.ZipFile]::ExtractToDirectory('dist\win-installer\jenkinsdoc.zip', 'dist\win-installer\mlpack-win-installer\Sources\doc') } catch{Write-Output "Unable to add doc to installer, skipping!"} # Preparing installer staging. - mkdir dist\win-installer\mlpack-win-installer\SourceDir\lib - cp build\Release\*.lib dist\win-installer\mlpack-win-installer\SourceDir\lib\ - cp build\Release\*.exp dist\win-installer\mlpack-win-installer\SourceDir\lib\ - cp build\Release\*.dll dist\win-installer\mlpack-win-installer\SourceDir\ - cp build\Release\*.exe dist\win-installer\mlpack-win-installer\SourceDir\ - cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\mlpack-win-installer\SourceDir\ - cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\mlpack-win-installer\SourceDir\ - cp build\include\mlpack dist\win-installer\mlpack-win-installer\SourceDir -recurse - cp doc\examples dist\win-installer\mlpack-win-installer\SourceDir -recurse - cp src\mlpack\tests\data\german.csv dist\win-installer\mlpack-win-installer\SourceDir\examples\sample-ml-app\sample-ml-app\data\ + mkdir dist\win-installer\mlpack-win-installer\Sources\lib + cp build\Release\*.lib dist\win-installer\mlpack-win-installer\Sources\lib\ + cp build\Release\*.exp dist\win-installer\mlpack-win-installer\Sources\lib\ + cp build\Release\*.dll dist\win-installer\mlpack-win-installer\Sources\ + cp build\Release\*.exe dist\win-installer\mlpack-win-installer\Sources\ + cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\mlpack-win-installer\Sources\ + cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\mlpack-win-installer\Sources\ + cp build\include\mlpack dist\win-installer\mlpack-win-installer\Sources -recurse + cp doc\examples dist\win-installer\mlpack-win-installer\Sources -recurse + cp src\mlpack\tests\data\german.csv dist\win-installer\mlpack-win-installer\Sources\examples\sample-ml-app\sample-ml-app\data\ # Check current git version or mlpack version. $ver = (Get-Content "src\mlpack\core\util\version.hpp" | where {$_ -like "*MLPACK_VERSION*"}); $env:MLPACK_VERSION += $ver[0].substring($ver[0].length - 1, 1) + '.'; @@ -163,7 +163,7 @@ steps: # Build the MSI installer. cd dist\win-installer\mlpack-win-installer dir - cd SourceDir + cd Sources dir cd .. & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` diff --git a/dist/win-installer/mlpack-win-installer/Product.wxs b/dist/win-installer/mlpack-win-installer/Product.wxs index fc2b19f544..4341139f71 100644 --- a/dist/win-installer/mlpack-win-installer/Product.wxs +++ b/dist/win-installer/mlpack-win-installer/Product.wxs @@ -20,13 +20,13 @@ - + - + $(env.MLPACK_VERSION) diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index e87b37c56f..b4166cedd1 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -10,7 +10,7 @@ Package mlpack-win-installer false - SourceDir=.\SourceDir + SourceDir=.\Sources $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets true @@ -34,9 +34,9 @@ - - SourceDir - SourceDir + + Sources + Sources var.SourceDir true From cb4303a37e8a07d63a0faca1ef0cdf2e95693fcd Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 25 Nov 2020 17:40:55 -0500 Subject: [PATCH 61/66] Wait. It worked??? --- .ci/windows-steps.yaml | 2 +- .../mlpack-win-installer/mlpack-win-installer.wixproj | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 20a402ad30..4a4461d1fa 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -191,7 +191,7 @@ steps: displayName: 'Publish artifacts test results' - task: PublishBuildArtifacts@1 inputs: - pathtoPublish: 'dist\win-installer\mlpack-win-installer\bin\x64\Release\*.msi' + pathtoPublish: 'dist\win-installer\mlpack-win-installer\bin\Release\*.msi' artifactName: mlpack-windows-installer displayName: 'Publish Windows MSI installer' diff --git a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj index b4166cedd1..0e89ee825c 100644 --- a/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj +++ b/dist/win-installer/mlpack-win-installer/mlpack-win-installer.wixproj @@ -12,7 +12,6 @@ false SourceDir=.\Sources $(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets - true bin\$(Configuration)\ From f700776ddbbe3c51e3ec9f0b2c08748059510358 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Wed, 25 Nov 2020 23:03:51 -0500 Subject: [PATCH 62/66] Maybe a wildcard doesn't work here. --- .ci/windows-steps.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 4a4461d1fa..1356125809 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -191,7 +191,7 @@ steps: displayName: 'Publish artifacts test results' - task: PublishBuildArtifacts@1 inputs: - pathtoPublish: 'dist\win-installer\mlpack-win-installer\bin\Release\*.msi' + pathtoPublish: 'dist\win-installer\mlpack-win-installer\bin\Release\mlpack-windows.msi' artifactName: mlpack-windows-installer displayName: 'Publish Windows MSI installer' From d0d56d0049afab7a67c9a664272483ad49497e75 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 26 Nov 2020 11:02:03 -0500 Subject: [PATCH 63/66] Fix apparent typo. --- dist/win-installer/mlpack-win-installer/Product.wxs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/win-installer/mlpack-win-installer/Product.wxs b/dist/win-installer/mlpack-win-installer/Product.wxs index 4341139f71..3cd7598a85 100644 --- a/dist/win-installer/mlpack-win-installer/Product.wxs +++ b/dist/win-installer/mlpack-win-installer/Product.wxs @@ -30,7 +30,7 @@ $(env.MLPACK_VERSION) - + From 85422870f4b01f1800512cf5515a3fcfbe3983b7 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Thu, 26 Nov 2020 11:02:26 -0500 Subject: [PATCH 64/66] Re-add other CI jobs. --- .ci/ci.yaml | 100 ++++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/.ci/ci.yaml b/.ci/ci.yaml index fad956f7f8..26efee03ae 100644 --- a/.ci/ci.yaml +++ b/.ci/ci.yaml @@ -8,56 +8,56 @@ pr: - '*' jobs: -#- job: Linux -# timeoutInMinutes: 360 -# pool: -# vmImage: ubuntu-16.04 -# strategy: -# matrix: -# Plain: -# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# Python: -# binding: 'python' -# python.version: '3.7' -# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# Julia: -# julia.version: '1.3.0' -# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.3.0/bin/julia -DBUILD_R_BINDINGS=OFF' -# Go: -# binding: 'go' -# go.version: '1.11.0' -# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' -# Markdown: -# CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_MARKDOWN_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# -# steps: -# - template: linux-steps.yaml -# -#- job: macOS -# timeoutInMinutes: 360 -# pool: -# vmImage: macOS-latest -# strategy: -# matrix: -# Plain: -# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# python.version: '2.7' -# Python: -# binding: 'python' -# python.version: '3.7' -# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# Julia: -# python.version: '2.7' -# julia.version: '1.3.0' -# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' -# Go: -# binding: 'go' -# python.version: '2.7' -# go.version: '1.11.0' -# CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' -# -# steps: -# - template: macos-steps.yaml +- job: Linux + timeoutInMinutes: 360 + pool: + vmImage: ubuntu-16.04 + strategy: + matrix: + Plain: + CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + Python: + binding: 'python' + python.version: '3.7' + CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + Julia: + julia.version: '1.3.0' + CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_GO_BINDINGS=OFF -DJULIA_EXECUTABLE=/opt/julia-1.3.0/bin/julia -DBUILD_R_BINDINGS=OFF' + Go: + binding: 'go' + go.version: '1.11.0' + CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' + Markdown: + CMakeArgs: '-DDEBUG=OFF -DPROFILE=OFF -DBUILD_MARKDOWN_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + + steps: + - template: linux-steps.yaml + +- job: macOS + timeoutInMinutes: 360 + pool: + vmImage: macOS-latest + strategy: + matrix: + Plain: + CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + python.version: '2.7' + Python: + binding: 'python' + python.version: '3.7' + CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=ON -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + Julia: + python.version: '2.7' + julia.version: '1.3.0' + CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_JULIA_BINDINGS=ON -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_GO_BINDINGS=OFF -DBUILD_R_BINDINGS=OFF' + Go: + binding: 'go' + python.version: '2.7' + go.version: '1.11.0' + CMakeArgs: '-DDEBUG=ON -DPROFILE=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_JULIA_BINDINGS=OFF -DBUILD_GO_BINDINGS=ON -DBUILD_R_BINDINGS=OFF' + + steps: + - template: macos-steps.yaml - job: WindowsVS16 timeoutInMinutes: 360 From 1ae1bae7acbc0e50f0bea559b55dd9296c03a440 Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sat, 28 Nov 2020 13:44:55 -0500 Subject: [PATCH 65/66] Remove boost unit test framework entirely. --- .ci/windows-steps.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index 1356125809..ee5e9ba578 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -10,7 +10,6 @@ steps: - powershell: | nuget install OpenBLAS -o $(Agent.ToolsDirectory) nuget install boost -o $(Agent.ToolsDirectory) -Version 1.60.0 - nuget install boost_unit_test_framework-vc140 -o $(Agent.ToolsDirectory) -Version 1.60.0 nuget install boost_random-vc140 -o $(Agent.ToolsDirectory) -Version 1.60.0 nuget install boost_math_c99-vc140 -o $(Agent.ToolsDirectory) -Version 1.60.0 nuget install OpenBLAS -o $(Agent.ToolsDirectory) @@ -19,7 +18,6 @@ steps: mkdir -p $(Agent.ToolsDirectory)/boost_libs cp $(Agent.ToolsDirectory)/boost_math_c99-vc140.1.60.0.0/lib/native/address-model-64/lib/*.* $(Agent.ToolsDirectory)/boost_libs cp $(Agent.ToolsDirectory)/boost_random-vc140.1.60.0.0/lib/native/address-model-64/lib/*.* $(Agent.ToolsDirectory)/boost_libs - cp $(Agent.ToolsDirectory)/boost_unit_test_framework-vc140.1.60.0.0/lib/native/address-model-64/lib/*.* $(Agent.ToolsDirectory)/boost_libs displayName: 'Fetch build dependencies' # Configure armadillo @@ -140,7 +138,6 @@ steps: cp build\Release\*.dll dist\win-installer\mlpack-win-installer\Sources\ cp build\Release\*.exe dist\win-installer\mlpack-win-installer\Sources\ cp $(Agent.ToolsDirectory)\OpenBLAS.0.2.14.1\lib\native\bin\x64\*.dll dist\win-installer\mlpack-win-installer\Sources\ - cp $(Agent.ToolsDirectory)\boost_libs\boost_unit_test_framework-vc*.dll dist\win-installer\mlpack-win-installer\Sources\ cp build\include\mlpack dist\win-installer\mlpack-win-installer\Sources -recurse cp doc\examples dist\win-installer\mlpack-win-installer\Sources -recurse cp src\mlpack\tests\data\german.csv dist\win-installer\mlpack-win-installer\Sources\examples\sample-ml-app\sample-ml-app\data\ From 36abf95778fe4538a489b6d9ccf940b4c57c1ede Mon Sep 17 00:00:00 2001 From: Ryan Curtin Date: Sun, 29 Nov 2020 12:14:37 -0500 Subject: [PATCH 66/66] Remove debugging output. --- .ci/windows-steps.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.ci/windows-steps.yaml b/.ci/windows-steps.yaml index ee5e9ba578..e2a9ed38e0 100644 --- a/.ci/windows-steps.yaml +++ b/.ci/windows-steps.yaml @@ -159,10 +159,6 @@ steps: # Build the MSI installer. cd dist\win-installer\mlpack-win-installer - dir - cd Sources - dir - cd .. & 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' ` -t:rebuild ` -p:Configuration=Release `