include build/private/bgo_exports.makefile
include ${BGO_MAKEFILE}

generate:
	go generate ./...

# generate wire code. should not need to be run since it regenerates on go
# generate.
generate-wire:
	wire ./s2s2

golangci-lint:
	golangci-lint run

# Allow GF->GHE sync to include mocks without checking them into GF.
#
# wire.go is not synced because it doesn't it adds a new dependency that clients
# don't need.
sync-src:
	rsync -a --delete-excluded --delete \
		--exclude build \
		--exclude Config \
		--exclude bmg.json \
		--exclude go.mod \
		--exclude go.sum \
		--exclude .gitignore \
		--exclude wire.go \
		"${BRAZIL_PKG_ROOT}/" \
		build/gopath/src/code.justin.tv/amzn/TwitchS2S2
	# remove go:generate wireinject build flags in case downstream is using wire
	# as well
	sed -i'' -e '/go:generate wire/d' ./build/gopath/src/code.justin.tv/amzn/TwitchS2S2/s2s2/wire_gen.go
	sed -i'' -e '/+build !wireinject/d' ./build/gopath/src/code.justin.tv/amzn/TwitchS2S2/s2s2/wire_gen.go

pre-build:: generate sync-src
