Repository navigation
Add separate package resource directory to dmf-get - #337
Merged
Merged
Conversation
JohnAmadis
approved these changes
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dmf-getcurrently places unpacked package directories and dependency metadata alongside module binaries. Add--package-dir <path>andDMOD_PACKAGE_DIRto let callers keep those resources separately:With a separate package root,
.dmf/.dmfcfiles remain directly in the module output directory. Non-binary.dmrresources resolve${destination}against the package root; packages without.dmrretain their structure under<package-dir>/<module>. Dependency metadata and retained.dmrfiles 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,.dmdinput, 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:
dmf-get: passed.tests/integration/test_dmf_get.shsuite, including license and package-directory tests: passed.git diff --check: passed.