Implemented AbobaConfig
This commit is contained in:
@@ -215,6 +215,39 @@ def run(argv: Optional[list[str]] = None):
|
|||||||
startup_millis = time() - startup_millis
|
startup_millis = time() - startup_millis
|
||||||
debug(f"* Tasks successfully completed in {startup_millis:.2f}s!")
|
debug(f"* Tasks successfully completed in {startup_millis:.2f}s!")
|
||||||
|
|
||||||
|
from .language import AbobaConfig
|
||||||
|
|
||||||
|
project_config = AbobaConfig("1")
|
||||||
|
graph = ProjectGraph(project_config)
|
||||||
|
node1 = graph.obtain_edge(project_config)
|
||||||
|
node2 = graph.obtain_edge(AbobaConfig("2"))
|
||||||
|
node1.dependencies.append(node2)
|
||||||
|
node3 = graph.obtain_edge(AbobaConfig("3"))
|
||||||
|
node2.dependencies.append(node3)
|
||||||
|
node4 = graph.obtain_edge(AbobaConfig("4"))
|
||||||
|
node3.dependencies.append(node4)
|
||||||
|
node4.dependencies.append(node2)
|
||||||
|
node5 = graph.obtain_edge(AbobaConfig("5"))
|
||||||
|
node1.dependencies.append(node5)
|
||||||
|
node6 = graph.obtain_edge(AbobaConfig("6"))
|
||||||
|
node5.dependencies.append(node6)
|
||||||
|
node6.dependencies.append(node3)
|
||||||
|
node7 = graph.obtain_edge(AbobaConfig("7"))
|
||||||
|
node6.dependencies.append(node7)
|
||||||
|
node8 = graph.obtain_edge(AbobaConfig("8"))
|
||||||
|
node1.dependencies.append(node8)
|
||||||
|
node6.dependencies.append(node8)
|
||||||
|
|
||||||
|
print(f"Node 1: {graph.get_cross_references(node1)}")
|
||||||
|
print(f"Node 2: {graph.get_cross_references(node2)}")
|
||||||
|
print(f"Node 3: {graph.get_cross_references(node3)}")
|
||||||
|
print(f"Node 4: {graph.get_cross_references(node4)}")
|
||||||
|
print(f"Node 5: {graph.get_cross_references(node5)}")
|
||||||
|
print(f"Node 6: {graph.get_cross_references(node6)}")
|
||||||
|
print(f"Node 7: {graph.get_cross_references(node7)}")
|
||||||
|
print(f"Node 8: {graph.get_cross_references(node8)}")
|
||||||
|
print(f"Cross references: {graph.get_cross_references()}")
|
||||||
|
|
||||||
def run_test():
|
def run_test():
|
||||||
import asyncio
|
import asyncio
|
||||||
from itertools import cycle
|
from itertools import cycle
|
||||||
|
|||||||
@@ -387,3 +387,31 @@ class MakeDataConfig(FileConfig, metaclass=ABCMeta):
|
|||||||
continue
|
continue
|
||||||
from . import GLOBALS
|
from . import GLOBALS
|
||||||
return config_type(config_file, defaults=GLOBALS.TOOLCHAIN_CONFIG)
|
return config_type(config_file, defaults=GLOBALS.TOOLCHAIN_CONFIG)
|
||||||
|
|
||||||
|
class AbobaConfig(MakeDataConfig):
|
||||||
|
def __init__(self, key: str) -> None:
|
||||||
|
from . import GLOBALS
|
||||||
|
if not isfile(GLOBALS.TOOLCHAIN_CONFIG.path):
|
||||||
|
from os import makedirs
|
||||||
|
from os.path import dirname
|
||||||
|
makedirs(dirname(GLOBALS.TOOLCHAIN_CONFIG.path))
|
||||||
|
with open(GLOBALS.TOOLCHAIN_CONFIG.path, "x") as file:
|
||||||
|
file.write("{}")
|
||||||
|
super().__init__(GLOBALS.TOOLCHAIN_CONFIG.path, GLOBALS.TOOLCHAIN_CONFIG)
|
||||||
|
self.key = key
|
||||||
|
|
||||||
|
def __hash__(self):
|
||||||
|
return hash(frozenset(self)) ^ hash(self.key)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_pack(self) -> bool:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def iterate_dependencies(self) -> Iterable[Union['MakeDataConfig', 'Artifact']]:
|
||||||
|
return []
|
||||||
|
|
||||||
|
def obtain_project_data(self) -> Optional[Union[MakeModData, MakePackData]]:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def iterate_assets(self) -> Iterable[MakeAssetData]:
|
||||||
|
return []
|
||||||
|
|||||||
Reference in New Issue
Block a user