in cmake/scripts/parse_cargo_packages.py [0:0]
def parse_members_for_workspace(toml_path):
"""Parse members from Cargo.toml of the worksapce"""
with open(toml_path, mode='rb') as f:
data = f.read()
manifest = data.decode('utf8')
regex = re.compile(r"^members\s*=\s*\[(.*?)\]", re.S | re.M)
members_block = regex.findall(manifest)[0]
out = []
members = members_block.split('\n')
regex2 = re.compile(r'\s*"(.*?)".*')
for mem in members:
if (len(mem.strip()) == 0) or re.match(r".*#\signore", mem):
continue
out.append(regex2.findall(mem)[0])
return out