From fee8aaeed99e6ebedf5d39e47e0120af7315760d Mon Sep 17 00:00:00 2001 From: "T. von Dein" Date: Thu, 13 Nov 2025 21:30:44 +0100 Subject: [PATCH] move to codeberg (#10) --- .goreleaser.yaml | 65 +++++++++++ Makefile | 104 ++++++++++++++++-- Makefile.dist | 18 +++ README.md | 26 ++--- TODO.md | 4 +- .../assets/fonts/NotoSans-Regular.ttf | Bin {src => cmd}/assets/shaders/row.kg | 0 .../assets/sprites/button-9slice1.png | Bin .../assets/sprites/button-9slice2.png | Bin .../assets/sprites/button-9slice3.png | Bin .../assets/sprites/checkbox-9slice1.png | Bin .../assets/sprites/checkbox-9slice2.png | Bin {src => cmd}/assets/src/button-9slice.ase | Bin {src => cmd}/assets/src/checkbox-9slice.ase | Bin {src => cmd}/camera.go | 2 +- {src => cmd}/config.go | 4 +- {src => cmd}/game.go | 2 +- {src => cmd}/generics.go | 2 +- {src => cmd}/grid.go | 4 +- {src => cmd}/keybindings.go | 2 +- {src => cmd}/loader-fonts.go | 2 +- {src => cmd}/loader-shaders.go | 2 +- {src => cmd}/loader-sprites.go | 2 +- {src => cmd}/menu.go | 2 +- {src => cmd}/options.go | 2 +- {src => cmd}/play.go | 4 +- {src => cmd}/rule.go | 2 +- {src => cmd}/scene.go | 2 +- {src => cmd}/system.go | 2 +- {src => cmd}/theme.go | 2 +- {src => cmd}/widgets.go | 2 +- go.mod | 2 +- src/main.go => main.go | 11 +- src/Makefile | 97 ---------------- 34 files changed, 220 insertions(+), 147 deletions(-) create mode 100644 .goreleaser.yaml create mode 100644 Makefile.dist rename {src => cmd}/assets/fonts/NotoSans-Regular.ttf (100%) rename {src => cmd}/assets/shaders/row.kg (100%) rename {src => cmd}/assets/sprites/button-9slice1.png (100%) rename {src => cmd}/assets/sprites/button-9slice2.png (100%) rename {src => cmd}/assets/sprites/button-9slice3.png (100%) rename {src => cmd}/assets/sprites/checkbox-9slice1.png (100%) rename {src => cmd}/assets/sprites/checkbox-9slice2.png (100%) rename {src => cmd}/assets/src/button-9slice.ase (100%) rename {src => cmd}/assets/src/checkbox-9slice.ase (100%) rename {src => cmd}/camera.go (99%) rename {src => cmd}/config.go (99%) rename {src => cmd}/game.go (99%) rename {src => cmd}/generics.go (95%) rename {src => cmd}/grid.go (99%) rename {src => cmd}/keybindings.go (99%) rename {src => cmd}/loader-fonts.go (99%) rename {src => cmd}/loader-shaders.go (98%) rename {src => cmd}/loader-sprites.go (99%) rename {src => cmd}/menu.go (99%) rename {src => cmd}/options.go (99%) rename {src => cmd}/play.go (99%) rename {src => cmd}/rule.go (98%) rename {src => cmd}/scene.go (98%) rename {src => cmd}/system.go (93%) rename {src => cmd}/theme.go (99%) rename {src => cmd}/widgets.go (99%) rename src/main.go => main.go (76%) delete mode 100644 src/Makefile diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..b403d3d --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,65 @@ +# vim: set ts=2 sw=2 tw=0 fo=cnqoj + +version: 2 + +before: + hooks: + - go mod tidy + +gitea_urls: + api: https://codeberg.org/api/v1 + download: https://codeberg.org + +builds: + - env: + - CGO_ENABLED=0 + goos: + - linux + - freebsd + +archives: + - formats: [tar.gz] + # this name template makes the OS and Arch compatible with the results of `uname`. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }}_{{ .Tag }} + # use zip for windows archives + format_overrides: + - goos: windows + formats: [zip] + - goos: linux + formats: [tar.gz,binary] + files: + - src: "*.md" + strip_parent: true + - src: Makefile.dist + dst: Makefile + wrap_in_directory: true + +changelog: + sort: asc + filters: + exclude: + - "^docs:" + - "^test:" + groups: + - title: Improved + regexp: '^.*?(feat|add|new)(\([[:word:]]+\))??!?:.+$' + order: 0 + - title: Fixed + regexp: '^.*?(bug|fix)(\([[:word:]]+\))??!?:.+$' + order: 1 + - title: Changed + order: 999 + +release: + header: "# Release Notes" + footer: >- + + --- + + Full Changelog: [{{ .PreviousTag }}...{{ .Tag }}](https://codeberg.org/scip/golsky/compare/{{ .PreviousTag }}...{{ .Tag }}) diff --git a/Makefile b/Makefile index 02f6ec1..3ef7807 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,101 @@ -.PHONY all: -all: build +# Copyright © 2024 Thomas von Dein -.PHONY: build -build: - make -C src - mv src/golsky . +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# +# no need to modify anything below +tool = golsky +VERSION = $(shell grep VERSION main.go | head -1 | cut -d '"' -f2) +archs = darwin freebsd linux windows +PREFIX = /usr/local +UID = root +GID = 0 +HAVE_POD := $(shell pod2text -h 2>/dev/null) +#TAGS = -tags=ebitenginedebug + +all: buildlocal + + +buildlocal: + go build $(TAGS) -o $(tool) + +install: buildlocal + install -d -o $(UID) -g $(GID) $(PREFIX)/bin + install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1 + install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ + install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/ -.PHONY: clean clean: - make -C src clean - rm -f dump* rect* + rm -rf $(tool) coverage.out testdata t/out + +test: clean + mkdir -p t/out + go test ./... $(ARGS) + +testlint: test lint + +lint: + golangci-lint run + +lint-full: + golangci-lint run --enable-all --exclude-use-default --disable exhaustivestruct,exhaustruct,depguard,interfacer,deadcode,golint,structcheck,scopelint,varcheck,ifshort,maligned,nosnakecase,godot,funlen,gofumpt,cyclop,noctx,gochecknoglobals,paralleltest + +testfuzzy: clean + go test -fuzz ./... $(ARGS) + +singletest: + @echo "Call like this: make singletest TEST=TestPrepareColumns ARGS=-v" + go test -run $(TEST) $(ARGS) + +cover-report: + go test ./... -cover -coverprofile=coverage.out + go tool cover -html=coverage.out + +goupdate: + go get -t -u=patch ./... + +buildall: + ./mkrel.sh $(tool) $(VERSION) + +release: buildall + gh release create $(VERSION) --generate-notes releases/* + +show-versions: buildlocal + @echo "### golsky version:" + @./golsky -V + + @echo + @echo "### go module versions:" + @go list -m all + + @echo + @echo "### go version used for building:" + @grep -m 1 go go.mod + +# lint: +# golangci-lint run -p bugs -p unused + +buildwasm: + env GOOS=js GOARCH=wasm go build -o $(tool).wasm $(LDFLAGS) . + +zipwasm: + zip -r openquell-$(SHORTVERSION).zip index.html $(tool).wasm wasm_exec.js + +wasm: buildwasm zipwasm + @ls -l $(tool)-$(SHORTVERSION).zip + .PHONY: profile profile: build diff --git a/Makefile.dist b/Makefile.dist new file mode 100644 index 0000000..55d2f38 --- /dev/null +++ b/Makefile.dist @@ -0,0 +1,18 @@ +# -*-make-*- + +.PHONY: install all + +tool = rpn +PREFIX = /usr/local +UID = root +GID = 0 + +all: + @echo "Type 'sudo make install' to install the tool." + @echo "To change prefix, type 'sudo make install PREFIX=/opt'" + +install: + install -d -o $(UID) -g $(GID) $(PREFIX)/bin + install -d -o $(UID) -g $(GID) $(PREFIX)/share/doc + install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ + install -o $(UID) -g $(GID) -m 444 *.md $(PREFIX)/share/doc/ diff --git a/README.md b/README.md index 6d2274c..30b51b2 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # golsky - Conway's game of life written in GO -![Golsky Logo](https://github.com/TLINDEN/golsky/blob/main/.github/assets/golskylogo.png) +![Golsky Logo](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/golskylogo.png) -[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/tlinden/golsky/blob/master/LICENSE) -[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/golsky)](https://goreportcard.com/report/github.com/tlinden/golsky) +[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://codeberg.org/scip/golsky/blob/master/LICENSE) +[![Go Report Card](https://goreportcard.com/badge/codeberg.org/scip/golsky)](https://goreportcard.com/report/codeberg.org/scip/golsky) I wanted to play around a little bit with [**Conways Game of Life**](https://conwaylife.com/) in golang and here's the result. It's a simple game using @@ -14,15 +14,15 @@ John Conway himself: https://youtu.be/R9Plq-D1gEk?si=yYxs77e9yXxeSNbL Based on: https://youtu.be/FWSR_7kZuYg?si=ix1dmo76D8AmF25F # Screenshots -[![golsky-mainmenu.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-mainmenu.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-mainmenu.png) -[![golsky-options.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-options.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-options.png) -[![golsky-bindings.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-bindings.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-bindings.png) -[![golsky-evolution-trace.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-evolution-trace.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-evolution-trace.png) -[![golsky-zoom.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-zoom.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-zoom.png) -[![golsky-debug.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-debug.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-debug.png) -[![golsky-capture.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-capture.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-capture.png) -[![golsky-captured.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-captured.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-captured.png) -[![golsky-dark-theme.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-dark-theme.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-dark-theme.png) +[![golsky-mainmenu.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-mainmenu.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-mainmenu.png) +[![golsky-options.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-options.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-options.png) +[![golsky-bindings.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-bindings.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-bindings.png) +[![golsky-evolution-trace.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-evolution-trace.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-evolution-trace.png) +[![golsky-zoom.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-zoom.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-zoom.png) +[![golsky-debug.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-debug.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-debug.png) +[![golsky-capture.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-capture.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-capture.png) +[![golsky-captured.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-captured.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-captured.png) +[![golsky-dark-theme.png](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/256_golsky-dark-theme.png)](https://codeberg.org/scip/golsky/raw/branch/main/.github/assets/screenshots/golsky-dark-theme.png) [Youtube video game preview](https://www.youtube.com/watch?v=xEto6Oew16I) @@ -102,7 +102,7 @@ While it runs, there are a couple of commands you can use: # Report bugs -[Please open an issue](https://github.com/TLINDEN/golsky/issues). Thanks! +[Please open an issue](https://codeberg.org/scip/golsky/issues). Thanks! # License diff --git a/TODO.md b/TODO.md index aca5140..f9f3e03 100644 --- a/TODO.md +++ b/TODO.md @@ -11,8 +11,8 @@ - try arche ecs variant with either a component of the cells neighbors or using relations. - https://mattnakama.com/blog/go-branchless-coding/ - add performance measurements, see: - DrawTriangles: https://github.com/TLINDEN/testgol - WritePixels: https://github.com/TLINDEN/testgol/tree/wrpixels + DrawTriangles: https://codeberg.org/scip/testgol + WritePixels: https://codeberg.org/scip/testgol/tree/wrpixels https://www.tasnimzotder.com/blog/optimizing-game-of-life-algorithm - pre-draw the grid separately to a cache grid image, then during rendering, first draw the dead background, then the life cells, and diff --git a/src/assets/fonts/NotoSans-Regular.ttf b/cmd/assets/fonts/NotoSans-Regular.ttf similarity index 100% rename from src/assets/fonts/NotoSans-Regular.ttf rename to cmd/assets/fonts/NotoSans-Regular.ttf diff --git a/src/assets/shaders/row.kg b/cmd/assets/shaders/row.kg similarity index 100% rename from src/assets/shaders/row.kg rename to cmd/assets/shaders/row.kg diff --git a/src/assets/sprites/button-9slice1.png b/cmd/assets/sprites/button-9slice1.png similarity index 100% rename from src/assets/sprites/button-9slice1.png rename to cmd/assets/sprites/button-9slice1.png diff --git a/src/assets/sprites/button-9slice2.png b/cmd/assets/sprites/button-9slice2.png similarity index 100% rename from src/assets/sprites/button-9slice2.png rename to cmd/assets/sprites/button-9slice2.png diff --git a/src/assets/sprites/button-9slice3.png b/cmd/assets/sprites/button-9slice3.png similarity index 100% rename from src/assets/sprites/button-9slice3.png rename to cmd/assets/sprites/button-9slice3.png diff --git a/src/assets/sprites/checkbox-9slice1.png b/cmd/assets/sprites/checkbox-9slice1.png similarity index 100% rename from src/assets/sprites/checkbox-9slice1.png rename to cmd/assets/sprites/checkbox-9slice1.png diff --git a/src/assets/sprites/checkbox-9slice2.png b/cmd/assets/sprites/checkbox-9slice2.png similarity index 100% rename from src/assets/sprites/checkbox-9slice2.png rename to cmd/assets/sprites/checkbox-9slice2.png diff --git a/src/assets/src/button-9slice.ase b/cmd/assets/src/button-9slice.ase similarity index 100% rename from src/assets/src/button-9slice.ase rename to cmd/assets/src/button-9slice.ase diff --git a/src/assets/src/checkbox-9slice.ase b/cmd/assets/src/checkbox-9slice.ase similarity index 100% rename from src/assets/src/checkbox-9slice.ase rename to cmd/assets/src/checkbox-9slice.ase diff --git a/src/camera.go b/cmd/camera.go similarity index 99% rename from src/camera.go rename to cmd/camera.go index f5a2885..e3d043c 100644 --- a/src/camera.go +++ b/cmd/camera.go @@ -1,6 +1,6 @@ // this comes from the camera example but I enhanced it a little bit -package main +package cmd import ( "fmt" diff --git a/src/config.go b/cmd/config.go similarity index 99% rename from src/config.go rename to cmd/config.go index 960b11f..e0b2c5e 100644 --- a/src/config.go +++ b/cmd/config.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "errors" @@ -10,7 +10,7 @@ import ( "strings" "github.com/spf13/pflag" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" ) // all the settings comming from commandline, but maybe tweaked later from the UI diff --git a/src/game.go b/cmd/game.go similarity index 99% rename from src/game.go rename to cmd/game.go index a21240f..40a090d 100644 --- a/src/game.go +++ b/cmd/game.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "github.com/hajimehoshi/ebiten/v2" diff --git a/src/generics.go b/cmd/generics.go similarity index 95% rename from src/generics.go rename to cmd/generics.go index c71e1da..1547c3f 100644 --- a/src/generics.go +++ b/cmd/generics.go @@ -1,4 +1,4 @@ -package main +package cmd // find an item in a list, generic variant func Contains[E comparable](s []E, v E) bool { diff --git a/src/grid.go b/cmd/grid.go similarity index 99% rename from src/grid.go rename to cmd/grid.go index b1e6098..e782c5b 100644 --- a/src/grid.go +++ b/cmd/grid.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "bufio" @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" ) // equals grid height, is being used to access grid elements and must be global diff --git a/src/keybindings.go b/cmd/keybindings.go similarity index 99% rename from src/keybindings.go rename to cmd/keybindings.go index db68f60..23beda7 100644 --- a/src/keybindings.go +++ b/cmd/keybindings.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "image/color" diff --git a/src/loader-fonts.go b/cmd/loader-fonts.go similarity index 99% rename from src/loader-fonts.go rename to cmd/loader-fonts.go index e144762..79329ed 100644 --- a/src/loader-fonts.go +++ b/cmd/loader-fonts.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "log" diff --git a/src/loader-shaders.go b/cmd/loader-shaders.go similarity index 98% rename from src/loader-shaders.go rename to cmd/loader-shaders.go index e3d460f..147388e 100644 --- a/src/loader-shaders.go +++ b/cmd/loader-shaders.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "bytes" diff --git a/src/loader-sprites.go b/cmd/loader-sprites.go similarity index 99% rename from src/loader-sprites.go rename to cmd/loader-sprites.go index 4ef3e50..5611b3c 100644 --- a/src/loader-sprites.go +++ b/cmd/loader-sprites.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "embed" diff --git a/src/menu.go b/cmd/menu.go similarity index 99% rename from src/menu.go rename to cmd/menu.go index 909bdf8..f4715ea 100644 --- a/src/menu.go +++ b/cmd/menu.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "image/color" diff --git a/src/options.go b/cmd/options.go similarity index 99% rename from src/options.go rename to cmd/options.go index 5d44879..a935763 100644 --- a/src/options.go +++ b/cmd/options.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "image/color" diff --git a/src/play.go b/cmd/play.go similarity index 99% rename from src/play.go rename to cmd/play.go index d5d8d8e..6158924 100644 --- a/src/play.go +++ b/cmd/play.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "fmt" @@ -10,7 +10,7 @@ import ( "github.com/hajimehoshi/ebiten/v2" "github.com/hajimehoshi/ebiten/v2/inpututil" "github.com/hajimehoshi/ebiten/v2/vector" - "github.com/tlinden/golsky/rle" + "codeberg.org/scip/golsky/rle" "golang.org/x/image/math/f64" ) diff --git a/src/rule.go b/cmd/rule.go similarity index 98% rename from src/rule.go rename to cmd/rule.go index 3f2ad05..d4b437c 100644 --- a/src/rule.go +++ b/cmd/rule.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "log" diff --git a/src/scene.go b/cmd/scene.go similarity index 98% rename from src/scene.go rename to cmd/scene.go index ac1818c..d4a86d1 100644 --- a/src/scene.go +++ b/cmd/scene.go @@ -1,4 +1,4 @@ -package main +package cmd import "github.com/hajimehoshi/ebiten/v2" diff --git a/src/system.go b/cmd/system.go similarity index 93% rename from src/system.go rename to cmd/system.go index d819ad7..c65b72b 100644 --- a/src/system.go +++ b/cmd/system.go @@ -1,4 +1,4 @@ -package main +package cmd import "runtime" diff --git a/src/theme.go b/cmd/theme.go similarity index 99% rename from src/theme.go rename to cmd/theme.go index 3c2e894..de3eaca 100644 --- a/src/theme.go +++ b/cmd/theme.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "fmt" diff --git a/src/widgets.go b/cmd/widgets.go similarity index 99% rename from src/widgets.go rename to cmd/widgets.go index e27a4c8..28edce0 100644 --- a/src/widgets.go +++ b/cmd/widgets.go @@ -1,4 +1,4 @@ -package main +package cmd import ( "image/color" diff --git a/go.mod b/go.mod index 3e54e3a..53d4289 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/tlinden/golsky +module codeberg.org/scip/golsky go 1.22 diff --git a/src/main.go b/main.go similarity index 76% rename from src/main.go rename to main.go index b09a890..a1bb56a 100644 --- a/src/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( _ "net/http/pprof" + "codeberg.org/scip/golsky/cmd" "github.com/hajimehoshi/ebiten/v2" ) @@ -18,22 +19,22 @@ func main() { directstart = true } - config, err := ParseCommandline() + config, err := cmd.ParseCommandline() if err != nil { log.Fatal(err) } if config.ShowVersion { - fmt.Printf("This is golsky version %s\n", VERSION) + fmt.Printf("This is golsky version %s\n", cmd.VERSION) os.Exit(0) } - start := Play + start := cmd.Play if !directstart { - start = Menu + start = cmd.Menu config.DelayedStart = true } - game := NewGame(config, SceneName(start)) + game := cmd.NewGame(config, cmd.SceneName(start)) if config.ProfileFile != "" { // enable cpu profiling. Do NOT use q to stop the game but diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index c3beded..0000000 --- a/src/Makefile +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright © 2024 Thomas von Dein - -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# -# no need to modify anything below -tool = golsky -VERSION = $(shell grep VERSION main.go | head -1 | cut -d '"' -f2) -archs = darwin freebsd linux windows -PREFIX = /usr/local -UID = root -GID = 0 -HAVE_POD := $(shell pod2text -h 2>/dev/null) -#TAGS = -tags=ebitenginedebug - -all: buildlocal - - -buildlocal: - go build $(TAGS) -o $(tool) - -install: buildlocal - install -d -o $(UID) -g $(GID) $(PREFIX)/bin - install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1 - install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/ - install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/ - -clean: - rm -rf $(tool) coverage.out testdata t/out - -test: clean - mkdir -p t/out - go test ./... $(ARGS) - -testlint: test lint - -lint: - golangci-lint run - -lint-full: - golangci-lint run --enable-all --exclude-use-default --disable exhaustivestruct,exhaustruct,depguard,interfacer,deadcode,golint,structcheck,scopelint,varcheck,ifshort,maligned,nosnakecase,godot,funlen,gofumpt,cyclop,noctx,gochecknoglobals,paralleltest - -testfuzzy: clean - go test -fuzz ./... $(ARGS) - -singletest: - @echo "Call like this: make singletest TEST=TestPrepareColumns ARGS=-v" - go test -run $(TEST) $(ARGS) - -cover-report: - go test ./... -cover -coverprofile=coverage.out - go tool cover -html=coverage.out - -goupdate: - go get -t -u=patch ./... - -buildall: - ./mkrel.sh $(tool) $(VERSION) - -release: buildall - gh release create $(VERSION) --generate-notes releases/* - -show-versions: buildlocal - @echo "### golsky version:" - @./golsky -V - - @echo - @echo "### go module versions:" - @go list -m all - - @echo - @echo "### go version used for building:" - @grep -m 1 go go.mod - -# lint: -# golangci-lint run -p bugs -p unused - -buildwasm: - env GOOS=js GOARCH=wasm go build -o $(tool).wasm $(LDFLAGS) . - -zipwasm: - zip -r openquell-$(SHORTVERSION).zip index.html $(tool).wasm wasm_exec.js - -wasm: buildwasm zipwasm - @ls -l $(tool)-$(SHORTVERSION).zip