summaryrefslogtreecommitdiff
path: root/maint/list_crates
blob: 93647bc7146df9053c8c16623e117fec2528a4c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/python
#
# List our crates as they appear in Cargo.toml.  Useful for scripting.

import toml.decoder
import sys
import os.path

TOPDIR = os.path.split(os.path.dirname(sys.argv[0]))[0]
WORKSPACE_TOML = os.path.join(TOPDIR, "Cargo.toml")


def strip_prefix(s, prefix):
    if s.startswith(prefix):
        return s[len(prefix):]
    else:
        return s


def crate_list():
    t = toml.decoder.load(WORKSPACE_TOML)
    return list(strip_prefix(name, "crates/") for name in t['workspace']['members'])


if __name__ == '__main__':
    for item in crate_list():
        print(item)