Add dependency list builder
This commit is contained in:
parent
d6e0e19121
commit
4216fa4256
@ -9,12 +9,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// InstallMod is a CLI frontend for tools.DownloadMod.
|
// InstallMod is a CLI frontend for tools.DownloadMod.
|
||||||
func InstallMod(pkg string) {
|
func InstallMod(pkg string) []string {
|
||||||
green := color.New(color.FgGreen).SprintFunc()
|
green := color.New(color.FgGreen).SprintFunc()
|
||||||
magenta := color.New(color.FgMagenta).SprintFunc()
|
magenta := color.New(color.FgMagenta).SprintFunc()
|
||||||
red := color.New(color.FgRed).SprintFunc()
|
red := color.New(color.FgRed).SprintFunc()
|
||||||
blue := color.New(color.FgBlue).SprintFunc()
|
blue := color.New(color.FgBlue).SprintFunc()
|
||||||
cyan := color.New(color.FgCyan).SprintFunc()
|
cyan := color.New(color.FgCyan).SprintFunc()
|
||||||
|
deps := []string{}
|
||||||
|
|
||||||
buffer := cyan(fmt.Sprint(" > ", tools.ExposeModString(pkg), "... "))
|
buffer := cyan(fmt.Sprint(" > ", tools.ExposeModString(pkg), "... "))
|
||||||
stat, ov := tools.DownloadMod(tools.ExposeModString(pkg))
|
stat, ov := tools.DownloadMod(tools.ExposeModString(pkg))
|
||||||
@ -34,13 +35,14 @@ func InstallMod(pkg string) {
|
|||||||
for _, dep := range mod.Versions[0].Dependencies {
|
for _, dep := range mod.Versions[0].Dependencies {
|
||||||
depString := tools.ExposeModString(dep)
|
depString := tools.ExposeModString(dep)
|
||||||
if depString != "tristanmcpherson-R2API" && depString != "bbepis-BepInExPack" {
|
if depString != "tristanmcpherson-R2API" && depString != "bbepis-BepInExPack" {
|
||||||
InstallMod(depString)
|
deps = append(deps, depString)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(buffer)
|
fmt.Println(buffer)
|
||||||
|
return deps
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveMod is a CLI frontend for tools.RemoveMod
|
// RemoveMod is a CLI frontend for tools.RemoveMod
|
||||||
|
10
main.go
10
main.go
@ -71,8 +71,16 @@ func main() {
|
|||||||
api.CheckAPICache()
|
api.CheckAPICache()
|
||||||
api.InitAPI()
|
api.InitAPI()
|
||||||
fmt.Println("> Downloading mods...")
|
fmt.Println("> Downloading mods...")
|
||||||
|
dependencies := []string{}
|
||||||
for _, m := range os.Args[2:] {
|
for _, m := range os.Args[2:] {
|
||||||
cli.InstallMod(m)
|
newdeps := cli.InstallMod(m)
|
||||||
|
for _, d := range newdeps {
|
||||||
|
dependencies = append(dependencies, d)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Println("> Downloading dependencies...")
|
||||||
|
for _, d := range dependencies {
|
||||||
|
cli.InstallMod(d)
|
||||||
}
|
}
|
||||||
color.Green("> Complete!")
|
color.Green("> Complete!")
|
||||||
case "remove", "rm", "r":
|
case "remove", "rm", "r":
|
||||||
|
Loading…
Reference in New Issue
Block a user