@@ -5,28 +5,28 @@ ARG WINDOWS_VERSION
5
5
FROM ${WINDOWS_IMAGE}:${WINDOWS_VERSION}
6
6
7
7
# Temporary directory
8
- ENV DOCKER_TEMP_DIR "C:\ DockerTemp"
8
+ ENV DOCKER_TEMP_DIR "C:/ DockerTemp"
9
9
10
10
# All dependencies will be installed in this directory
11
- ENV LIB_PATH "C:\ lib"
11
+ ENV LIB_PATH "C:/ lib"
12
12
13
13
# Restore the default Windows shell for correct batch processing.
14
14
SHELL ["cmd", "/S", "/C"]
15
15
16
16
# Install any additional certificates
17
- COPY .devcontainer\ extra_cas C:\ DockerTemp\ Certs
18
- RUN for %f in (%DOCKER_TEMP_DIR%\ Certs\ *.crt %DOCKER_TEMP_DIR%\ Certs\ *.pem) do ( `
19
- powershell -Command "Import-Certificate -FilePath %f -CertStoreLocation Cert:\ LocalMachine\ Root" `
17
+ COPY .devcontainer/ extra_cas C:/ DockerTemp/ Certs
18
+ RUN for %f in (%DOCKER_TEMP_DIR%/ Certs/ *.crt %DOCKER_TEMP_DIR%/ Certs/ *.pem) do ( `
19
+ powershell -Command "Import-Certificate -FilePath %f -CertStoreLocation Cert:/ LocalMachine/ Root" `
20
20
)
21
21
22
22
# Install Microsoft Buildtools
23
23
RUN `
24
24
# Download the Build Tools bootstrapper.
25
- curl -SL --output %DOCKER_TEMP_DIR%\ vs_buildtools.exe https://aka.ms/vs/15/release/vs_buildtools.exe `
25
+ curl -SL --output %DOCKER_TEMP_DIR%/ vs_buildtools.exe https://aka.ms/vs/15/release/vs_buildtools.exe `
26
26
`
27
27
# Install Build Tools
28
28
&& echo Starting install `
29
- && (start /w %DOCKER_TEMP_DIR%\ vs_buildtools.exe --quiet --wait --norestart --nocache `
29
+ && (start /w %DOCKER_TEMP_DIR%/ vs_buildtools.exe --quiet --wait --norestart --nocache `
30
30
--add Microsoft.Net.Component.4.8.SDK `
31
31
--add Microsoft.Net.Component.4.8.TargetingPack `
32
32
--add Microsoft.Net.Component.4.TargetingPack `
@@ -37,173 +37,173 @@ RUN `
37
37
--add Microsoft.VisualStudio.Component.VC.140 `
38
38
--add Microsoft.VisualStudio.Component.Windows10SDK.19041 `
39
39
--add Microsoft.Component.VC.Runtime.UCRTSDK `
40
- --installPath "%ProgramFiles(x86)%\ Microsoft Visual Studio\ 2017\ BuildTools" `
40
+ --installPath "%ProgramFiles(x86)%/ Microsoft Visual Studio/ 2017/ BuildTools" `
41
41
|| IF "%ERRORLEVEL%"=="3010" EXIT 0) `
42
42
`
43
43
# Cleanup
44
- && del /q %DOCKER_TEMP_DIR%\ vs_buildtools.exe
44
+ && del /q %DOCKER_TEMP_DIR%/ vs_buildtools.exe
45
45
46
46
# Install Boost
47
47
ARG BOOST_VERSION=1.68.0
48
48
ARG BOOST_VERSION_UNDERSCORE=1_68_0
49
49
ARG BOOST_MSVC_VERSION=14.0
50
50
RUN echo Installing Boost `
51
51
# Download the boost installer
52
- && curl -SL --output %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe https://boostorg.jfrog.io/artifactory/main/release/%BOOST_VERSION%/binaries/boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe `
53
- && curl -SL --output %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe https://boostorg.jfrog.io/artifactory/main/release/%BOOST_VERSION%/binaries/boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe `
52
+ && curl -SL --output %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe https://boostorg.jfrog.io/artifactory/main/release/%BOOST_VERSION%/binaries/boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe `
53
+ && curl -SL --output %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe https://boostorg.jfrog.io/artifactory/main/release/%BOOST_VERSION%/binaries/boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe `
54
54
`
55
- # Install
56
- && (start /w %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe /VERYSILENT /DIR=%LIB_PATH%\ boost) `
57
- && (start /w %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe /VERYSILENT /DIR=%LIB_PATH%\ boost) `
55
+ # Install
56
+ && (start /w %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe /VERYSILENT /DIR=%LIB_PATH%/ boost) `
57
+ && (start /w %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe /VERYSILENT /DIR=%LIB_PATH%/ boost) `
58
58
`
59
59
# Cleanup
60
- && del /q %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe `
61
- && del /q %DOCKER_TEMP_DIR%\ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe
60
+ && del /q %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-32.exe `
61
+ && del /q %DOCKER_TEMP_DIR%/ boost_%BOOST_VERSION_UNDERSCORE%-msvc-%BOOST_MSVC_VERSION%-64.exe
62
62
63
63
# Install CMake
64
64
ARG CMAKE_VERSION=3.23.1
65
65
RUN `
66
66
# Download the cmake installer
67
- curl -SL --output %DOCKER_TEMP_DIR%\ cmake-%CMAKE_VERSION%-windows-x86_64.msi https://github.com/Kitware/CMake/releases/download/v%CMAKE_VERSION%/cmake-%CMAKE_VERSION%-windows-x86_64.msi `
67
+ curl -SL --output %DOCKER_TEMP_DIR%/ cmake-%CMAKE_VERSION%-windows-x86_64.msi https://github.com/Kitware/CMake/releases/download/v%CMAKE_VERSION%/cmake-%CMAKE_VERSION%-windows-x86_64.msi `
68
68
`
69
69
# Install cmake
70
- && msiexec /i %DOCKER_TEMP_DIR%\ cmake-%CMAKE_VERSION%-windows-x86_64.msi /quiet /qn /norestart `
70
+ && msiexec /i %DOCKER_TEMP_DIR%/ cmake-%CMAKE_VERSION%-windows-x86_64.msi /quiet /qn /norestart `
71
71
`
72
72
# Add Cmake to the path
73
- && setx PATH "%PATH;C:\ Program Files\ CMake\ bin" `
73
+ && setx PATH "%PATH;C:/ Program Files/ CMake/ bin" `
74
74
`
75
75
# Cleanup
76
- && del /q %DOCKER_TEMP_DIR%\ cmake-%CMAKE_VERSION%-windows-x86_64.msi
76
+ && del /q %DOCKER_TEMP_DIR%/ cmake-%CMAKE_VERSION%-windows-x86_64.msi
77
77
78
78
# Install 7zip
79
79
ARG 7ZIP_VERSION=2107
80
80
RUN echo Installing 7zip `
81
81
# Download the installer
82
- && curl -SL --output %DOCKER_TEMP_DIR%\ 7z%7ZIP_VERSION%-x64.msi https://www.7-zip.org/a/7z%7ZIP_VERSION%-x64.msi `
82
+ && curl -SL --output %DOCKER_TEMP_DIR%/ 7z%7ZIP_VERSION%-x64.msi https://www.7-zip.org/a/7z%7ZIP_VERSION%-x64.msi `
83
83
`
84
84
# Run the installer
85
- && msiexec /i %DOCKER_TEMP_DIR%\ 7z%7ZIP_VERSION%-x64.msi /quiet /qn /norestart `
85
+ && msiexec /i %DOCKER_TEMP_DIR%/ 7z%7ZIP_VERSION%-x64.msi /quiet /qn /norestart `
86
86
`
87
87
# Add 7zip the the path
88
- && setx PATH "%PATH%;C:\ Program Files\ 7-Zip" `
88
+ && setx PATH "%PATH%;C:/ Program Files/ 7-Zip" `
89
89
`
90
90
# Cleanup
91
- && del /q %DOCKER_TEMP_DIR%\ 7z%7ZIP_VERSION%-x64.msi
91
+ && del /q %DOCKER_TEMP_DIR%/ 7z%7ZIP_VERSION%-x64.msi
92
92
93
93
# Install OpenSSL
94
94
ARG OPENSSL_VERSION=1.1.0f
95
95
ARG OPENSSL_MSVC_VERSION=2015
96
96
RUN echo Installing OpenSSL `
97
97
# Download the zip file
98
- && curl -SL --output %DOCKER_TEMP_DIR%\ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z https://www.npcglib.org/~stathis/downloads/openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z `
98
+ && curl -SL --output %DOCKER_TEMP_DIR%/ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z https://www.npcglib.org/~stathis/downloads/openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z `
99
99
`
100
100
# Extract the artifacts
101
- && 7z x %DOCKER_TEMP_DIR%\ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z "-o%LIB_PATH%" `
102
- && move %LIB_PATH%\ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION% %LIB_PATH%\ openssl `
101
+ && 7z x %DOCKER_TEMP_DIR%/ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z "-o%LIB_PATH%" `
102
+ && move %LIB_PATH%/ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION% %LIB_PATH%/ openssl `
103
103
`
104
104
# Cleanup
105
- && del /q %DOCKER_TEMP_DIR%\ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z
105
+ && del /q %DOCKER_TEMP_DIR%/ openssl-%OPENSSL_VERSION%-vs%OPENSSL_MSVC_VERSION%.7z
106
106
107
107
# Install Git
108
108
ARG GIT_VERSION=2.36.0
109
109
RUN echo Installing Git `
110
110
# Download the installer
111
- && curl -SL --output %DOCKER_TEMP_DIR%\ Git-%GIT_VERSION%-64-bit.exe https://github.com/git-for-windows/git/releases/download/v%GIT_VERSION%.windows.1/Git-%GIT_VERSION%-64-bit.exe `
111
+ && curl -SL --output %DOCKER_TEMP_DIR%/ Git-%GIT_VERSION%-64-bit.exe https://github.com/git-for-windows/git/releases/download/v%GIT_VERSION%.windows.1/Git-%GIT_VERSION%-64-bit.exe `
112
112
`
113
113
# Install
114
- && (start /w %DOCKER_TEMP_DIR%\ Git-%GIT_VERSION%-64-bit.exe /VERYSILENT /DIR="C:\ Program Files\ Git") `
114
+ && (start /w %DOCKER_TEMP_DIR%/ Git-%GIT_VERSION%-64-bit.exe /VERYSILENT /DIR="C:/ Program Files/ Git") `
115
115
`
116
116
# Add Windows to the path
117
- && setx PATH "%PATH%;C:\ Program Files\ Git\ bin" `
117
+ && setx PATH "%PATH%;C:/ Program Files/ Git/ bin" `
118
118
`
119
119
# Cleanup
120
- && del /q %DOCKER_TEMP_DIR%\ Git-%GIT_VERSION%-64-bit.exe
120
+ && del /q %DOCKER_TEMP_DIR%/ Git-%GIT_VERSION%-64-bit.exe
121
121
122
122
# Install Python3
123
- ARG PYTHON3_VERSIONS="3.5 .0"
123
+ ARG PYTHON3_VERSIONS="3.9 .0"
124
124
RUN echo Installing Python3 `
125
125
&& for %v in (%PYTHON3_VERSIONS%) do ( `
126
126
echo Installing Python%v `
127
127
`
128
128
# Download the installer
129
- && curl -SL --output %DOCKER_TEMP_DIR%\ python-%v.exe https://www.python.org/ftp/python/%v/python-%v.exe `
130
- && curl -SL --output %DOCKER_TEMP_DIR%\ python-%v-amd64.exe https://www.python.org/ftp/python/%v/python-%v-amd64.exe `
129
+ && curl -SL --output %DOCKER_TEMP_DIR%/ python-%v.exe https://www.python.org/ftp/python/%v/python-%v.exe `
130
+ && curl -SL --output %DOCKER_TEMP_DIR%/ python-%v-amd64.exe https://www.python.org/ftp/python/%v/python-%v-amd64.exe `
131
131
`
132
132
# Install
133
- && (start /w %DOCKER_TEMP_DIR%\ python-%v.exe /quiet TargetDir="C:\ Python%v-Win32") `
134
- && (start /w %DOCKER_TEMP_DIR%\ python-%v-amd64.exe /quiet TargetDir="C:\ Python%v-x64") `
133
+ && (start /w %DOCKER_TEMP_DIR%/ python-%v.exe /quiet TargetDir="C:/ Python%v-Win32") `
134
+ && (start /w %DOCKER_TEMP_DIR%/ python-%v-amd64.exe /quiet TargetDir="C:/ Python%v-x64") `
135
135
`
136
136
# Cleanup
137
- && del /q %DOCKER_TEMP_DIR%\ python-%v.exe `
138
- && del /q %DOCKER_TEMP_DIR%\ python-%v-amd64.exe `
137
+ && del /q %DOCKER_TEMP_DIR%/ python-%v.exe `
138
+ && del /q %DOCKER_TEMP_DIR%/ python-%v-amd64.exe `
139
139
)
140
140
141
141
# Install Python2
142
142
ARG PYTHON2_VERSION="2.7.18"
143
143
RUN echo Install Python2 `
144
144
`
145
145
# Download the installer
146
- && curl -SL --output %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.msi https://www.python.org/ftp/python/%PYTHON2_VERSION%/python-%PYTHON2_VERSION%.msi `
147
- && curl -SL --output %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.amd64.msi https://www.python.org/ftp/python/%PYTHON2_VERSION%/python-%PYTHON2_VERSION%.amd64.msi `
146
+ && curl -SL --output %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.msi https://www.python.org/ftp/python/%PYTHON2_VERSION%/python-%PYTHON2_VERSION%.msi `
147
+ && curl -SL --output %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.amd64.msi https://www.python.org/ftp/python/%PYTHON2_VERSION%/python-%PYTHON2_VERSION%.amd64.msi `
148
148
`
149
149
# Install
150
- && msiexec /i %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.msi /quiet /qn /norestart TargetDir="C:\ Python2.7-Win32" `
151
- && msiexec /i %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.amd64.msi /quiet /qn /norestart TargetDir="C:\ Python2.7-x64" `
150
+ && msiexec /i %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.msi /quiet /qn /norestart TargetDir="C:/ Python2.7-Win32" `
151
+ && msiexec /i %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.amd64.msi /quiet /qn /norestart TargetDir="C:/ Python2.7-x64" `
152
152
`
153
153
# Cleanup
154
- && del /q %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.msi `
155
- && del /q %DOCKER_TEMP_DIR%\ python-%PYTHON2_VERSION%.amd64.msi
154
+ && del /q %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.msi `
155
+ && del /q %DOCKER_TEMP_DIR%/ python-%PYTHON2_VERSION%.amd64.msi
156
156
157
157
# Install swig
158
158
ARG SWIG_VERSION="4.0.2"
159
159
RUN echo Installing SWIG `
160
160
`
161
161
# Download the zip file
162
- && curl -SL --output %DOCKER_TEMP_DIR%\ swigwin-%SWIG_VERSION%.zip https://sourceforge.net/projects/swig/files/swigwin/swigwin-%SWIG_VERSION%/swigwin-%SWIG_VERSION%.zip/download `
162
+ && curl -SL --output %DOCKER_TEMP_DIR%/ swigwin-%SWIG_VERSION%.zip https://sourceforge.net/projects/swig/files/swigwin/swigwin-%SWIG_VERSION%/swigwin-%SWIG_VERSION%.zip/download `
163
163
`
164
164
# Extract to the library path
165
- && 7z x %DOCKER_TEMP_DIR%\ swigwin-%SWIG_VERSION%.zip "-o%LIB_PATH%" `
166
- && move %LIB_PATH%\ swigwin-%SWIG_VERSION% %LIB_PATH%\ swig `
165
+ && 7z x %DOCKER_TEMP_DIR%/ swigwin-%SWIG_VERSION%.zip "-o%LIB_PATH%" `
166
+ && move %LIB_PATH%/ swigwin-%SWIG_VERSION% %LIB_PATH%/ swig `
167
167
`
168
168
# Add to the path
169
- && setx PATH "%PATH%;%LIB_PATH%\ swig" `
169
+ && setx PATH "%PATH%;%LIB_PATH%/ swig" `
170
170
`
171
171
# Cleanup
172
- && del /q %DOCKER_TEMP_DIR%\ swigwin-%SWIG_VERSION%.zip
172
+ && del /q %DOCKER_TEMP_DIR%/ swigwin-%SWIG_VERSION%.zip
173
173
174
174
# Install NaturalDocs
175
175
ARG NATURAL_DOCS_VERSION="2.0.2"
176
176
RUN echo Installing NaturalDocs `
177
177
`
178
178
# Download the zip file
179
- && curl -SL --output %DOCKER_TEMP_DIR%\ Natural_Docs_%NATURAL_DOCS_VERSION%.zip https://www.naturaldocs.org/download/natural_docs/%NATURAL_DOCS_VERSION%/Natural_Docs_%NATURAL_DOCS_VERSION%.zip `
179
+ && curl -SL --output %DOCKER_TEMP_DIR%/ Natural_Docs_%NATURAL_DOCS_VERSION%.zip https://www.naturaldocs.org/download/natural_docs/%NATURAL_DOCS_VERSION%/Natural_Docs_%NATURAL_DOCS_VERSION%.zip `
180
180
`
181
181
# Extract to the library path
182
- && 7z x %DOCKER_TEMP_DIR%\ Natural_Docs_%NATURAL_DOCS_VERSION%.zip "-o%LIB_PATH%" `
183
- && move "%LIB_PATH%\ Natural Docs" %LIB_PATH%\ NaturalDocs `
182
+ && 7z x %DOCKER_TEMP_DIR%/ Natural_Docs_%NATURAL_DOCS_VERSION%.zip "-o%LIB_PATH%" `
183
+ && move "%LIB_PATH%/ Natural Docs" %LIB_PATH%/ NaturalDocs `
184
184
`
185
185
# Add to the path
186
- && setx PATH "%PATH%;%LIB_PATH%\ NaturalDocs" `
186
+ && setx PATH "%PATH%;%LIB_PATH%/ NaturalDocs" `
187
187
`
188
188
# Cleanup
189
- && del /q %DOCKER_TEMP_DIR%\ Natural_Docs_%NATURAL_DOCS_VERSION%.zip
189
+ && del /q %DOCKER_TEMP_DIR%/ Natural_Docs_%NATURAL_DOCS_VERSION%.zip
190
190
191
191
# Install Turtle
192
192
ARG TURTLE_VERSION="1.3.2"
193
193
RUN echo Installing Turtle `
194
194
`
195
195
# Download the zip file
196
- && curl -SL --output %DOCKER_TEMP_DIR%\ turtle-%TURTLE_VERSION%.zip https://sourceforge.net/projects/turtle/files/turtle/%TURTLE_VERSION%/turtle-%TURTLE_VERSION%.zip/download `
196
+ && curl -SL --output %DOCKER_TEMP_DIR%/ turtle-%TURTLE_VERSION%.zip https://sourceforge.net/projects/turtle/files/turtle/%TURTLE_VERSION%/turtle-%TURTLE_VERSION%.zip/download `
197
197
`
198
198
# Extract to the library path
199
- && mkdir "%LIB_PATH%\ turtle" `
200
- && 7z x %DOCKER_TEMP_DIR%\ turtle-%TURTLE_VERSION%.zip "-o%LIB_PATH%\ turtle" `
199
+ && mkdir "%LIB_PATH%/ turtle" `
200
+ && 7z x %DOCKER_TEMP_DIR%/ turtle-%TURTLE_VERSION%.zip "-o%LIB_PATH%/ turtle" `
201
201
`
202
202
# Cleanup
203
- && del /q %DOCKER_TEMP_DIR%\ turtle-%TURTLE_VERSION%.zip
203
+ && del /q %DOCKER_TEMP_DIR%/ turtle-%TURTLE_VERSION%.zip
204
204
205
205
# Allow users to execute powershell scripts
206
206
RUN powershell -Command "Set-ExecutionPolicy RemoteSigned"
207
207
208
208
# Set the entrypoint to powershell
209
- ENTRYPOINT ["powershell"]
209
+ ENTRYPOINT ["powershell"]
0 commit comments