1
2all: test install
3	@echo "Done"
4
5install:
6	go install github.com/pquerna/ffjson
7
8deps:
9
10fmt:
11	go fmt github.com/pquerna/ffjson/...
12
13cov:
14	# TODO: cleanup this make target.
15	mkdir -p coverage
16	rm -f coverage/*.html
17	# gocov test github.com/pquerna/ffjson/generator | gocov-html > coverage/generator.html
18	# gocov test github.com/pquerna/ffjson/inception | gocov-html > coverage/inception.html
19	gocov test github.com/pquerna/ffjson/fflib/v1 | gocov-html > coverage/fflib.html
20	@echo "coverage written"
21
22test-core:
23	go test -v github.com/pquerna/ffjson/fflib/v1 github.com/pquerna/ffjson/generator github.com/pquerna/ffjson/inception
24
25test: ffize test-core
26	go test -v github.com/pquerna/ffjson/tests/...
27
28ffize: install
29	ffjson -force-regenerate tests/ff.go
30	ffjson -force-regenerate tests/goser/ff/goser.go
31	ffjson -force-regenerate tests/go.stripe/ff/customer.go
32	ffjson -force-regenerate -reset-fields tests/types/ff/everything.go
33	ffjson -force-regenerate tests/number/ff/number.go
34
35lint: ffize
36	go get github.com/golang/lint/golint
37	golint --set_exit_status tests/...
38
39bench: ffize all
40	go test -v -benchmem -bench MarshalJSON  github.com/pquerna/ffjson/tests
41	go test -v -benchmem -bench MarshalJSON  github.com/pquerna/ffjson/tests/goser github.com/pquerna/ffjson/tests/go.stripe
42	go test -v -benchmem -bench UnmarshalJSON  github.com/pquerna/ffjson/tests/goser github.com/pquerna/ffjson/tests/go.stripe
43
44clean:
45	go clean -i github.com/pquerna/ffjson/...
46	find . -name '*_ffjson.go' -delete
47	find . -name 'ffjson-inception*' -delete
48
49.PHONY: deps clean test fmt install all
50