Skip to content

Commit f9eb8a5

Browse files
authored
Merge pull request #227 from polywrap/dev
prep 0.1.0b1 (attempt 3) | /workflows/cd
2 parents 95bd97c + bc3f8f8 commit f9eb8a5

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

scripts/dependency_graph.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
def build_dependency_graph():
1010
dependent_graph: defaultdict[str, set[str]] = defaultdict(set)
1111
deps_counter: Counter[int] = Counter()
12+
name_to_path: dict[str, Path] = {}
1213

1314
for package in extract_package_paths():
1415
package_path = Path(package)
1516
if package_path.is_dir():
1617
name = package_path.name
18+
name_to_path[name] = package_path
1719
deps_counter[name] = 0
1820
with open(package_path.joinpath("pyproject.toml"), "r") as f:
1921
pyproject = tomlkit.load(f)
@@ -23,22 +25,22 @@ def build_dependency_graph():
2325
dependent_graph[dep].add(name)
2426
deps_counter[name] += 1
2527

26-
return dependent_graph, deps_counter
28+
return dependent_graph, deps_counter, name_to_path
2729

2830

29-
def topological_order(graph: dict[str, set[str]], counter: dict[str, int]) -> Generator[str, None, None]:
31+
def topological_order(graph: dict[str, set[str]], counter: dict[str, int], name_to_path: dict[str, Path]) -> Generator[Path, None, None]:
3032
while counter:
3133
for dep in list(counter.keys()):
3234
if counter[dep] == 0:
33-
yield dep
35+
yield name_to_path[dep]
3436
for dependent in graph[dep]:
3537
counter[dependent] -= 1
3638
del counter[dep]
3739

3840

39-
def package_build_order() -> Generator[str, None, None]:
40-
graph, counter = build_dependency_graph()
41-
return topological_order(graph, counter)
41+
def package_build_order() -> Generator[Path, None, None]:
42+
graph, counter, name_to_path = build_dependency_graph()
43+
return topological_order(graph, counter, name_to_path)
4244

4345

4446
if __name__ == "__main__":

scripts/link_packages.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ def link_dependencies():
2727

2828
root_dir = Path(__file__).parent.parent
2929

30-
for package in package_build_order():
31-
with ChangeDir(str(root_dir.joinpath("packages", package))):
32-
link_dependencies()
30+
for package_dir in package_build_order():
31+
with ChangeDir(str(package_dir)):
32+
link_dependencies()

scripts/publish_packages.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ def publish_package(package: str, version: str) -> None:
103103

104104
root_dir = Path(__file__).parent.parent
105105

106-
for package in package_build_order():
107-
package_dir = root_dir.joinpath("packages", package)
106+
for package_dir in package_build_order():
107+
package = package_dir.name
108108
with ChangeDir(str(package_dir)):
109109
version_path = package_dir.joinpath("VERSION")
110110
with open(version_path, "r") as f:

0 commit comments

Comments
 (0)