From 4486a0934680af26a21f308eb9c295d2525570f2 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Wed, 17 May 2017 13:06:39 -0700 Subject: Fixes encodings in vcxproj files and adds script to automatically do it. (#1631) --- PCbuild/_overlapped.vcxproj | 2 +- PCbuild/fix_encoding.py | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 PCbuild/fix_encoding.py 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 @@ - + 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 " +__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') -- cgit v0.12