feat(config): handle merge

This commit is contained in:
2025-03-03 06:11:16 +01:00
parent a0c4688523
commit be8e74a4be

View File

@@ -59,6 +59,7 @@ func LoadModuleConfiguration(moduleConfigPath string) *ModuleConfiguration {
} }
func (moduleConfig *ModuleConfiguration) Merge(mergeConfig *ModuleConfiguration) { func (moduleConfig *ModuleConfiguration) Merge(mergeConfig *ModuleConfiguration) {
// Merge links
mergedLinks := make(map[string]string, len(moduleConfig.Links)+len(mergeConfig.Links)) mergedLinks := make(map[string]string, len(moduleConfig.Links)+len(mergeConfig.Links))
for key, value := range moduleConfig.Links { for key, value := range moduleConfig.Links {
mergedLinks[key] = value mergedLinks[key] = value
@@ -70,6 +71,22 @@ func (moduleConfig *ModuleConfiguration) Merge(mergeConfig *ModuleConfiguration)
moduleConfig.Links = mergedLinks moduleConfig.Links = mergedLinks
// Merge excludes
mergedExcludes := make([]string, len(moduleConfig.Exclude)+len(mergeConfig.Exclude))
excludeIndex := 0
for _, value := range moduleConfig.Exclude {
mergedExcludes[excludeIndex] = value
excludeIndex++
}
for _, value := range mergeConfig.Links {
mergedExcludes[excludeIndex] = value
excludeIndex++
}
moduleConfig.Exclude = mergedExcludes
// Simple properties
if mergeConfig.Target != "" { if mergeConfig.Target != "" {
moduleConfig.Target = mergeConfig.Target moduleConfig.Target = mergeConfig.Target
} }
@@ -79,4 +96,6 @@ func (moduleConfig *ModuleConfiguration) Merge(mergeConfig *ModuleConfiguration)
if mergeConfig.Configure != "" { if mergeConfig.Configure != "" {
moduleConfig.Configure = mergeConfig.Configure moduleConfig.Configure = mergeConfig.Configure
} }
moduleConfig.ExcludeReadme = moduleConfig.ExcludeReadme || mergeConfig.ExcludeReadme
} }