aboutsummaryrefslogtreecommitdiff
path: root/tools/gen_binary_descriptors
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gen_binary_descriptors')
-rwxr-xr-xtools/gen_binary_descriptors22
1 files changed, 11 insertions, 11 deletions
diff --git a/tools/gen_binary_descriptors b/tools/gen_binary_descriptors
index d25d9bd60..dbbf8c732 100755
--- a/tools/gen_binary_descriptors
+++ b/tools/gen_binary_descriptors
@@ -25,14 +25,11 @@ import hashlib
from compat import iteritems
SOURCE_TARGET = [
- (
- 'protos/perfetto/trace_processor/trace_processor.proto',
- 'src/trace_processor/python/perfetto/trace_processor/trace_processor.descriptor'
- ),
- (
- 'protos/perfetto/metrics/metrics.proto',
- 'src/trace_processor/python/perfetto/trace_processor/metrics.descriptor'
+ ('protos/perfetto/trace_processor/trace_processor.proto',
+ 'python/perfetto/trace_processor/trace_processor.descriptor'
),
+ ('protos/perfetto/metrics/metrics.proto',
+ 'python/perfetto/trace_processor/metrics.descriptor'),
]
ROOT_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
@@ -54,7 +51,6 @@ def find_protoc():
return None
-
def check(source, target):
assert os.path.exists(os.path.join(ROOT_DIR, target)), \
'Output file {} does not exist and so cannot be checked'.format(target)
@@ -75,7 +71,9 @@ def check(source, target):
def generate(source, target, protoc_path):
- with tempfile.NamedTemporaryFile() as fdescriptor:
+ # delete=False + manual unlink is required for Windows. Otherwise the temp
+ # file is kept locked exclusively and unaccassible until it's destroyed.
+ with tempfile.NamedTemporaryFile(delete=False) as fdescriptor:
subprocess.check_call([
protoc_path,
'--include_imports',
@@ -84,10 +82,11 @@ def generate(source, target, protoc_path):
os.path.join(ROOT_DIR, "buildtools", "protobuf", "src"),
'--descriptor_set_out={}'.format(fdescriptor.name),
source,
- ],
- cwd=ROOT_DIR)
+ ], cwd=ROOT_DIR)
s = fdescriptor.read()
+ fdescriptor.close()
+ os.remove(fdescriptor.name)
with open(target, 'wb') as out:
out.write(s)
@@ -105,6 +104,7 @@ def generate(source, target, protoc_path):
source_hash=hash_path(os.path.join(source)),
).encode())
+
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--check-only', action='store_true')