mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
The quoting of the sed commands was creating problems in my Windows installation. I am unsure if the implementation of sed.exe is different or the cmd.exe is different. In order to avoid problems in different machines, replace the piped sed commands into only one python script. This should be multiplatform and should execute the same in any of them. It also remove a lot of the extra quoting and escaping, and avoids 5 processes for only just one.
33 lines
1.3 KiB
Python
33 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
# sourcekitd_path_sanitize.py - Cleans up paths from sourcekitd-test output
|
|
#
|
|
# This source file is part of the Swift.org open source project
|
|
#
|
|
# Copyright (c) 2014 - 2019 Apple Inc. and the Swift project authors
|
|
# Licensed under Apache License v2.0 with Runtime Library Exception
|
|
#
|
|
# See https://swift.org/LICENSE.txt for license information
|
|
# See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
|
|
import re
|
|
import sys
|
|
|
|
SWIFTMODULE_BUNDLE_RE = re.compile(
|
|
r'key.filepath: ".*[/\\](.*)\.swiftmodule[/\\].*\.swiftmodule"')
|
|
SWIFTMODULE_RE = re.compile(r'key.filepath: ".*[/\\](.*)\.swiftmodule"')
|
|
SWIFT_RE = re.compile(r'key.filepath: ".*[/\\](.*)\.swift"')
|
|
PCM_RE = re.compile(r'key.filepath: ".*[/\\](.*)-[0-9A-Z]*\.pcm"')
|
|
HEADER_RE = re.compile(r' file=\\".*[/\\](.*)\.h\\"')
|
|
|
|
try:
|
|
for line in sys.stdin.readlines():
|
|
line = re.sub(SWIFTMODULE_BUNDLE_RE,
|
|
r'key.filepath: \1.swiftmodule', line)
|
|
line = re.sub(SWIFTMODULE_RE, r'key.filepath: \1.swiftmodule', line)
|
|
line = re.sub(SWIFT_RE, r'key.filepath: \1.swift', line)
|
|
line = re.sub(PCM_RE, r'key.filepath: \1.pcm', line)
|
|
line = re.sub(HEADER_RE, r' file=\1.h', line)
|
|
sys.stdout.write(line)
|
|
except KeyboardInterrupt:
|
|
sys.stdout.flush()
|