bpo-31523: Reliability improvements to the Windows build files (#3900) · python/cpython@2084b30

@@ -10,7 +10,6 @@

1010

<IncludeDoc Condition="'$(IncludeDoc)' == ''">true</IncludeDoc>

1111

<BuildForRelease Condition="'$(BuildForRelease)' == ''">true</BuildForRelease>

1212

<DryRun Condition="'$(DryRun)' == ''">false</DryRun>

13-

<Purge Condition="'$(Purge)' == ''">false</Purge>

1413

</PropertyGroup>

15141615

<Import Project="msi.props" />

4342

<Target Name="_RunGpg" Condition="'$(GPG)' != ''" Inputs="@(File)" Outputs="$(IntermediateOutputPath)\gpg\%(FileName)%(Extension).asc">

4443

<MakeDir Directories="$(IntermediateOutputPath)gpg" />

4544

<Delete Files="$(IntermediateOutputPath)\gpg\%(File.FileName)%(File.Extension).asc" Condition="Exists('$(IntermediateOutputPath)\gpg\%(File.FileName)%(File.Extension).asc')" />

46-

<Exec Command="&quot;$(GPG)&quot; -ba -o &quot;$(IntermediateOutputPath)\gpg\%(File.FileName)%(File.Extension).asc&quot; &quot;%(File.FullPath)&quot;" />

45+

<Exec Command="&quot;$(GPG)&quot; -ba -o &quot;$(IntermediateOutputPath)\gpg\%(File.FileName)%(File.Extension).asc&quot; &quot;%(File.FullPath)&quot;"

46+

IgnoreExitCode="false" />

4747

<ItemGroup>

4848

<File Include="$(IntermediateOutputPath)\gpg\%(File.FileName)%(File.Extension).asc">

4949

<CopyTo>%(File.CopyTo)</CopyTo>

@@ -52,23 +52,15 @@

5252

</Target>

53535454

<Target Name="_Upload" Condition="!$(DryRun)">

55-

<Exec Command="&quot;$(PLINK)&quot; $(User)@$(Host) mkdir %(File.CopyTo) ^&amp;^&amp; chgrp downloads %(File.CopyTo) ^&amp;^&amp; chmod g-w,o+rx %(File.CopyTo)

56-

&quot;$(PSCP)&quot; @(File,' ') $(User)@$(Host):%(File.CopyTo)

57-

&quot;$(PLINK)&quot; $(User)@$(Host) chgrp downloads %(File.CopyTo)/*; chmod g-w,o+r %(File.CopyTo)/*

58-

" />

55+

<Exec Command="&quot;$(PLINK)&quot; $(User)@$(Host) mkdir %(File.CopyTo) ^&amp;^&amp; chgrp downloads %(File.CopyTo) ^&amp;^&amp; chmod g-w,o+rx %(File.CopyTo)" />

56+

<Exec Command="&quot;$(PSCP)&quot; @(File,' ') $(User)@$(Host):%(File.CopyTo)" />

57+

<Exec Command="&quot;$(PLINK)&quot; $(User)@$(Host) chgrp downloads %(File.CopyTo)/*; chmod g-w,o+r %(File.CopyTo)/*" />

5958

</Target>

60596160

<Target Name="_PrintNames" Condition="$(DryRun)">

62-

<Exec Command="echo &quot;$(PLINK)&quot; $(User)@$(Host) mkdir %(File.CopyTo) ^&amp;^&amp; chgrp downloads %(File.CopyTo) ^&amp;^&amp; chmod g-w,o+rx %(File.CopyTo)

63-

echo &quot;$(PSCP)&quot; @(File,' ') $(User)@$(Host):%(File.CopyTo)

64-

echo &quot;$(PLINK)&quot; $(User)@$(Host) chgrp downloads %(File.CopyTo)/*; chmod g-w,o+r %(File.CopyTo)/*

65-

echo.

66-

echo." />

67-

</Target>

68-69-

<Target Name="_Purge" Condition="$(Purge) and !$(DryRun)">

70-

<Error Condition="!Exists('$(PythonExe)')" Text="No Python executable available at $(PythonExe)" />

71-

<Exec Command="&quot;$(PythonExe)&quot; purge.py $(PythonVersion)" />

61+

<Exec Command="echo &quot;$(PLINK)&quot; $(User)@$(Host) mkdir %(File.CopyTo) ^&amp;^&amp; chgrp downloads %(File.CopyTo) ^&amp;^&amp; chmod g-w,o+rx %(File.CopyTo)" />

62+

<Exec Command="echo &quot;$(PSCP)&quot; @(File,' ') $(User)@$(Host):%(File.CopyTo)" />

63+

<Exec Command="echo &quot;$(PLINK)&quot; $(User)@$(Host) chgrp downloads %(File.CopyTo)/*; chmod g-w,o+r %(File.CopyTo)/*" />

7264

</Target>

73657466

<Target Name="_TestLayout">

@@ -82,6 +74,7 @@ echo." />

8274

<LogFile>$(OutputPath)\%(Filename)_layoutlog\%(Filename).log</LogFile>

8375

</WebInstaller>

8476

</ItemGroup>

77+

<Error Text="Could not find installer" Condition="@(WebInstaller) == ''" />

8578

<RemoveDir Directories="%(WebInstaller.SourceDir)" Condition="Exists('%(WebInstaller.SourceDir)')" />

8679

<RemoveDir Directories="%(WebInstaller.LayoutDir)" Condition="Exists('%(WebInstaller.LayoutDir)')" />

8780

<RemoveDir Directories="%(WebInstaller.LogDir)" Condition="Exists('%(WebInstaller.LogDir)')" />

@@ -95,14 +88,22 @@ echo." />

9588

<Message Text="Successfully downloaded %(WebInstaller.Filename)%(WebInstaller.Extension) layout" Importance="high" />

9689

</Target>

979098-

<Target Name="Upload" DependsOnTargets="_ValidateProperties;_RunGpg;_PrintNames;_Upload;_Purge" />

91+

<Target Name="Upload" DependsOnTargets="_ValidateProperties;_RunGpg;_PrintNames;_Upload" />

9992

<Target Name="Test" DependsOnTargets="_TestLayout" />

1009394+

<Target Name="Purge">

95+

<Error Condition="!Exists('$(PythonExe)')" Text="No Python executable available at $(PythonExe)" />

96+

<Exec Command="echo &quot;$(PythonExe)&quot; purge.py $(PythonVersion)" Condition="$(DryRun)" />

97+

<Exec Command="&quot;$(PythonExe)&quot; purge.py $(PythonVersion)" Condition="!$(DryRun)" />

98+

<Message Text="Purged uploaded files" Importance="high" />

99+

</Target>

100+101101

<Target Name="ShowHashes">

102102

<ItemGroup>

103103

<UserFiles Include="@(File)" Condition="'%(File.CopyTo)' == '$(EXETarget)'" />

104104

</ItemGroup>

105105106+

<Error Text="No files generated" Condition="@(UserFiles) == ''" />

106107

<Exec Command="&quot;$(PythonExe)&quot; generate_md5.py @(UserFiles->'&quot;%(FullPath)&quot;',' ')" />

107108

</Target>

108109