Skip to content

Add layered project configuration for standalone Modules - #226

Draft
wyli wants to merge 5 commits into
feat/create-standalone-modulesfrom
feat/standalone-module-project-configuration
Draft

Add layered project configuration for standalone Modules#226
wyli wants to merge 5 commits into
feat/create-standalone-modulesfrom
feat/standalone-module-project-configuration

Conversation

@wyli

@wyli wyli commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add strict typed [tool.holoscan] and [tool.holoscan.sdk] project configuration
  • resolve scalar settings as CLI, environment, selected mode, project, then default
  • keep Docker, CMake, and forwarded-environment vectors additive with explicit replacement and inherited-layer reset controls
  • propagate resolved settings consistently through build, run, container, install, package, setup, and test
  • reject raw Docker build arguments that collide with CLI-owned values
  • report effective configuration safely and document the beginner-facing workflow

Stack

This PR is intentionally based on #225 and should be reviewed after it. Once #225 merges, this PR can be retargeted to main.

The Xvfb, CTest-driver, and installed-artifact release hardening remain deferred to the final follow-up PR.

Validation

  • python -m pytest -q -o addopts="" tests/unit — 596 passed, 1 skipped
  • python -m ruff check src/holoscan_cli tests/unit
  • python -m black --check src/holoscan_cli tests/unit
  • wheel and source-distribution package-data validation
  • source-tree CLI help and version JSON smoke checks

AI-assisted: Created with Codex/GPT at the user's request.

@copy-pr-bot

copy-pr-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@wyli
wyli force-pushed the feat/standalone-module-project-configuration branch from d15959b to 52ca946 Compare August 19, 2026 19:18
@wyli
wyli force-pushed the feat/create-standalone-modules branch from 34479e8 to 434d4da Compare August 20, 2026 08:33
@wyli
wyli force-pushed the feat/standalone-module-project-configuration branch from 52ca946 to 754665a Compare August 20, 2026 08:35
wyli and others added 3 commits August 20, 2026 09:38
Add strict typed project and SDK settings for standalone Modules, including project identity, metadata paths, build type, CTest, CUDA, base images, and SDK discovery. Resolve explicit machine-local overrides ahead of committed defaults and expose the selected profile through version diagnostics.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com>
Allow standalone Modules to commit additive Docker build options, Docker run options, and selected forwarded environment names. Validate the typed arrays and make their resolved values visible through project diagnostics.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com>
Resolve scalar and additive settings consistently for build, run, container, install, package, setup, and test. Keep CLI Docker additions repeatable, add atomic vector replacement and inherited-layer suppression, reject reserved raw build arguments, and report effective configuration without exposing option values.

Document the beginner-facing configuration model and preserve existing local-source build context behavior.

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Wenqi Li <wenqil@nvidia.com>
@wyli
wyli force-pushed the feat/standalone-module-project-configuration branch from 754665a to 691e19a Compare August 20, 2026 08:38
wyli and others added 2 commits August 20, 2026 12:38
Resolve PR #226 against the compacted #225 branch while preserving legacy launcher compatibility and layered project configuration.

Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant