diff options
author | Steve Dower <steve.dower@microsoft.com> | 2015-09-22 22:03:54 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2015-09-22 22:03:54 (GMT) |
commit | 2495faf8fcbe07ff5a6f422d002a9e39d7eb9e0a (patch) | |
tree | 8080fb8d5b7776eaeef0224ed913fde42f4e9239 /Tools | |
parent | 57ab1cdb152bdb223555ca2f46de06e3e26485dd (diff) | |
download | cpython-2495faf8fcbe07ff5a6f422d002a9e39d7eb9e0a.zip cpython-2495faf8fcbe07ff5a6f422d002a9e39d7eb9e0a.tar.gz cpython-2495faf8fcbe07ff5a6f422d002a9e39d7eb9e0a.tar.bz2 |
Closes #25085 and #25086: Exclude distutils and test directories from embeddable distro.
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/msi/make_zip.proj | 2 | ||||
-rw-r--r-- | Tools/msi/make_zip.py | 23 |
2 files changed, 23 insertions, 2 deletions
diff --git a/Tools/msi/make_zip.proj b/Tools/msi/make_zip.proj index 766fe85..d2e031f 100644 --- a/Tools/msi/make_zip.proj +++ b/Tools/msi/make_zip.proj @@ -14,6 +14,7 @@ <TargetName>python-$(PythonVersion)-embed-$(ArchName)</TargetName> <TargetExt>.zip</TargetExt> <TargetPath>$(OutputPath)\en-us\$(TargetName)$(TargetExt)</TargetPath> + <CleanCommand>rmdir /q/s "$(IntermediateOutputPath)\zip_$(ArchName)"</CleanCommand> <Arguments>"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"</Arguments> <Arguments>$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -a $(ArchName)</Arguments> <Environment>set DOC_FILENAME=python$(PythonVersion).chm @@ -23,6 +24,7 @@ set VCREDIST_PATH=$(VS140COMNTOOLS)\..\..\VC\redist\$(Platform)\Microsoft.VC140. <Target Name="_Build"> <Exec Command="setlocal $(Environment) +$(CleanCommand) $(Arguments)" /> </Target> diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py index c256008..96fdad2 100644 --- a/Tools/msi/make_zip.py +++ b/Tools/msi/make_zip.py @@ -15,6 +15,20 @@ TKTCL_RE = re.compile(r'^(_?tk|tcl).+\.(pyd|dll)', re.IGNORECASE) DEBUG_RE = re.compile(r'_d\.(pyd|dll|exe)$', re.IGNORECASE) PYTHON_DLL_RE = re.compile(r'python\d\d?\.dll$', re.IGNORECASE) +EXCLUDE_FROM_LIBRARY = { + '__pycache__', + 'ensurepip', + 'idlelib', + 'pydoc_data', + 'site-packages', + 'tkinter', + 'turtledemo', +} + +EXCLUDE_FILE_FROM_LIBRARY = { + 'bdist_wininst.py', +} + def is_not_debug(p): if DEBUG_RE.search(p.name): return False @@ -37,16 +51,21 @@ def is_not_debug_or_python(p): def include_in_lib(p): name = p.name.lower() if p.is_dir(): - if name in {'__pycache__', 'ensurepip', 'idlelib', 'pydoc_data', 'tkinter', 'turtledemo'}: + if name in EXCLUDE_FROM_LIBRARY: return False if name.startswith('plat-'): return False if name == 'test' and p.parts[-2].lower() == 'lib': return False + if name in {'test', 'tests'} and p.parts[-3].lower() == 'lib': + return False return True + if name in EXCLUDE_FILE_FROM_LIBRARY: + return False + suffix = p.suffix.lower() - return suffix not in {'.pyc', '.pyo'} + return suffix not in {'.pyc', '.pyo', '.exe'} def include_in_tools(p): if p.is_dir() and p.name.lower() in {'scripts', 'i18n', 'pynche', 'demo', 'parser'}: |