From 9b4e21691c194d99a649e9b7c331bb600eee121e Mon Sep 17 00:00:00 2001 From: wheelchairy Date: Tue, 4 Feb 2025 21:38:28 +0300 Subject: [PATCH] mehh --- pkg/installer/installer.go | 55 +++++++++----------------------------- 1 file changed, 13 insertions(+), 42 deletions(-) diff --git a/pkg/installer/installer.go b/pkg/installer/installer.go index 02b1827..423f804 100644 --- a/pkg/installer/installer.go +++ b/pkg/installer/installer.go @@ -17,6 +17,7 @@ import ( "runtime" "strings" + "train/pkg/config" "train/pkg/manifest" "train/pkg/paths" ) @@ -56,8 +57,7 @@ func downloadFile(url string) (string, error) { func unpackPackage(filePath, packageName string) error { destDir := filepath.Join(buildInstallDir, packageName) - err := os.MkdirAll(destDir, os.ModePerm) - if err != nil { + if err := os.MkdirAll(destDir, os.ModePerm); err != nil { return err } f, err := os.Open(filePath) @@ -82,8 +82,7 @@ func unpackPackage(filePath, packageName string) error { target := filepath.Join(destDir, header.Name) switch header.Typeflag { case tar.TypeDir: - err := os.MkdirAll(target, os.FileMode(header.Mode)) - if err != nil { + if err := os.MkdirAll(target, os.FileMode(header.Mode)); err != nil { return err } case tar.TypeReg: @@ -91,8 +90,7 @@ func unpackPackage(filePath, packageName string) error { if err != nil { return err } - _, err = io.Copy(outFile, tr) - if err != nil { + if _, err := io.Copy(outFile, tr); err != nil { outFile.Close() return err } @@ -117,8 +115,7 @@ func executeBuildCommands(commands []string, packageName string) error { func saveInstalledPackage(name string, m *manifest.Manifest) error { packagePath := filepath.Join(buildInstallDir, name) - err := os.MkdirAll(packagePath, os.ModePerm) - if err != nil { + if err := os.MkdirAll(packagePath, os.ModePerm); err != nil { return err } jsonData, err := json.MarshalIndent(m, "", " ") @@ -151,8 +148,7 @@ func InstallPackage(name string) error { if computedChecksum != binaryInfo.Checksum { return fmt.Errorf("checksum mismatch: expected %s, got %s", binaryInfo.Checksum, computedChecksum) } - err = os.MkdirAll(binInstallDir, os.ModePerm) - if err != nil { + if err := os.MkdirAll(binInstallDir, os.ModePerm); err != nil { return err } destPath := filepath.Join(binInstallDir, m.Name) @@ -160,8 +156,7 @@ func InstallPackage(name string) error { if err != nil { return err } - err = ioutil.WriteFile(destPath, data, 0755) - if err != nil { + if err := ioutil.WriteFile(destPath, data, 0755); err != nil { return err } fmt.Printf("Binary package %s installed in %s\n", m.Name, destPath) @@ -179,38 +174,17 @@ func InstallPackage(name string) error { if computedChecksum != m.Checksum { return fmt.Errorf("checksum mismatch: expected %s, got %s", m.Checksum, computedChecksum) } - err = unpackPackage(packageFile, name) - if err != nil { + if err := unpackPackage(packageFile, name); err != nil { return fmt.Errorf("failed to unpack package: %w", err) } if len(m.Build) > 0 { - err = executeBuildCommands(m.Build, name) - if err != nil { + if err := executeBuildCommands(m.Build, name); err != nil { return fmt.Errorf("build command error: %w", err) } } - err = saveInstalledPackage(name, m) - if err != nil { + if err := saveInstalledPackage(name, m); err != nil { return fmt.Errorf("failed to save manifest: %w", err) } - if name == "choochoo-build" { - destDir := filepath.Join(paths.BaseDir(), "bin") - err = os.MkdirAll(destDir, os.ModePerm) - if err != nil { - return err - } - srcBinary := filepath.Join(buildInstallDir, name, "choochoo") - targetBinary := filepath.Join(destDir, "choochoo") - data, err := ioutil.ReadFile(srcBinary) - if err != nil { - return fmt.Errorf("failed to read built binary: %w", err) - } - err = ioutil.WriteFile(targetBinary, data, 0755) - if err != nil { - return fmt.Errorf("failed to write binary to %s: %w", targetBinary, err) - } - fmt.Printf("Binary choochoo installed in %s\n", targetBinary) - } fmt.Printf("Build package %s installed successfully\n", m.Name) return nil } @@ -222,20 +196,17 @@ func RemovePackage(name string) error { if _, err := os.Stat(packagePath); os.IsNotExist(err) { return errors.New("package not found") } - err := os.RemoveAll(packagePath) - if err != nil { + if err := os.RemoveAll(packagePath); err != nil { return fmt.Errorf("failed to remove package: %w", err) } return nil } func UpdatePackage(name string) error { - err := RemovePackage(name) - if err != nil { + if err := RemovePackage(name); err != nil { return fmt.Errorf("failed to remove package for update: %w", err) } - err = InstallPackage(name) - if err != nil { + if err := InstallPackage(name); err != nil { return fmt.Errorf("failed to install package: %w", err) } return nil