101 lines
3.9 KiB
Docker
101 lines
3.9 KiB
Docker
# escape=`
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
FROM microsoft/dotnet-framework:4.7.1
|
|
|
|
# Restore the default Windows shell for correct batch processing below.
|
|
SHELL ["cmd", "/S", "/C"]
|
|
|
|
# Install Build Tools excluding workloads and components with known issues.
|
|
ADD https://aka.ms/vs/15/release/vs_buildtools.exe C:\TEMP\vs_buildtools.exe
|
|
RUN C:\TEMP\vs_buildtools.exe --quiet --wait --norestart --nocache `
|
|
--installPath C:\BuildTools `
|
|
--all `
|
|
--remove Microsoft.VisualStudio.Component.Windows10SDK.10240 `
|
|
--remove Microsoft.VisualStudio.Component.Windows10SDK.10586 `
|
|
--remove Microsoft.VisualStudio.Component.Windows10SDK.14393 `
|
|
--remove Microsoft.VisualStudio.Component.Windows81SDK `
|
|
|| IF "%ERRORLEVEL%"=="3010" EXIT 0
|
|
RUN DEL C:\TEMP\vs_buildtools.exe
|
|
|
|
# Install CMake
|
|
ADD https://github.com/Kitware/CMake/releases/download/v3.13.4/cmake-3.13.4-win64-x64.msi C:\TEMP\cmake.msi
|
|
RUN msiexec.exe /i C:\TEMP\cmake.msi /qn && `
|
|
SETX PATH "%PATH%;C:\Program Files\CMake\bin" && `
|
|
DEL C:\TEMP\cmake.msi
|
|
|
|
# Install boost (for the thrift runtime library build)
|
|
ADD https://boost.teeks99.com/bin/1.69.0/boost_1_69_0-msvc-14.1-64.exe C:\TEMP\boost.exe
|
|
RUN C:\TEMP\boost.exe /DIR="C:\Libraries\boost_1_69_0" /SILENT && `
|
|
DEL C:\TEMP\boost.exe
|
|
|
|
# Install chocolatey
|
|
RUN @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" `
|
|
-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command `
|
|
"iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" `
|
|
&& SETX PATH "%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
|
|
|
|
# Install winflexbison (for the thrift compiler build)
|
|
RUN choco install winflexbison3 -y
|
|
|
|
# Install 7zip and curl (used by the libevent and zlib build scripts)
|
|
RUN choco install 7zip curl -y
|
|
|
|
# Install libevent
|
|
COPY appveyor\build-libevent.bat C:\TEMP\build-libevent.bat
|
|
ENV LIBEVENT_VERSION=2.1.8
|
|
ENV WIN3P=C:\TEMP\WIN3P
|
|
RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 && `
|
|
MKDIR C:\TEMP\WIN3P && `
|
|
C:\TEMP\build-libevent.bat && `
|
|
MKDIR C:\Libraries\libevent-%LIBEVENT_VERSION% && `
|
|
MOVE C:\TEMP\WIN3P\libevent-%LIBEVENT_VERSION%-stable\include C:\Libraries\libevent-%LIBEVENT_VERSION% && `
|
|
MOVE C:\TEMP\WIN3P\libevent-%LIBEVENT_VERSION%-stable\lib C:\Libraries\libevent-%LIBEVENT_VERSION% && `
|
|
RMDIR /S /Q C:\TEMP\WIN3P
|
|
|
|
# Install zlib
|
|
COPY appveyor\build-zlib.bat C:\TEMP\build-zlib.bat
|
|
ENV ZLIB_VERSION=1.2.11
|
|
ENV WIN3P=C:\TEMP\WIN3P
|
|
RUN C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 && `
|
|
MKDIR C:\TEMP\WIN3P && `
|
|
C:\TEMP\build-zlib.bat && `
|
|
MOVE C:\TEMP\WIN3P\zlib-inst C:\Libraries\zlib-%ZLIB_VERSION% && `
|
|
RMDIR /S /Q C:\TEMP\WIN3P
|
|
|
|
# Install OpenSSL 1.1.0
|
|
ADD http://slproweb.com/download/Win64OpenSSL-1_1_0j.exe C:\TEMP\openssl.exe
|
|
RUN C:\TEMP\openssl.exe /silent && `
|
|
DEL C:\TEMP\openssl.exe
|
|
|
|
# Install java
|
|
RUN choco install jdk8 -y
|
|
|
|
# Install python3
|
|
RUN choco install python3 -y
|
|
|
|
# Install Adobe Flex 4.6 SDK and set FLEX_HOME so it can be found
|
|
ADD http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip C:\Adobe\Flex\SDK\4.6\SDK.zip
|
|
RUN CD C:\Adobe\Flex\SDK\4.6 && `
|
|
7z x SDK.zip && `
|
|
DEL SDK.zip && `
|
|
SETX FLEX_HOME "C:\Adobe\Flex\SDK\4.6"
|
|
|
|
# Start developer command prompt with any other commands specified.
|
|
ENTRYPOINT C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 &&
|
|
|
|
# Default to PowerShell if no other command specified.
|
|
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
|