Compare commits
2 commits
stable
...
poc_relati
Author | SHA1 | Date | |
---|---|---|---|
Jordan ⌨️ | 56f252f588 | ||
Jordan ⌨️ | a9ef90c04e |
4
.github/workflows/checks.yml
vendored
4
.github/workflows/checks.yml
vendored
|
@ -13,12 +13,12 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: '3.11'
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
|
|
7
.github/workflows/publish.yml
vendored
7
.github/workflows/publish.yml
vendored
|
@ -20,14 +20,11 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
|
|
|
@ -203,10 +203,8 @@ def build(
|
|||
all = False
|
||||
shell.mkdir(target.builddir)
|
||||
ninjaPath = os.path.join(target.builddir, "build.ninja")
|
||||
|
||||
if not os.path.exists(ninjaPath):
|
||||
with open(ninjaPath, "w") as f:
|
||||
gen(f, target, registry)
|
||||
with open(ninjaPath, "w") as f:
|
||||
gen(f, target, registry)
|
||||
|
||||
if components is None:
|
||||
all = True
|
||||
|
@ -230,9 +228,10 @@ def build(
|
|||
)
|
||||
|
||||
outs = list(map(lambda p: str(p.path), products))
|
||||
|
||||
shell.exec("ninja", "-f", ninjaPath, *(outs if not all else []))
|
||||
|
||||
if all:
|
||||
shell.exec("ninja", "-f", ninjaPath)
|
||||
else:
|
||||
shell.exec("ninja", "-f", ninjaPath, *outs)
|
||||
return products
|
||||
|
||||
|
||||
|
@ -244,9 +243,9 @@ def buildCmd(args: cli.Args):
|
|||
registry = model.Registry.use(args)
|
||||
target = model.Target.use(args)
|
||||
componentSpec = args.consumeArg()
|
||||
component = None
|
||||
if componentSpec is not None:
|
||||
component = registry.lookup(componentSpec, model.Component)
|
||||
if componentSpec is None:
|
||||
raise RuntimeError("No component specified")
|
||||
component = registry.lookup(componentSpec, model.Component)
|
||||
build(target, registry, component)[0]
|
||||
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ class Manifest(DataClassJsonMixin):
|
|||
"""
|
||||
Return the directory of the manifest
|
||||
"""
|
||||
return os.path.relpath(os.path.dirname(self.path), Path.cwd())
|
||||
return os.path.dirname(self.path)
|
||||
|
||||
def subpath(self, path) -> Path:
|
||||
return Path(self.dirname()) / path
|
||||
|
@ -121,18 +121,19 @@ class Project(Manifest):
|
|||
|
||||
@staticmethod
|
||||
def ensure() -> "Project":
|
||||
"""
|
||||
Ensure that a project exists in the current directory or any parent directory
|
||||
and chdir to the root of the project.
|
||||
"""
|
||||
project = Project.topmost()
|
||||
if project is None:
|
||||
raise RuntimeError(
|
||||
"No project found in this directory or any parent directory"
|
||||
)
|
||||
os.chdir(project.dirname())
|
||||
return project
|
||||
|
||||
def chdir(self):
|
||||
"""
|
||||
Change the current working directory to the root of the project
|
||||
"""
|
||||
os.chdir(self.dirname())
|
||||
|
||||
@staticmethod
|
||||
def at(path: Path) -> Optional["Project"]:
|
||||
projectManifest = Manifest.tryLoad(path / "project")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import os
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
from . import shell, model, const
|
||||
|
||||
|
@ -17,6 +18,7 @@ def load(path: str):
|
|||
return None
|
||||
|
||||
module = importlib.module_from_spec(spec)
|
||||
sys.modules["plugin"] = module
|
||||
spec.loader.exec_module(module)
|
||||
|
||||
|
||||
|
@ -33,11 +35,11 @@ def loadAll():
|
|||
|
||||
for dirname in paths:
|
||||
pluginDir = os.path.join(project.dirname(), dirname, const.META_DIR, "plugins")
|
||||
initFile = os.path.join(pluginDir, "__init__.py")
|
||||
|
||||
for files in shell.readdir(pluginDir):
|
||||
if files.endswith(".py"):
|
||||
plugin = load(os.path.join(pluginDir, files))
|
||||
|
||||
if plugin:
|
||||
_logger.info(f"Loaded plugin {plugin.name}")
|
||||
plugin.init()
|
||||
if os.path.isfile(initFile):
|
||||
load(initFile)
|
||||
else:
|
||||
for files in shell.readdir(pluginDir):
|
||||
if files.endswith(".py"):
|
||||
load(os.path.join(pluginDir, files))
|
||||
|
|
|
@ -12,7 +12,7 @@ authors = [
|
|||
{ name = "Cute Engineering", email = "contact@cute.engineering" },
|
||||
]
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
requires-python = ">=3.10"
|
||||
license = { text = "MIT" }
|
||||
dynamic = ["version", "dependencies"]
|
||||
|
||||
|
|
Loading…
Reference in a new issue