Skip to content

Commit 29d4c30

Browse files
committed
Release version 0.0.0.dev444
1 parent 09d46bc commit 29d4c30

6 files changed

Lines changed: 19 additions & 14 deletions

File tree

pkg/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespaces = true
1717
# ----------------------------------------- Project Metadata -------------------------------------
1818
#
1919
[project]
20-
version = "0.0.0.dev443"
20+
version = "0.0.0.dev444"
2121
name = "ControlMan"
2222
dependencies = [
2323
"packaging >= 23.2, < 24",

pkg/src/controlman/_data/schema/main.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,19 +348,19 @@ patternProperties:
348348
tasks_local:
349349
summary: Path to the local tasks script file.
350350
$ref: https://jsonschemata.repodynamics.com/path/posix/absolute-from-cwd
351-
default: ${{ .root }}$/${{ devcontainer.container.rel_path.tasks_local }}$
351+
default: ${{ .root }}$/${{ devcontainer.containers.rel_path.tasks_local }}$
352352
tasks_global:
353353
summary: Path to the global tasks script file.
354354
$ref: https://jsonschemata.repodynamics.com/path/posix/absolute-from-cwd
355-
default: ${{ .root }}$/${{ devcontainer.container.rel_path.tasks_global }}$
355+
default: ${{ .root }}$/${{ devcontainer.containers.rel_path.tasks_global }}$
356356
environment:
357357
summary: Path to the environment directory.
358358
$ref: https://jsonschemata.repodynamics.com/path/posix/absolute-from-cwd
359-
default: ${{ .root }}$/${{ devcontainer.container.rel_path.environment }}$
359+
default: ${{ .root }}$/${{ devcontainer.containers.rel_path.environment }}$
360360
conda_rel:
361361
summary: Path to the conda directory relative to the environment directory.
362362
type: string
363-
default: ${{ devcontainer.container.rel_path.conda }}$
363+
default: ${{ devcontainer.containers.rel_path.conda }}$
364364
conda:
365365
summary: Path to the conda environment directory.
366366
$ref: https://jsonschemata.repodynamics.com/path/posix/absolute-from-cwd
@@ -369,7 +369,7 @@ patternProperties:
369369
apt_rel:
370370
summary: Path to the apt file relative to the environment directory.
371371
type: string
372-
default: ${{ devcontainer.container.rel_path.apt }}$
372+
default: ${{ devcontainer.containers.rel_path.apt }}$
373373
apt:
374374
summary: Path to the apt file.
375375
$ref: https://jsonschemata.repodynamics.com/path/posix/absolute-from-cwd

pkg/src/controlman/center_manager.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ def load(self) -> _ps.NestedDict:
115115
cache_manager=self._cache_manager,
116116
github_token=self._github_token,
117117
)
118+
119+
def get_prefix(get, prefix: str):
120+
return [get(key) for key in full_data.keys() if key.startswith(prefix)]
121+
118122
self._data_raw = _ps.NestedDict(
119123
full_data,
120124
code_context={
@@ -133,6 +137,7 @@ def load(self) -> _ps.NestedDict:
133137
"team_members_with_role_types": _helper.team_members_with_role_types,
134138
"team_members_without_role_types": _helper.team_members_without_role_types,
135139
"team_members_with_role_ids": _helper.team_members_with_role_ids,
140+
"get_prefix": get_prefix,
136141
},
137142
code_context_call=code_context_call,
138143
relative_template_keys=const.RELATIVE_TEMPLATE_KEYS,

pkg/src/controlman/datatype.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ class DynamicFileType(_Enum):
77
DEVCONTAINER_DOCKERFILE = ("devcontainer_dockerfile", "Devcontainer Dockerfile")
88
DEVCONTAINER_APT = ("devcontainer_apt", "Devcontainer Apt Packages")
99
DEVCONTAINER_CONDA = ("devcontainer_conda", "Devcontainer Conda Environment")
10-
DEVCONTAINER_TASK = ("devcontainer_task", "Devcontainer Bash Tasks")
10+
DEVCONTAINER_TASK_LOCAL = ("devcontainer_task_local", "Devcontainer Bash Tasks (Local)")
11+
DEVCONTAINER_TASK_GLOBAL = ("devcontainer_task_global", "Devcontainer Bash Tasks (Global)")
1112
DEVCONTAINER_FEATURE_METADATA = ("devcontainer_feature_metadata", "Devcontainer Feature Metadata")
1213
DEVCONTAINER_FEATURE_INSTALL = ("devcontainer_feature_install", "Devcontainer Feature Install Script")
1314
CUSTOM = ("custom", "Custom")

pkg/src/controlman/file_gen/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def generate(
4747
):
4848
type_dict = data_entry.setdefault(generated_file.type.value[0], {})
4949
if generated_file.subtype[0] in type_dict:
50-
raise RuntimeError(f"Duplicate dynamic file subtype: {generated_file.subtype[0]}")
50+
raise RuntimeError(f"Duplicate dynamic file type and subtype: {generated_file.type.value[0]} {generated_file.subtype[0]}")
5151
type_dict[generated_file.subtype[0]] = generated_file.path
5252
data["project.file"] = data_entry
5353
metadata_file = _dtype.DynamicFile(

pkg/src/controlman/file_gen/config.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def create_docker_compose():
194194
service.setdefault("build", {}).update(
195195
{
196196
"context": path_to_root_from_compose_file,
197-
"dockerfile": f"{container["path"]}/Dockerfile",
197+
"dockerfile": container["path"]["dockerfile"],
198198
}
199199
)
200200
services[service_name] = {
@@ -290,8 +290,6 @@ def add_lines(content: str):
290290

291291
for container_id, container in devcontainers.items():
292292
container_before = self._data_before.get(f"devcontainer_{container_id}", {})
293-
dir_path = container["path"]
294-
dir_path_before = container_before.get("path", dir_path)
295293
dockerfile = DynamicFile(
296294
type=DynamicFileType.DEVCONTAINER_DOCKERFILE,
297295
subtype=(container_id, container["container"].get("name", container_id)),
@@ -304,10 +302,11 @@ def add_lines(content: str):
304302
)
305303
out.append(dockerfile)
306304
# devcontainer.json file
307-
container_path = f"{dir_path}/devcontainer.json"
305+
container_path = f"{container["path"]["root"]}/devcontainer.json"
308306
container["container"].setdefault("dockerComposeFile", []).append(
309307
_os.path.relpath(docker_compose_path, _os.path.dirname(container_path))
310308
)
309+
dir_path_before = container_before.get("path", {}).get("root")
311310
container_file = DynamicFile(
312311
type=DynamicFileType.DEVCONTAINER_METADATA,
313312
subtype=(container_id, container.get("name", container_id)),
@@ -317,7 +316,7 @@ def add_lines(content: str):
317316
**self._data["default"]["file_setting"]["json"],
318317
),
319318
path=container_path,
320-
path_before=f"{dir_path_before}/devcontainer.json",
319+
path_before=f"{dir_path_before}/devcontainer.json" if dir_path_before else None,
321320
)
322321
out.append(container_file)
323322
# apt.txt file
@@ -371,7 +370,7 @@ def add_lines(content: str):
371370
)
372371
for typ in tasks.keys():
373372
task_file = DynamicFile(
374-
type=DynamicFileType.DEVCONTAINER_TASK,
373+
type=DynamicFileType[f"DEVCONTAINER_TASK_{typ.upper()}"],
375374
subtype=(container_id, container.get("name", container_id)),
376375
content=_unit.create_dynamic_file(
377376
file_type="txt",

0 commit comments

Comments
 (0)