mirror of
https://github.com/nlohmann/json.git
synced 2024-11-23 22:19:02 +08:00
generate_natvis.py: validate version number; cleanup (#3698)
This commit is contained in:
parent
c0dae0f510
commit
32bbd38072
@ -4,11 +4,17 @@ import argparse
|
|||||||
import itertools
|
import itertools
|
||||||
import jinja2
|
import jinja2
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
def semver(v):
|
||||||
|
if not re.fullmatch(r'\d+\.\d+\.\d+', v):
|
||||||
|
raise ValueError
|
||||||
|
return v
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('--version', required=True, help='Library version number')
|
parser.add_argument('--version', required=True, type=semver, help='Library version number')
|
||||||
parser.add_argument('output', help='Output directory for nlohmann_json.natvis')
|
parser.add_argument('output', help='Output directory for nlohmann_json.natvis')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
@ -18,11 +24,11 @@ if __name__ == '__main__':
|
|||||||
version = '_v' + args.version.replace('.', '_')
|
version = '_v' + args.version.replace('.', '_')
|
||||||
inline_namespaces = []
|
inline_namespaces = []
|
||||||
|
|
||||||
|
# generate all combinations of inline namespace names
|
||||||
for n in range(0, len(abi_tags) + 1):
|
for n in range(0, len(abi_tags) + 1):
|
||||||
for tags in itertools.combinations(abi_tags, n):
|
for tags in itertools.combinations(abi_tags, n):
|
||||||
ns = abi_prefix + ''.join(tags)
|
ns = abi_prefix + ''.join(tags)
|
||||||
inline_namespaces += [ns]
|
inline_namespaces += [ns, ns + version]
|
||||||
inline_namespaces += [ns + version]
|
|
||||||
|
|
||||||
namespaces += [f'{namespaces[0]}::{ns}' for ns in inline_namespaces]
|
namespaces += [f'{namespaces[0]}::{ns}' for ns in inline_namespaces]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user