mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-13 17:31:05 +00:00
add a python script to show the runtime packages' dependencies (#725)
* add a python script to show the dependencies * add the header line and modify the mod
This commit is contained in:
Executable
+34
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# To run this script, you need to install the 'toml' python package and install the 'graphviz' package:
|
||||
# pip install toml
|
||||
# sudo apt-get install graphviz
|
||||
# the first parameter is the runtime folder
|
||||
# python ./scripts/runtime-dep.py ./substrate/runtime | dot -Tpng -o output.png
|
||||
import sys
|
||||
import os
|
||||
import toml
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
print("needs the runtime folder.")
|
||||
sys.exit(-1)
|
||||
|
||||
runtime_dir = sys.argv[1]
|
||||
|
||||
files = [os.path.join(runtime_dir, f, 'Cargo.toml') for f in os.listdir(runtime_dir) if os.path.isfile(os.path.join(runtime_dir, f, 'Cargo.toml')) and f != 'example']
|
||||
|
||||
print("digraph G {")
|
||||
|
||||
|
||||
PREFIX = "substrate-runtime-"
|
||||
|
||||
for f in files:
|
||||
manifest = toml.load(f)
|
||||
|
||||
package_name = manifest['package']['name']
|
||||
deps = [d for d in manifest['dependencies'].keys() if d.startswith(PREFIX)]
|
||||
|
||||
for d in deps:
|
||||
print(" \"{}\" -> \"{}\";".format(package_name, d))
|
||||
|
||||
print("}")
|
||||
Reference in New Issue
Block a user