software steht so weit.
jetzt build + docker build und testen
This commit is contained in:
1 parent
42f0c0accb
commit
ca6cdcca63
90 files changed
+10298
-480
No files matched your search
@@ -0,0 +1,52 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"sultan/pkg/lander"
|
||||
)
|
||||
|
||||
type dumpOptions struct {
|
||||
dir string
|
||||
force bool
|
||||
}
|
||||
|
||||
func parseDumpFlags(args []string, output io.Writer) (dumpOptions, error) {
|
||||
fs := flag.NewFlagSet("sultan dump-landing", flag.ContinueOnError)
|
||||
fs.SetOutput(output)
|
||||
var o dumpOptions
|
||||
fs.StringVar(&o.dir, "out", "./suldata/landing", "Zielverzeichnis (der Server liest <data-dir>/landing)")
|
||||
fs.BoolVar(&o.force, "force", false, "vorhandene Dateien überschreiben")
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return o, err
|
||||
}
|
||||
if fs.NArg() > 0 {
|
||||
return o, fmt.Errorf("unerwartetes Argument %q", fs.Arg(0))
|
||||
}
|
||||
return o, nil
|
||||
}
|
||||
|
||||
// runDump schreibt die eingebauten Lander-Seiten als Vorlagen zum Anpassen.
|
||||
func runDump(args []string, stdout, stderr io.Writer) int {
|
||||
o, err := parseDumpFlags(args, stderr)
|
||||
if errors.Is(err, flag.ErrHelp) {
|
||||
return 0
|
||||
}
|
||||
if err != nil {
|
||||
fmt.Fprintln(stderr, err)
|
||||
return 2
|
||||
}
|
||||
files, err := lander.Dump(o.dir, o.force)
|
||||
if err != nil {
|
||||
fmt.Fprintln(stderr, "Fehler:", err)
|
||||
return 1
|
||||
}
|
||||
for _, f := range files {
|
||||
fmt.Fprintln(stdout, f)
|
||||
}
|
||||
fmt.Fprintln(stderr, "Vorlagen geschrieben – Änderungen wirken sofort, ohne Neustart (siehe README.txt).")
|
||||
return 0
|
||||
}
|
||||
Reference in new issue
Block a user