diff --git a/.azure-pipelines/windows-release/stage-build.yml b/.azure-pipelines/windows-release/stage-build.yml
index 9391a91e30b..69f3b1e1645 100644
--- a/.azure-pipelines/windows-release/stage-build.yml
+++ b/.azure-pipelines/windows-release/stage-build.yml
@@ -3,7 +3,7 @@ jobs:
displayName: Docs build
pool:
name: 'Windows Release'
- #vmName: win2016-vs2017
+ #vmImage: windows-2019
workspace:
clean: all
@@ -45,7 +45,7 @@ jobs:
displayName: Python build
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
@@ -91,7 +91,7 @@ jobs:
condition: and(succeeded(), ne(variables['DoPGO'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
@@ -141,7 +141,7 @@ jobs:
displayName: Publish Tcl/Tk Library
pool:
- vmName: windows-latest
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-layout-embed.yml b/.azure-pipelines/windows-release/stage-layout-embed.yml
index 3306e1cbc49..dbccdead143 100644
--- a/.azure-pipelines/windows-release/stage-layout-embed.yml
+++ b/.azure-pipelines/windows-release/stage-layout-embed.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoEmbed'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-layout-full.yml b/.azure-pipelines/windows-release/stage-layout-full.yml
index 78bc1b3975e..8fc8da3e52f 100644
--- a/.azure-pipelines/windows-release/stage-layout-full.yml
+++ b/.azure-pipelines/windows-release/stage-layout-full.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoLayout'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-layout-msix.yml b/.azure-pipelines/windows-release/stage-layout-msix.yml
index 60a5c9ea543..def4f7d3c6b 100644
--- a/.azure-pipelines/windows-release/stage-layout-msix.yml
+++ b/.azure-pipelines/windows-release/stage-layout-msix.yml
@@ -3,7 +3,7 @@ jobs:
displayName: Make MSIX layout
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-layout-nuget.yml b/.azure-pipelines/windows-release/stage-layout-nuget.yml
index 7e20f895303..41cdff850e8 100644
--- a/.azure-pipelines/windows-release/stage-layout-nuget.yml
+++ b/.azure-pipelines/windows-release/stage-layout-nuget.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-msi.yml b/.azure-pipelines/windows-release/stage-msi.yml
index 7afc816a0c6..9b965b09c14 100644
--- a/.azure-pipelines/windows-release/stage-msi.yml
+++ b/.azure-pipelines/windows-release/stage-msi.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), not(variables['SigningCertificate']))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
variables:
ReleaseUri: http://www.python.org/{arch}
diff --git a/.azure-pipelines/windows-release/stage-pack-msix.yml b/.azure-pipelines/windows-release/stage-pack-msix.yml
index f17ba9628e2..07e343a0b4e 100644
--- a/.azure-pipelines/windows-release/stage-pack-msix.yml
+++ b/.azure-pipelines/windows-release/stage-pack-msix.yml
@@ -3,7 +3,7 @@ jobs:
displayName: Pack MSIX bundles
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-pack-nuget.yml b/.azure-pipelines/windows-release/stage-pack-nuget.yml
index 34619fc5fdc..b100364820d 100644
--- a/.azure-pipelines/windows-release/stage-pack-nuget.yml
+++ b/.azure-pipelines/windows-release/stage-pack-nuget.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-publish-nugetorg.yml b/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
index b78bd493a0f..d5edf44ef5c 100644
--- a/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
+++ b/.azure-pipelines/windows-release/stage-publish-nugetorg.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-publish-pythonorg.yml b/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
index 0474d40e4bc..4b88bdebf8c 100644
--- a/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
+++ b/.azure-pipelines/windows-release/stage-publish-pythonorg.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), and(eq(variables['DoMSI'], 'true'), eq(variables['DoEmbed'], 'true')))
pool:
- #vmName: win2016-vs2017
+ #vmImage: windows-2019
name: 'Windows Release'
workspace:
diff --git a/.azure-pipelines/windows-release/stage-publish-store.yml b/.azure-pipelines/windows-release/stage-publish-store.yml
index b22147b1ab4..e0512b95f27 100644
--- a/.azure-pipelines/windows-release/stage-publish-store.yml
+++ b/.azure-pipelines/windows-release/stage-publish-store.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoMSIX'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-sign.yml b/.azure-pipelines/windows-release/stage-sign.yml
index a0adc058122..4d757ae8fca 100644
--- a/.azure-pipelines/windows-release/stage-sign.yml
+++ b/.azure-pipelines/windows-release/stage-sign.yml
@@ -114,7 +114,7 @@ jobs:
condition: and(succeeded(), not(variables['SigningCertificate']))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
steps:
- checkout: none
diff --git a/.azure-pipelines/windows-release/stage-test-embed.yml b/.azure-pipelines/windows-release/stage-test-embed.yml
index b33176266a2..d99bd74722b 100644
--- a/.azure-pipelines/windows-release/stage-test-embed.yml
+++ b/.azure-pipelines/windows-release/stage-test-embed.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoEmbed'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-test-msi.yml b/.azure-pipelines/windows-release/stage-test-msi.yml
index 27b0c96987a..21e38c39590 100644
--- a/.azure-pipelines/windows-release/stage-test-msi.yml
+++ b/.azure-pipelines/windows-release/stage-test-msi.yml
@@ -3,7 +3,7 @@ jobs:
displayName: Test MSI
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/.azure-pipelines/windows-release/stage-test-nuget.yml b/.azure-pipelines/windows-release/stage-test-nuget.yml
index 1f8b601d0d0..94d815e9522 100644
--- a/.azure-pipelines/windows-release/stage-test-nuget.yml
+++ b/.azure-pipelines/windows-release/stage-test-nuget.yml
@@ -4,7 +4,7 @@ jobs:
condition: and(succeeded(), eq(variables['DoNuget'], 'true'))
pool:
- vmName: win2016-vs2017
+ vmImage: windows-2019
workspace:
clean: all
diff --git a/Misc/NEWS.d/next/Windows/2020-02-28-22-46-09.bpo-39789.67XRoP.rst b/Misc/NEWS.d/next/Windows/2020-02-28-22-46-09.bpo-39789.67XRoP.rst
new file mode 100644
index 00000000000..077b0afcba3
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2020-02-28-22-46-09.bpo-39789.67XRoP.rst
@@ -0,0 +1 @@
+Update Windows release build machines to Visual Studio 2019 (MSVC 14.2).
diff --git a/PC/layout/support/nuspec.py b/PC/layout/support/nuspec.py
index 9c6a9a91595..dbcb713ef9d 100644
--- a/PC/layout/support/nuspec.py
+++ b/PC/layout/support/nuspec.py
@@ -14,7 +14,7 @@ PYTHON_NUSPEC_NAME = "python.nuspec"
NUSPEC_DATA = {
"PYTHON_TAG": VER_DOT,
"PYTHON_VERSION": os.getenv("PYTHON_NUSPEC_VERSION"),
- "FILELIST": r' ',
+ "FILELIST": r' ',
"GIT": sys._git,
}
@@ -31,7 +31,7 @@ if not NUSPEC_DATA["PYTHON_VERSION"]:
VER_DOT, VER_MICRO, "-" if VER_SUFFIX else "", VER_SUFFIX
)
-FILELIST_WITH_PROPS = r"""
+FILELIST_WITH_PROPS = r"""
"""
NUSPEC_TEMPLATE = r"""
@@ -44,13 +44,13 @@ NUSPEC_TEMPLATE = r"""
tools\LICENSE.txt
https://www.python.org/
Installs {PYTHON_BITNESS} Python for use in build scenarios.
- images\logox128.png
+ images\python.png
https://www.python.org/static/favicon.ico
python
-
+
{FILELIST}
@@ -73,6 +73,6 @@ def get_nuspec_layout(ns):
data[k] = v
if ns.include_all or ns.include_props:
data["FILELIST"] = FILELIST_WITH_PROPS
- data["LOGO"] = ns.source / "PC" / "icons" / "logox128.png"
nuspec = NUSPEC_TEMPLATE.format_map(data)
yield "python.nuspec", ("python.nuspec", nuspec.encode("utf-8"))
+ yield "python.png", ns.source / "PC" / "icons" / "logox128.png"
diff --git a/Tools/nuget/make_pkg.proj b/Tools/nuget/make_pkg.proj
index b387b8eef54..710ef3dcb5c 100644
--- a/Tools/nuget/make_pkg.proj
+++ b/Tools/nuget/make_pkg.proj
@@ -33,7 +33,7 @@
"$(IntermediateOutputPath)pkg\pip.exe" -B -m pip install -U $(Packages)
- "$(Nuget)" pack "$(MSBuildThisFileDirectory)\$(OutputName).nuspec" -BasePath "$(IntermediateOutputPath)pkg"
+ "$(Nuget)" pack "$(IntermediateOutputPath)pkg\python.nuspec" -BasePath "$(IntermediateOutputPath)pkg"
"$(Nuget)" pack "$(MSBuildThisFileDirectory)\$(OutputName).symbols.nuspec" -BasePath "$(BuildPath.TrimEnd(`\`))"
$(NugetArguments) -OutputDirectory "$(OutputPath.Trim(`\`))"
$(NugetArguments) -Version "$(NuspecVersion)"