diff options
author | Steve Dower <steve.dower@microsoft.com> | 2017-05-17 20:06:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-17 20:06:39 (GMT) |
commit | 4486a0934680af26a21f308eb9c295d2525570f2 (patch) | |
tree | 072d5848fd604bb5f05a28932c07aad90eb002f7 | |
parent | 78e25ab5b33a0f9d03c9b6a6ece328abcc645c4b (diff) | |
download | cpython-4486a0934680af26a21f308eb9c295d2525570f2.zip cpython-4486a0934680af26a21f308eb9c295d2525570f2.tar.gz cpython-4486a0934680af26a21f308eb9c295d2525570f2.tar.bz2 |
Fixes encodings in vcxproj files and adds script to automatically do it. (#1631)
-rw-r--r-- | PCbuild/_overlapped.vcxproj | 2 | ||||
-rw-r--r-- | PCbuild/fix_encoding.py | 36 |
2 files changed, 37 insertions, 1 deletions
diff --git a/PCbuild/_overlapped.vcxproj b/PCbuild/_overlapped.vcxproj index 8cf8a86..26b2d21 100644 --- a/PCbuild/_overlapped.vcxproj +++ b/PCbuild/_overlapped.vcxproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> diff --git a/PCbuild/fix_encoding.py b/PCbuild/fix_encoding.py new file mode 100644 index 0000000..60a892a --- /dev/null +++ b/PCbuild/fix_encoding.py @@ -0,0 +1,36 @@ +#! /usr/bin/env python3 +# +# Fixes encoding of the project files to add UTF-8 BOM. +# +# Visual Studio insists on having the BOM in project files, and will +# restore it on first edit. This script will go through the relevant +# files and ensure the BOM is included, which should prevent too many +# irrelevant changesets. +# + +from pathlib import Path + +__author__ = "Steve Dower <steve.dower@python.org>" +__version__ = "1.0.0.0" + +def fix(p): + with open(p, 'r', encoding='utf-8-sig') as f: + data = f.read() + with open(p, 'w', encoding='utf-8-sig') as f: + f.write(data) + +ROOT_DIR = Path(__file__).resolve().parent + +if __name__ == '__main__': + count = 0 + print('Fixing:') + for f in ROOT_DIR.glob('*.vcxproj'): + print(f' - {f.name}') + fix(f) + count += 1 + for f in ROOT_DIR.glob('*.vcxproj.filters'): + print(f' - {f.name}') + fix(f) + count += 1 + print() + print(f'Fixed {count} files') |