Skip to content

Commit

Permalink
Merge pull request #41 from EOSIO/add-version-flag
Browse files Browse the repository at this point in the history
Add build script and version flag
  • Loading branch information
ericiles authored Jun 13, 2018
2 parents 60577cb + 6c918dc commit 28af9cb
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 38 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ main

# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
.glide/

# dist folder containing compiled Binaries
dist/**/*
6 changes: 6 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

date="$(date -u +'%Y-%m-%dT%TZ%z')"
commit=$(git rev-parse HEAD)
version="$(git symbolic-ref -q --short HEAD || git describe --tags --exact-match)"
go build -ldflags "-X main.commit=$commit -X main.buildDate=$date -X main.version=$version" -o dist/patroneosd
43 changes: 11 additions & 32 deletions filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,19 +139,12 @@ func TestValidateMaxTransactions(t *testing.T) {

func TestValidateContract(t *testing.T) {
invalidAction := Action{
Code: "currency",
Type: "transfer",
Recipients: []string{"me"},
Authorization: []interface{}{"eosio"},
Data: "1234567890",
Code: "currency",
Data: "1234567890",
}
invalidTransaction := Transaction{
RefBlockNum: "1",
RefBlockPrefix: "eos",
Expiration: "never",
Actions: []Action{invalidAction},
Signatures: []string{"12345"},
Authorizations: []interface{}{"eosio"},
Actions: []Action{invalidAction},
Signatures: []string{"12345"},
}
validTransaction := invalidTransaction
validAction := invalidAction
Expand Down Expand Up @@ -190,20 +183,13 @@ func TestValidateContract(t *testing.T) {

func TestValidateSignatures(t *testing.T) {
invalidTransaction := Transaction{
RefBlockNum: "1",
RefBlockPrefix: "eos",
Expiration: "never",
Actions: []Action{
{
Code: "tokens",
Type: "transfer",
Recipients: []string{"me"},
Authorization: []interface{}{"eosio"},
Data: "1234567890",
Code: "tokens",
Data: "1234567890",
},
},
Signatures: []string{"12345", "54321"},
Authorizations: []interface{}{"eosio"},
Signatures: []string{"12345", "54321"},
}

validTransaction := invalidTransaction
Expand Down Expand Up @@ -241,20 +227,13 @@ func TestValidateSignatures(t *testing.T) {

func TestValidateTransactionSize(t *testing.T) {
invalidAction := Action{
Code: "tokens",
Type: "transfer",
Recipients: []string{"me"},
Authorization: []interface{}{"eosio"},
Data: string(bytes.Repeat([]byte("a"), 100)),
Code: "tokens",
Data: string(bytes.Repeat([]byte("a"), 100)),
}

invalidTransaction := Transaction{
RefBlockNum: "1",
RefBlockPrefix: "eos",
Expiration: "never",
Actions: []Action{invalidAction},
Signatures: []string{"12345"},
Authorizations: []interface{}{"eosio"},
Actions: []Action{invalidAction},
Signatures: []string{"12345"},
}

validTransaction := invalidTransaction
Expand Down
40 changes: 34 additions & 6 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"log"
"net/http"
"os"
"time"
)

// Config defines the application configuration
Expand All @@ -26,10 +27,14 @@ type Config struct {
Headers map[string]string `json:"headers"`
}

var configFile string
var operatingMode string

var appConfig Config
var (
configFile string // path to config.json
operatingMode string // operating mode (filter or relay)
version string // application version
commit string // sha1 commit hash used to build application
buildDate string // compilation date
appConfig Config // configuration fields
)

// updateConfig allows the configuration to be updated via POST requests.
func updateConfig(w http.ResponseWriter, r *http.Request) {
Expand Down Expand Up @@ -67,17 +72,40 @@ func parseArgs() {
defaultConfigLocation = "./config.json"
defaultOperatingMode = "filter"
defaultShowHelp = false
defaultShowVersion = false
)

var (
showHelp bool
showVersion bool
)
var showHelp bool

flag.BoolVar(&showHelp, "h", defaultShowHelp, "shows application help")
flag.BoolVar(&showVersion, "v", defaultShowVersion, "show application version")
flag.StringVar(&configFile, "configFile", defaultConfigLocation, "location of the file used for application configuration")
flag.StringVar(&operatingMode, "mode", defaultOperatingMode, "mode in which the application will run")

flag.Parse()

if showHelp {
flag.Usage()
os.Exit(1)
os.Exit(0)
}

if showVersion {
var buildDateTime string

date, err := time.Parse("2006-01-02T15:04:05Z-0700", buildDate)

if err != nil {
log.Printf("Error parsing build date: %v", err)
buildDateTime = ""
} else {
buildDateTime = date.In(time.Local).String()
}

fmt.Printf("Version: %v\nGit Commit: %v\nBuilt on: %v\n", version, commit, buildDateTime)
os.Exit(0)
}
}

Expand Down

0 comments on commit 28af9cb

Please sign in to comment.