Inital commit
This commit is contained in:
47
server/new.go
Normal file
47
server/new.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"log"
|
||||
"mc-tool/docker"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
func New(cmd *cobra.Command, args []string) {
|
||||
dir := args[0]
|
||||
if err := os.Mkdir(dir, 0755); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
if err := os.Chdir(dir); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
compose := docker.NewCompose(dir)
|
||||
|
||||
if compose.Type != docker.VANILLA.String() {
|
||||
if err := os.MkdirAll("data/mods", 0755); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if err := os.MkdirAll("data/config", 0755); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := os.MkdirAll("data/world", 0755); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
if err := writeFile("docker-compose.yml", compose.String()); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func writeFile(path string, data string) error {
|
||||
if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
return os.WriteFile(path, []byte(data), 0644)
|
||||
}
|
||||
Reference in New Issue
Block a user