Defers project loading to execution phase
Removes project loading from command initialization and shifts it to the execution phase for better resource management and initialization performance. Improves flexibility by ensuring the project is only loaded when needed.
This commit is contained in:
@@ -6,7 +6,6 @@ from hdlbuild.utils.project_loader import load_project_config
|
|||||||
class BuildCommand:
|
class BuildCommand:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.console_utils = ConsoleUtils("hdlbuild")
|
self.console_utils = ConsoleUtils("hdlbuild")
|
||||||
self.project = load_project_config()
|
|
||||||
|
|
||||||
def register(self, subparsers):
|
def register(self, subparsers):
|
||||||
parser = subparsers.add_parser("build", help="Start the build process")
|
parser = subparsers.add_parser("build", help="Start the build process")
|
||||||
@@ -20,6 +19,7 @@ class BuildCommand:
|
|||||||
|
|
||||||
def execute(self, args):
|
def execute(self, args):
|
||||||
"""Starts the build process."""
|
"""Starts the build process."""
|
||||||
|
self.project = load_project_config()
|
||||||
if args.target == "synth":
|
if args.target == "synth":
|
||||||
self.console_utils.print("Starting synth process...")
|
self.console_utils.print("Starting synth process...")
|
||||||
ensure_directories_exist(True)
|
ensure_directories_exist(True)
|
||||||
|
@@ -5,7 +5,6 @@ from hdlbuild.utils.project_loader import load_project_config
|
|||||||
class DepCommand:
|
class DepCommand:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.console_utils = ConsoleUtils("hdlbuild")
|
self.console_utils = ConsoleUtils("hdlbuild")
|
||||||
self.project = load_project_config()
|
|
||||||
|
|
||||||
def register(self, subparsers):
|
def register(self, subparsers):
|
||||||
parser = subparsers.add_parser("dep", help="Start the dependencies process")
|
parser = subparsers.add_parser("dep", help="Start the dependencies process")
|
||||||
@@ -13,5 +12,6 @@ class DepCommand:
|
|||||||
|
|
||||||
def execute(self, args):
|
def execute(self, args):
|
||||||
"""Starts the dependencies process."""
|
"""Starts the dependencies process."""
|
||||||
|
self.project = load_project_config()
|
||||||
self.console_utils.print("Starting dependencies process...")
|
self.console_utils.print("Starting dependencies process...")
|
||||||
DependencyResolver(self.project).resolve_all()
|
DependencyResolver(self.project).resolve_all()
|
@@ -2,12 +2,10 @@ from pathlib import Path
|
|||||||
import shutil
|
import shutil
|
||||||
from hdlbuild.dependencies.resolver import DependencyResolver
|
from hdlbuild.dependencies.resolver import DependencyResolver
|
||||||
from hdlbuild.utils.console_utils import ConsoleUtils
|
from hdlbuild.utils.console_utils import ConsoleUtils
|
||||||
from hdlbuild.utils.project_loader import load_project_config
|
|
||||||
|
|
||||||
class InitCommand:
|
class InitCommand:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.console_utils = ConsoleUtils("hdlbuild")
|
self.console_utils = ConsoleUtils("hdlbuild")
|
||||||
self.project = load_project_config()
|
|
||||||
|
|
||||||
def register(self, subparsers):
|
def register(self, subparsers):
|
||||||
parser = subparsers.add_parser("init", help="Initialize a new HDLBuild project")
|
parser = subparsers.add_parser("init", help="Initialize a new HDLBuild project")
|
||||||
|
@@ -5,7 +5,6 @@ from hdlbuild.utils.project_loader import load_project_config
|
|||||||
class TestCommand:
|
class TestCommand:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.console_utils = ConsoleUtils("hdlbuild")
|
self.console_utils = ConsoleUtils("hdlbuild")
|
||||||
self.project = load_project_config()
|
|
||||||
|
|
||||||
def register(self, subparsers):
|
def register(self, subparsers):
|
||||||
parser = subparsers.add_parser("test", help="Start the Tests process")
|
parser = subparsers.add_parser("test", help="Start the Tests process")
|
||||||
@@ -18,6 +17,7 @@ class TestCommand:
|
|||||||
|
|
||||||
def execute(self, args):
|
def execute(self, args):
|
||||||
"""Starts the test process."""
|
"""Starts the test process."""
|
||||||
|
self.project = load_project_config()
|
||||||
self.console_utils.print("Starting test process...")
|
self.console_utils.print("Starting test process...")
|
||||||
build_testbench(self.project, args.target)
|
build_testbench(self.project, args.target)
|
||||||
run_testbench(self.project, args.target)
|
run_testbench(self.project, args.target)
|
Reference in New Issue
Block a user