Update Makefile with new build requirements

This commit is contained in:
Cameron Sparr 2015-08-18 10:16:59 -06:00
parent 2304d03b40
commit 6fcbb7bdb0
4 changed files with 34 additions and 16 deletions

View File

@ -1,23 +1,31 @@
UNAME := $(shell sh -c 'uname') UNAME := $(shell sh -c 'uname')
VERSION := $(shell sh -c 'git describe --always --tags')
ifeq ($(UNAME), Darwin) build: prepare
export ADVERTISED_HOST := $(shell sh -c 'boot2docker ip') $(GOPATH)/bin/godep go build -o telegraf -ldflags \
endif "-X main.Version $(VERSION)" \
ifeq ($(UNAME), Linux) ./cmd/telegraf/telegraf.go
export ADVERTISED_HOST := localhost
endif
prepare: prepare:
godep go install ./... go get github.com/tools/godep
$(GOPATH)/bin/godep go install ./...
docker-compose: docker-compose:
docker-compose up -d docker-compose up -d
test: prepare docker-compose test:
godep go test -v ./... ifeq ($(UNAME), Darwin)
ADVERTISED_HOST=$(shell sh -c 'boot2docker ip') $(MAKE) test-full
endif
ifeq ($(UNAME), Linux)
ADVERTISED_HOST=localhost $(MAKE) test-full
endif
test-full: prepare docker-compose
$(GOPATH)/bin/godep go test -v ./...
test-short: prepare test-short: prepare
godep go test -v -short ./... $(GOPATH)/bin/godep go test -v -short ./...
test-cleanup: test-cleanup:
docker-compose kill docker-compose kill

View File

@ -44,6 +44,12 @@ brew update
brew install telegraf brew install telegraf
``` ```
### From Source:
Telegraf manages dependencies via `godep`, which gets installed via the Makefile.
Assuming you have your GOPATH setup, `make build` should be enough to gather dependencies
and build telegraf.
### How to use it: ### How to use it:
* Run `telegraf -sample-config > telegraf.toml` to create an initial configuration * Run `telegraf -sample-config > telegraf.toml` to create an initial configuration

View File

@ -24,7 +24,9 @@ function exit_if_fail {
# build takes three arguments: GOOS & GOARCH & VERSION # build takes three arguments: GOOS & GOARCH & VERSION
function build { function build {
echo -n "=> $1-$2: " echo -n "=> $1-$2: "
GOOS=$1 GOARCH=$2 godep go build -o telegraf-$1-$2 -ldflags "-X main.Version $3" ./cmd/telegraf/telegraf.go GOOS=$1 GOARCH=$2 godep go build -o telegraf-$1-$2 \
-ldflags "-X main.Version $3" \
./cmd/telegraf/telegraf.go
du -h telegraf-$1-$2 du -h telegraf-$1-$2
} }
@ -59,9 +61,9 @@ exit_if_fail godep go vet ./...
exit_if_fail godep go test -v -short ./... exit_if_fail godep go test -v -short ./...
# Build binaries # Build binaries
build "linux" "amd64" `git rev-parse --short HEAD` build "linux" "amd64" `git describe --always --tags`
build "linux" "386" `git rev-parse --short HEAD` build "linux" "386" `git describe --always --tags`
build "linux" "arm" `git rev-parse --short HEAD` build "linux" "arm" `git describe --always --tags`
# Artifact binaries # Artifact binaries
mv telegraf* $CIRCLE_ARTIFACTS mv telegraf* $CIRCLE_ARTIFACTS

View File

@ -22,13 +22,15 @@ var fPidfile = flag.String("pidfile", "", "file to write our pid to")
var fPLuginsFilter = flag.String("filter", "", "filter the plugins to enable, separator is :") var fPLuginsFilter = flag.String("filter", "", "filter the plugins to enable, separator is :")
// Telegraf version // Telegraf version
var Version = "0.1.6-dev" // -ldflags "-X main.Version `git describe --always --tags`"
var Version string
func main() { func main() {
flag.Parse() flag.Parse()
if *fVersion { if *fVersion {
fmt.Printf("Telegraf - Version %s\n", Version) v := fmt.Sprintf("Telegraf - Version %s", Version)
fmt.Println(v)
return return
} }