feat(cli,packagemanager): implemented first working windows and macos versions
in order to implement sst for windows and macos the structure of osmanager has been changed. Now osmanager has a new field pm, which contains the specific packagemanager for the os. Linux packagemanagers have been implemented as packagemanagers on their own.
This commit is contained in:
parent
8dabc7357b
commit
8281883e4d
12 changed files with 422 additions and 186 deletions
|
|
@ -2,6 +2,8 @@ package cmd
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"runtime"
|
||||
"strings"
|
||||
|
||||
pm "system_setup_tool/packagemanager"
|
||||
|
|
@ -22,10 +24,26 @@ var searchCmd = &cobra.Command{
|
|||
managerName = "homebrew"
|
||||
}
|
||||
|
||||
managers := []pm.PackageManager{
|
||||
pm.NewOSManager(""),
|
||||
&pm.HomebrewManager{},
|
||||
&pm.FlatpakManager{},
|
||||
var managers []pm.PackageManager
|
||||
switch runtime.GOOS {
|
||||
case "linux":
|
||||
managers = []pm.PackageManager{
|
||||
pm.NewOSManager(""),
|
||||
&pm.HomebrewManager{},
|
||||
&pm.FlatpakManager{},
|
||||
}
|
||||
case "windows":
|
||||
managers = []pm.PackageManager{
|
||||
pm.NewOSManager(""),
|
||||
&pm.WingetManager{},
|
||||
&pm.ChocoManager{},
|
||||
}
|
||||
case "darwin":
|
||||
managers = []pm.PackageManager{
|
||||
pm.NewOSManager(""),
|
||||
}
|
||||
default:
|
||||
log.Println("No Package Managers found")
|
||||
}
|
||||
|
||||
if managerName != "" {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue