[Idea] Allow customALGoFiles.filesToInclude to override default AL-Go system file handling
#2359
Florian (frottke)
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Idea Description
Allow
customALGoFiles.filesToIncludeto override default AL-Go system file handlingCurrent behavior
When using a custom template repository, workflow-specific settings files such as:
.github/Test Next Minor.settings.json.github/Test Next Major.settings.jsonare already included by the default AL-Go file configuration through:
Because these files are handled as
type = 'settings', an existing, non-empty settings file in the target repository is not fully synchronized with the corresponding file from the template. Only the$schemaproperty is updated, while the remaining contents of the target file are preserved.For example, the custom template may contain:
{ "$schema": "...", "artifact": "////nextmajor", "cacheImageName": "", "versioningStrategy": 15, "vsixFile": "default" }while a repository using that template still contains:
{ "$schema": "...", "artifact": "////nextmajor", "cacheImageName": "", "versioningStrategy": 15 }Running
Update AL-Go System Filesdoes not addvsixFile.Trying to explicitly include the file through
customALGoFiles.filesToIncludealso does not change this behavior:The default
*.settings.jsonentry is resolved before the explicitcustomALGoFiles.filesToIncludeentries. Since both resolve to the same destination path, the later explicit entry is treated as a duplicate and discarded.As a result, it is currently not possible to use
customALGoFiles.filesToIncludeto opt selected settings files out of the defaulttype = 'settings'behavior.There is an additional consideration for custom template repositories: when the same file also exists in the original AL-Go template, the current source resolution may use the original template file as the synchronization source. Therefore, simply changing the order in which default and custom entries are processed would not necessarily make the file from the custom template authoritative.
Proposal
Allow explicit
customALGoFiles.filesToIncludeentries to override matching entries from the default AL-Go file configuration.For a matching destination path, the explicit custom entry should:
type, including treating the file as a normal synchronized file when notypeis specified; andIn the example above, the explicit entries for:
Test Next Minor.settings.jsonTest Next Major.settings.jsonwould therefore be synchronized as normal files from the custom template repository.
This would allow custom templates to fully manage selected workflow-specific settings files, including adding or removing properties such as
vsixFile, while preserving the current defaulttype = 'settings'behavior for all other*.settings.jsonfiles.Contribution (Optional)
All reactions