2 Commits

Author SHA1 Message Date
ddc1d83d58 Fix file associations
It was fucked because we were removing the static path and then cramming
that into assications
2025-04-22 10:53:25 +02:00
4b0a85411d From cook FILE - F I L E - FILEEEEE
This is the 4th time I make the SAME fix
2025-04-22 10:46:03 +02:00
3 changed files with 17 additions and 7 deletions

13
.vscode/launch.json vendored
View File

@@ -18,6 +18,19 @@
"*.yml", "*.yml",
] ]
}, },
{
"name": "Launch Package (Payday 2)",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"cwd": "C:/Users/Administrator/Seafile/Games-Payday2",
"args": [
"-loglevel",
"trace",
"*.yml",
]
},
{ {
"name": "Launch Package (Barotrauma cookfile)", "name": "Launch Package (Barotrauma cookfile)",
"type": "go", "type": "go",

View File

@@ -141,9 +141,6 @@ func main() {
logger.Debug("Created logger for command %q with log level %s", cmdName, cmdLogLevel.String()) logger.Debug("Created logger for command %q with log level %s", cmdName, cmdLogLevel.String())
} }
// This aggregation is great but what if one modification replaces the whole entire file?
// Shit......
// TODO: Add "Isolate" field to modifications which makes them run alone
for file, association := range associations { for file, association := range associations {
workers <- struct{}{} workers <- struct{}{}
wg.Add(1) wg.Add(1)

View File

@@ -86,6 +86,7 @@ func AssociateFilesWithCommands(files []string, commands []ModifyCommand) (map[s
fileCommands := make(map[string]FileCommandAssociation) fileCommands := make(map[string]FileCommandAssociation)
for _, file := range files { for _, file := range files {
file = strings.ReplaceAll(file, "\\", "/")
fileCommands[file] = FileCommandAssociation{ fileCommands[file] = FileCommandAssociation{
File: file, File: file,
IsolateCommands: []ModifyCommand{}, IsolateCommands: []ModifyCommand{},
@@ -94,9 +95,8 @@ func AssociateFilesWithCommands(files []string, commands []ModifyCommand) (map[s
for _, command := range commands { for _, command := range commands {
for _, glob := range command.Files { for _, glob := range command.Files {
static, pattern := SplitPattern(glob) static, pattern := SplitPattern(glob)
file = strings.ReplaceAll(file, "\\", "/") patternFile := strings.Replace(file, static+`/`, "", 1)
file = strings.Replace(file, static+`/`, "", 1) matches, err := Matches(patternFile, pattern)
matches, err := Matches(file, pattern)
if err != nil { if err != nil {
logger.Trace("Failed to match glob %s with file %s: %v", glob, file, err) logger.Trace("Failed to match glob %s with file %s: %v", glob, file, err)
continue continue
@@ -190,7 +190,7 @@ func LoadCommands(args []string) ([]ModifyCommand, error) {
logger.Info("Now total commands: %d", len(commands)) logger.Info("Now total commands: %d", len(commands))
} }
logger.Info("Loaded %d commands from all cook f", len(commands)) logger.Info("Loaded %d commands from all cook file", len(commands))
return commands, nil return commands, nil
} }