<commit_before># Note: tabs by space can't not used for Makefile!
MONGO_PORT=27017
CURRENTDIR=`pwd`

###############################################################################
# Initial Settings
###############################################################################
init_environment:
	export ENC_KEY='<KEY>'
	export ENC_IV='xxxxxxxxxxxxiviv'

	#heroku
	#heroku config:add ENC_KEY='<KEY>'
	#heroku config:add ENC_IV='xxxxxxxxxxxxiviv'

	#travis web console -> settings

deployjs:
	#cp /Users/hy/work/go/src/github.com/hiromaily/go-gin-wrapper/frontend_workspace/react/app/dist/apilist.bundle.js \
	#/Users/hy/work/go/src/github.com/hiromaily/go-gin-wrapper/statics/js/

mongoinit:
	#After running mongodb
	mongo 127.0.0.1:$(MONGO_PORT)/admin --eval "var port = $(MONGO_PORT);" ./docker/mongo/init.js
	mongorestore -h 127.0.0.1:${MONGO_PORT} --db hiromaily docker/mongo/dump/hiromaily

dbinit:
	export DB_NAME=hiromaily
	sh ./data/sql/setup.sh


###############################################################################
# Managing Dependencies
###############################################################################
changegit:
	cd ${GOPATH}/src/github.com/aws/aws-sdk-go
	git checkout v0.9.17

update:
	go get -u github.com/tools/godep
	go get -u -d -v ./...

godep:
	rm -rf Godeps
	rm -rf ./vendor
	godep save ./...


###############################################################################
# Golang detection and formatter
###############################################################################
fmt:
	go fmt `go list ./... | grep -v '/vendor/'`

vet:
	go vet `go list ./... | grep -v '/vendor/'`

lint:
	golint ./... | grep -v '^vendor\/' || true
	misspell `find . -name "*.go" | grep -v '/vendor/'`
	ineffassign .

chk:
	go fmt `go list ./... | grep -v '/vendor/'`
	go vet `go list ./... | grep -v '/vendor/'`
	golint ./... | grep -v '^vendor\/' || true
	misspell `find . -name "*.go" | grep -v '/vendor/'`
	ineffassign .


###############################################################################
# Docker TODO:delete it
###############################################################################
dcstart:
	docker start web-redisd
	docker start web-mysqld
	docker start web-mongod

dcstop:
	docker stop web-redisd
	docker stop web-mysqld
	docker stop web-mongod

dcmongo:
	docker exec -it web-mongo bash


###############################################################################
# Docker-Compose
###############################################################################
dcfirst:
	docker-compose build
	docker-compose up mongo
	#
	mongo 127.0.0.1:$(MONGO_PORT)/admin --eval "var port = $(MONGO_PORT);" ./docker/mongo/init.js
	mongorestore -h 127.0.0.1:${MONGO_PORT} --db hiromaily docker/mongo/dump/hiromaily

dcbld:
	docker-compose build

dcup:
	docker-compose up

dcfull:
	docker-compose up --build


dctest:
	export RUN_TEST=1
	sh ./docker-create.sh

dcshell:
	echo '============== docker =============='
	# create docker container
	export RUN_TEST=0
	sh ./docker-create.sh

	#wait to be ready or not.
	echo 'building now. it may be take over 40s.'
	sleep 30s
	while :
	do
		#000 or 200 or 404
		HTTP_STATUS=`curl -LI localhost:8888/ -w '%{http_code}\n' -s -o /dev/null`
		echo $HTTP_STATUS
		if [ $HTTP_STATUS -eq 000 ]; then
			sleep 1s
		else
			docker logs web
			break
		fi
	done


###############################################################################
# Local Build
###############################################################################
#dcdb:
#	docker-compose up mysql redis mongo

bld:
	go build -i -v -o ${GOPATH}/bin/ginserver ./cmd/ginserver/

bldproxy:
	go build -i -v -o ${GOPATH}/bin/reverseproxy ./cmd/reverseproxy/

bldswg:
	go build -i -v -o ${GOPATH}/bin/swgserver ./swagger/go-swagger/cmd/swagger-server/


###############################################################################
# Execution
###############################################################################
run:
	go run ./cmd/ginserver/main.go

exec:
	ginserver -f ./data/toml/settings.toml

execproxy:
	PORTS=(8080 8081 8082)
	for port in ${PORTS[@]}
	do
		echo 'port is ${port}'
		ginserver -f ./configs/settings.toml -P ${port} &<commit_msg>tweak<commit_after># Note: tabs by space can't not used for Makefile!
MONGO_PORT=27017
CURRENTDIR=`pwd`

