in main/utils.go [73:117]
func getOldAgentPath(lg ExtensionLogger) (string, error) {
// get the current path of the extension
currentPath, err := os.Getwd()
lg.event("Current path: " + currentPath)
if err != nil {
lg.eventError("failed to get current working directory path", err)
return "", err
}
// get the directory of the current extension and read the files in it
dir := filepath.Dir(currentPath)
lg.event("Current Directory: " + dir)
files, err := ioutil.ReadDir(dir)
if err != nil {
lg.eventError("could not read files in directory", err)
return "", err
}
// get the two extensions in the directory
var extensionDirs []string
var matches bool
for _, f := range files {
matches, err = regexp.MatchString(ExtensionDirRegex, f.Name())
if matches {
extensionDirs = append(extensionDirs, f.Name())
}
}
lg.event("All the extension directories found")
for _, d := range extensionDirs {
lg.event("dir: " + d)
}
// get the versions and compare them
extension, err := parseAndCompareExtensionVersions(lg, extensionDirs)
if err != nil {
lg.eventError("failed to compare extension versions", err)
}
// get old agent path
oldAgent := filepath.Join(dir, extension, UnzipAgentDir, AgentName)
lg.event("Old agent path: " + oldAgent)
return oldAgent, nil
}