Skip to content

Commit

Permalink
version and releasing
Browse files Browse the repository at this point in the history
  • Loading branch information
mkobetic committed Jan 12, 2025
1 parent 9ff9bfe commit 07cd033
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
gpx
dist/
*.DS_Store

# Compiled Object files, Static and Dynamic libs (Shared Objects)
Expand Down
33 changes: 31 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
BUILT := $(shell date -u '+%Y-%m-%d %I:%M:%S')
TAG := $(shell git tag --points-at HEAD)
COMMIT := $(shell git rev-parse --short HEAD)
BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
GO_VERSION := $(shell go version)
LDFLAGS += -X "main.Built=$(BUILT)"
LDFLAGS += -X "main.Commit=$(COMMIT)/$(TAG)"
LDFLAGS += -X "main.Branch=$(BRANCH)"
LDFLAGS += -X "main.GoVersion=$(GO_VERSION)"
BUILD := go build -ldflags '$(LDFLAGS)'

default: build

setup:
@go get
@go install github.com/benbjohnson/ego/cmd/ego

build: *.go ego.go
@go build
$(BUILD) .

install: *.go *.ego
go install -ldflags '$(LDFLAGS)' .

ego.go: *.ego
@ego
Expand All @@ -14,4 +28,19 @@ samples: build
@rm -f samples/out/*
@./gpx -o samples/out -vo 0 samples/in/*

.PHONY: setup samples
dist:
GOOS=darwin GOARCH=arm64 $(BUILD) -o dist/ .
tar zcf dist/gpx-osx-arm64.tgz -C dist/ gpx
GOOS=darwin GOARCH=amd64 $(BUILD) -o dist/ .
tar zcf dist/gpx-osx-amd64.tgz -C dist/ gpx
GOOS=linux GOARCH=arm64 $(BUILD) -o dist/ .
tar zcf dist/gpx-linux-arm64.tgz -C dist/ gpx
GOOS=linux GOARCH=amd64 $(BUILD) -o dist/ .
tar zcf dist/gpx-linux-amd64.tgz -C dist/ gpx
GOOS=windows GOARCH=amd64 $(BUILD) -o dist/ .
tar zcf dist/gpx-windows-amd64.tgz -C dist/ gpx.exe

test:
@go test .

.PHONY: setup samples dist test
21 changes: 21 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,24 @@ package main
import (
"flag"
"fmt"
"os"
"path/filepath"
"sort"
"time"

"github.com/tkrajina/gpxgo/gpx"
)

var (
// Build Parameters
Built string // time built in UTC
Commit string // source commit SHA
Branch string // source branch
GoVersion string // Go version used to build
)

func main() {
// flags
out := flag.String("o", ".", "directory for generated files")
var offset *time.Duration
flag.Func("vo", "video time offset for subtitles file, positive offset means video starts ahead of the track", func(ts string) error {
Expand All @@ -22,13 +32,24 @@ func main() {
offset = &d
return nil
})
fVersion := flag.Bool("version", false, "print version information")
flag.Parse()

if *fVersion {
fmt.Println("built on " + Built)
fmt.Printf("built from %s@%s\n", Branch, Commit)
fmt.Println("built with " + GoVersion)
os.Exit(0)
}

// args
if len(flag.Args()) == 0 {
fmt.Println("Transforms specified gpx files into a gpx, svg and video subtitles files for individual race tracks")
fmt.Println("Usage: gpx [-o <dir>] [-vo <duration>] <files>")
flag.Usage()
return
}

var segments Segments
for _, fn := range flag.Args() {
g, err := gpx.ParseFile(fn)
Expand Down
2 changes: 1 addition & 1 deletion segment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ func Test_Split(t *testing.T) {
if err != nil {
t.Error(err)
}
ss := GetSegments(g)
ss := GetSegments(g, "")
if len(ss) != 1 {
t.Fail()
}
Expand Down

0 comments on commit 07cd033

Please sign in to comment.