###############################################################################
# Initial Settings
###############################################################################
init_environment:
	export ENC_KEY='xxxxxxxxxkeykey'
	export ENC_IV='xxxxxxxxxxxxiviv'

	#heroku
	#heroku config:add ENC_KEY='xxxxxxxxxkeykey'
	#heroku config:add ENC_IV='xxxxxxxxxxxxiviv'

	#travis web console -> settings

deployjs:
	#cp /Users/hy/work/go/src/github.com/hiromaily/go-gin-wrapper/frontend_workspace/react/app/dist/apilist.bundle.js \
	#/Users/hy/work/go/src/github.com/hiromaily/go-gin-wrapper/statics/js/

mongoinit:
	#After running mongodb
	mongo 127.0.0.1:$(MONGO_PORT)/admin --eval "var port = $(MONGO_PORT);" ./docker/mongo/init.js
	mongorestore -h 127.0.0.1:${MONGO_PORT} --db hiromaily docker/mongo/dump/hiromaily

dbinit:
	export DB_NAME=hiromaily
	sh ./data/sql/setup.sh


###############################################################################
# Managing Dependencies
###############################################################################
changegit:
	cd ${GOPATH}/src/github.com/aws/aws-sdk-go
	git checkout v0.9.17

update:
	go get -u github.com/tools/godep
	go get -u -d -v ./...

godep:
	rm -rf Godeps
	rm -rf ./vendor
	godep save ./...


###############################################################################
# Golang detection and formatter
###############################################################################
fmt:
	go fmt `go list ./... | grep -v '/vendor/'`

vet:
	go vet `go list ./... | grep -v '/vendor/'`

lint:
	golint ./... | grep -v '^vendor\/' || true
	misspell `find . -name "*.go" | grep -v '/vendor/'`
	ineffassign .

chk:
	go fmt `go list ./... | grep -v '/vendor/'`
	go vet `go list ./... | grep -v '/vendor/'`
	golint ./... | grep -v '^vendor\/' || true
	misspell `find . -name "*.go" | grep -v '/vendor/'`
	ineffassign .


###############################################################################
# Docker TODO:delete it
###############################################################################
dcstart:
	docker start web-redisd
	docker start web-mysqld
	docker start web-mongod

dcstop:
	docker stop web-redisd
	docker stop web-mysqld
	docker stop web-mongod

dcmongo:
	docker exec -it web-mongo bash


###############################################################################
# Docker-Compose
###############################################################################
dcfirst:
	docker-compose build
	docker-compose up mongo
	#
	mongo 127.0.0.1:$(MONGO_PORT)/admin --eval "var port = $(MONGO_PORT);" ./docker/mongo/init.js
	mongorestore -h 127.0.0.1:${MONGO_PORT} --db hiromaily docker/mongo/dump/hiromaily

dcbld:
	docker-compose build

dcup:
	docker-compose up

dcfull:
	docker-compose up --build


dctest:
	export RUN_TEST=1
	sh ./docker-create.sh

dcshell:
	echo '============== docker =============='
	# create docker container
	export RUN_TEST=0
	sh ./docker-create.sh

	#wait to be ready or not.
	echo 'building now. it may be take over 40s.'
	sleep 30s
	while :
	do
		#000 or 200 or 404
		HTTP_STATUS=`curl -LI localhost:8888/ -w '%{http_code}\n' -s -o /dev/null`
		echo $HTTP_STATUS
		if [ $HTTP_STATUS -eq 000 ]; then
			sleep 1s
		else
			docker logs web
			break
		fi
	done


###############################################################################
# Local Build
###############################################################################
#dcdb:
#	docker-compose up mysql redis mongo

bld:
	go build -i -race -v -o ${GOPATH}/bin/ginserver ./cmd/ginserver/

bldproxy:
	go build -i -race -v -o ${GOPATH}/bin/reverseproxy ./cmd/reverseproxy/

bldswg:
	go build -i -race -v -o ${GOPATH}/bin/swgserver ./swagger/go-swagger/cmd/swagger-server/


###############################################################################
# Execution
###############################################################################
run:
	go run -race ./cmd/ginserver/main.go

exec:
	ginserver -f ./data/toml/settings.toml

execproxy:
	PORTS=(8080 8081 8082)
	for port in ${PORTS[@]}
	do
		echo 'port is ${port}'
		ginserver -f ./configs/settings.toml -P ${port} &
{'fraction_non_alphanumeric': 0.3767979250176845, 'fraction_numerical': 0.01603395425607168, 'mean_word_length': 4.519193233571893, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 8, 'substrings_counts': 6, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6373568', 'n_tokens_mistral': 3002, 'n_tokens_neox': 2665, 'n_words': 656}