Compare commits
4 Commits
1f8b0acd6a
...
a7cf5b0ec8
Author | SHA1 | Date |
---|---|---|
Alexander Andreev | a7cf5b0ec8 | |
Alexander Andreev | 87a787da84 | |
Alexander Andreev | eb4d1525a2 | |
Alexander Andreev | 4ed0931ece |
6
Makefile
6
Makefile
|
@ -23,10 +23,16 @@ else
|
|||
endif
|
||||
|
||||
install:
|
||||
ifeq ($(shell go env GOOS),windows)
|
||||
else
|
||||
install -Dm 0755 bin/${EXEC_NAME} ${DESTDIR}${PREFIX}/bin/${EXEC_NAME}
|
||||
endif
|
||||
|
||||
uninstall:
|
||||
ifeq ($(shell go env GOOS),windows)
|
||||
else
|
||||
rm ${DESTDIR}${PREFIX}/bin/${EXEC_NAME}
|
||||
endif
|
||||
|
||||
clean:
|
||||
rm -f bin/*
|
|
@ -72,6 +72,7 @@ func main() {
|
|||
|
||||
func version() {
|
||||
fmt.Fprintf(os.Stderr, "mccl ver. %s\nCopyright (c) 2023 Alexander \"Arav\" Andreev <me@arav.su>\n", programVersion)
|
||||
fmt.Fprintln(os.Stderr, "URL: https://git.arav.su/Arav/mccl")
|
||||
fmt.Fprintln(os.Stderr, "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.")
|
||||
}
|
||||
|
||||
|
@ -133,6 +134,39 @@ func parseArguments(args []string) (parsed arguments, err error) {
|
|||
parsed.Uuid = "00000000-0000-0000-0000-000000000000"
|
||||
|
||||
for i := 0; i < len(args); i++ {
|
||||
if args[i][0] != '-' {
|
||||
if parsed.Command != "" {
|
||||
return parsed, fmt.Errorf("there is already a command %s, but a second one (%s) was provided",
|
||||
parsed.Command, args[i])
|
||||
}
|
||||
parsed.Command = args[i]
|
||||
switch parsed.Command {
|
||||
case "i":
|
||||
fallthrough
|
||||
case "install":
|
||||
fallthrough
|
||||
case "r":
|
||||
fallthrough
|
||||
case "run":
|
||||
if i+3 > len(args) || args[i+1][0] == '-' {
|
||||
return parsed, fmt.Errorf("a command %s is missing its version and directory arguments",
|
||||
parsed.Command)
|
||||
}
|
||||
parsed.GameVersion = args[i+1]
|
||||
parsed.Directory = args[i+2]
|
||||
i += 2
|
||||
case "l":
|
||||
fallthrough
|
||||
case "list":
|
||||
if i+1 >= len(args) || args[i+1][0] == '-' {
|
||||
return parsed, fmt.Errorf("a command list is missing its directory argument")
|
||||
}
|
||||
parsed.Directory = args[i+1]
|
||||
i++
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
switch args[i] {
|
||||
case "-v":
|
||||
fallthrough
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
//go:build unix
|
||||
// +build unix
|
||||
|
||||
package util
|
||||
|
||||
func LocateJavaHome(component string, majorVersion int) (string, error) {
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
package util
|
||||
|
||||
import (
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
//go:build unix
|
||||
// +build unix
|
||||
|
||||
package util
|
||||
|
||||
import (
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
//go:build windows
|
||||
// +build windows
|
||||
|
||||
package util
|
||||
|
||||
import (
|
||||
|
|
Loading…
Reference in New Issue