gecko-dev/build/clang-plugin/ThirdPartyPaths.py
Mike Hommey 1b3a3daa80 Bug 1617131 - Sort the list of third party paths. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D63631

--HG--
extra : moz-landing-system : lando
2020-02-21 11:04:12 +00:00

38 lines
896 B
Python

#!/usr/bin/env python3
import json
def generate(output, *input_paths):
"""
This file generates a ThirdPartyPaths.cpp file from the ThirdPartyPaths.txt
file in /tools/rewriting, which is used by the Clang Plugin to help identify
sources which should be ignored.
"""
tpp_list = []
lines = set()
for path in input_paths:
with open(path) as f:
lines.update(f.readlines())
for line in lines:
line = line.strip()
if line.endswith('/'):
line = line[:-1]
tpp_list.append(line)
tpp_strings = ',\n '.join([json.dumps(tpp) for tpp in sorted(tpp_list)])
output.write("""\
/* THIS FILE IS GENERATED BY ThirdPartyPaths.py - DO NOT EDIT */
#include <stdint.h>
const char* MOZ_THIRD_PARTY_PATHS[] = {
%s
};
extern const uint32_t MOZ_THIRD_PARTY_PATHS_COUNT = %d;
""" % (tpp_strings, len(tpp_list)))