Skip to content

Add separate package resource directory to dmf-get - #337

Merged
JohnAmadis merged 1 commit into
developfrom
feat/dmf-get-package-dir
Oct 19, 2026
Merged

JohnAmadis merged 1 commit into
developfrom
feat/dmf-get-package-dir

Conversation

@JaxCalder

Copy link
Copy Markdown
Contributor

dmf-get currently places unpacked package directories and dependency metadata alongside module binaries. Add --package-dir <path> and DMOD_PACKAGE_DIR to let callers keep those resources separately:

dmf-get -o ./dmf --package-dir ./packages --license-dir ./licenses -y mymodule

With a separate package root, .dmf/.dmfc files remain directly in the module output directory. Non-binary .dmr resources resolve ${destination} against the package root; packages without .dmr retain their structure under <package-dir>/<module>. Dependency metadata and retained .dmr files live in the package root, and configuration copying uses that location, including custom resource mappings. ZIP staging and DMP downloads also use the package root.

The CLI option overrides the environment variable. With neither set, the existing layout is preserved. Dependencies share the setting; mini-mode filtering and explicit view/license destinations remain effective. Existing installations are not moved or deleted, and resource-only commands keep their current output behavior. Directory copies in the separate root remain stable on repeated installation, and destination failures are reported.

Updates CLI help and documentation. Adds local-package integration coverage for packages with/without .dmr, recursive dependencies, .dmd input, custom/tagged configuration copying, binary-only output directories, type selection, repeated installs, mini mode, view/license overrides, raw binaries/DMP files, environment precedence, relative/absolute paths, and invalid or blocked destinations. The existing CI integration suite invokes the new tests.

Validation:

  • Native x86_64 CMake build of dmf-get: passed.
  • Full tests/integration/test_dmf_get.sh suite, including license and package-directory tests: passed.
  • Shell syntax checks and git diff --check: passed.

@JohnAmadis
JohnAmadis merged commit dacf252 into develop Oct 19, 2026
6 checks passed
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.

2 participants