PATH := node_modules/.bin:${V23_ROOT}/third_party/cout/node/bin:$(PATH)

NODE_BIN := $(V23_ROOT)/release/javascript/core/node_modules/.bin
GOPATH := $(V23_ROOT)/release/javascript/core/go
VDLPATH := $(V23_ROOT)/release/go/src:$(GOPATH)/src
GOBIN := $(V23_ROOT)/release/javascript/core/go/bin
VGO := GOPATH="$(GOPATH)" VDLPATH="$(VDLPATH)" v23 go
GO_FILES := $(shell find go/src $(V23_ROOT)/release/go/src/v.io -name "*.go")

NODE_MODULE_JS_FILES := $(shell find node_modules -name *.js | sed 's/ /\\ /')

SHELL := /bin/bash -e -o pipefail

UNAME := $(shell uname)

.DEFAULT_GOAL := all

# Default browserify options: create a standalone bundle, and use sourcemaps.
BROWSERIFY_OPTS := --standalone vanadium --debug
# Names that should not be mangled by minification.
RESERVED_NAMES := 'context,ctx,callback,cb,$$stream,serverCall'
# Don't mangle RESERVED_NAMES, and screw ie8.
MANGLE_OPTS := --mangle [--except $(RESERVED_NAMES) --screw_ie8 ]
# Don't remove unused variables from function arguments, which could mess up signatures.
# Also don't evaulate constant expressions, since we rely on them to conditionally require modules only in node.
COMPRESS_OPTS := --compress [ --no-unused --no-evaluate ]

# Browserify and extract sourcemap, but do not minify.
define BROWSERIFY
	mkdir -p $(dir $2)
	browserify $1 $(BROWSERIFY_OPTS) | exorcist $2.map > $2
endef

# Browserify, minify, and extract sourcemap.
define BROWSERIFY-MIN
	mkdir -p $(dir $2)
	browserify $1 $(BROWSERIFY_OPTS) --g [ uglifyify $(MANGLE_OPTS) $(COMPRESS_OPTS) ] | exorcist $2.map > $2
endef

# When running browser tests on non-Darwin machines, set the --headless flag.
# This uses Xvfb underneath the hood (inside prova => browser-launcher =>
# headless), which is not supported on OS X.
# See: https://github.com/kesla/node-headless/
ifndef NOHEADLESS
	ifneq ($(UNAME),Darwin)
		HEADLESS := --headless
	endif
endif

ifdef STOPONFAIL
	STOPONFAIL := --stopOnFirstFailure
endif

ifndef NOTAP
	TAP := --tap
endif

ifndef NOQUIT
	QUIT := --quit
endif

ifdef XUNIT
	TAP := --tap # TAP must be set for xunit to work
	OUTPUT_TRANSFORM := tap-xunit
endif

ifdef NODE_OUTPUT
	NODE_OUTPUT_LOCAL = $(NODE_OUTPUT)
	ifdef OUTPUT_TRANSFORM
		NODE_OUTPUT_LOCAL := >($(OUTPUT_TRANSFORM) --package=javascript.node > $(NODE_OUTPUT_LOCAL))
	endif
	NODE_OUTPUT_LOCAL := | tee $(NODE_OUTPUT_LOCAL)
endif

ifdef BROWSER_OUTPUT
	BROWSER_OUTPUT_LOCAL = $(BROWSER_OUTPUT)
	ifdef OUTPUT_TRANSFORM
		BROWSER_OUTPUT_LOCAL := >($(OUTPUT_TRANSFORM) --package=javascript.browser > $(BROWSER_OUTPUT_LOCAL))
	endif
	BROWSER_OUTPUT_LOCAL := | tee $(BROWSER_OUTPUT_LOCAL)
endif

PROVA_OPTS := --includeFilenameAsPackage $(TAP) $(QUIT) $(STOPONFAIL)

BROWSER_OPTS := --browser --transform envify --launch chrome $(HEADLESS)

JS_SRC_FILES = $(shell find src -name "*.js" | sed 's/ /\\ /')

# Common services needed for all integration tests. Must be a comma-seperated
# string with no spaces.
COMMON_SERVICES := "test_serviced"

LOADTEST_SERVICE := "stressd"

all: gen-vdl lint build docs

build: dist docs extension/vanadium.zip

dist/vanadium.js: src/vanadium.js $(JS_SRC_FILES) $(NODE_MODULES_JS_FILES) | node_modules
	$(call BROWSERIFY,$<,$@)

dist/vanadium.min.js: src/vanadium.js $(JS_SRC_FILES) $(NODE_MODULES_JS_FILES) | node_modules
	$(call BROWSERIFY-MIN,$<,$@)

dist: dist/vanadium.js dist/vanadium.min.js

extension/vanadium.zip: node_modules
	$(MAKE) -C extension vanadium.zip

test-precheck: gen-vdl-test node_modules lint dependency-check

test: test-unit test-integration test-vdl test-vom

test-vdl: test-vdl-node test-vdl-browser

# This generates the VDL files and asks git if there are any changed files.
# We don't have to check the extension since it does not check in VDL files.
#
# The alternative is to use the vdl audit command, but that requires checking
# after both vdl commands in gen-vdl-impl as opposed to a single git status.
test-vdl-audit: gen-vdl
	@if [ "`git status --porcelain | grep ' src/gen-vdl/' | sed 's/^ //'`" != "" ]; then \
	  echo "Some VDL files changed but were not committed!"; \
	  echo "`git status --porcelain | grep ' src/gen-vdl/' | sed 's/^ //'`"; \
	  echo "Run 'make gen-vdl' in the javascript/core repo, and commit the changed files."; \
	  exit 1; \
	fi

test-vom: test-vom-node test-vom-browser

# This generates the output of the vdl files in src/gen-vdl/v.io/<package-path>
# The command will generate all the dependent files as well.
gen-vdl: JS_VDL_DIR := "$(V23_ROOT)/release/javascript/core/src/gen-vdl"
gen-vdl: JS_VDL_PATH_TO_CORE := ".."
gen-vdl: gen-vdl-impl

# This generates the output of the vdl files in test/vdl-out/gen-vdl/v.io/<package-path>
# The command will generate all the dependent files as well.
gen-vdl-test: JS_VDL_DIR := "$(V23_ROOT)/release/javascript/core/test/vdl-out"
gen-vdl-test: EXTRA_VDL_PATHS := "javascript-test/..." "v.io/x/js.core/..." 
gen-vdl-test: VDLPATH := "$(V23_ROOT)/release/javascript/core/test/vdl-in/src:$(V23_ROOT)/release/javascript/core/go/src"
gen-vdl-test: JS_VDL_PATH_TO_CORE := "../../src"
gen-vdl-test: gen-vdl-impl

# This generates the vdl files used by test/vom/test-vdl-arith.js
# They are placed in test/vdl/expected-gen/v.io/<package-path>.
# This command is not normally run by the tests. It should only be run when the
# expected vdl files need to be updated.
gen-vdl-test-expected: JS_VDL_DIR := "$(V23_ROOT)/release/javascript/core/test/vdl/expected-gen"
gen-vdl-test-expected: JS_VDL_PATH_TO_CORE := "../../../src"
gen-vdl-test-expected: gen-vdl-test-expected-impl

gen-vdl-test-expected-impl:
	rm -rf $(JS_VDL_DIR)
	echo $(VDLPATH)
	VDLPATH=$(VDLPATH) v23 go run $(V23_ROOT)/release/go/src/v.io/x/ref/cmd/vdl/main.go generate -lang=javascript \
		-js-relative-path-to-core=$(JS_VDL_PATH_TO_CORE) \
		-js-out-dir=$(JS_VDL_DIR) \
		v.io/x/ref/lib/vdl/testdata/...

gen-vdl-impl:
ifndef NOVDLGEN
	rm -rf $(JS_VDL_DIR)
	VDLPATH=$(VDLPATH) v23 go run $(V23_ROOT)/release/go/src/v.io/x/ref/cmd/vdl/main.go generate -lang=javascript \
		-js-relative-path-to-core=$(JS_VDL_PATH_TO_CORE) \
		-js-out-dir=$(JS_VDL_DIR) \
		v.io/x/ref/lib/vdl/testdata/... \
		v.io/x/ref/services/wspr/... \
		v.io/v23/rpc/... \
		v.io/v23/naming/... \
		v.io/v23/verror/... \
		v.io/v23/vom/... \
		$(EXTRA_VDL_PATHS)
	# TODO(bjornick): We build the vdlroot stuff with a different set of command line options because the package
	# path does not equal the directory path of the source file.  This is not ideal, but bjornick and toddw will
	# discuss how to fix this later.
	VDLPATH=$(VDLPATH) v23 go run $(V23_ROOT)/release/go/src/v.io/x/ref/cmd/vdl/main.go generate -lang=javascript \
					-js-relative-path-to-core=../../../$(JS_VDL_PATH_TO_CORE) \
					-js-out-dir=$(JS_VDL_DIR) \
					$(V23_ROOT)/release/go/src/v.io/v23/vdlroot/...
endif

test-vdl-node: test-precheck
	prova test/vdl/test-*.js $(PROVA_OPTS) $(NODE_OUTPUT_LOCAL)

test-vdl-browser: test-precheck
	prova test/vdl/test-*.js $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL)

test-vom-node: test-precheck
	prova test/vom/test-*.js $(PROVA_OPTS) $(NODE_OUTPUT_LOCAL)

test-vom-browser: test-precheck
	prova test/vom/test-*.js $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL)

test-unit: test-unit-node test-unit-browser

test-unit-node: test-precheck
	prova test/unit/test-*.js $(PROVA_OPTS) $(NODE_OUTPUT_LOCAL)

test-unit-browser: test-precheck
	prova test/unit/test-*.js $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL)

test-integration: lint test-integration-node test-integration-browser

test-integration-node: test-precheck go/bin
	node test/integration/runner.js --services=$(COMMON_SERVICES) -- \
	prova test/integration/test-*.js $(PROVA_OPTS) $(NODE_OUTPUT_LOCAL)

test-integration-browser: test-precheck go/bin
	node test/integration/runner.js --services=$(COMMON_SERVICES) -- \
	make test-integration-browser-runner

test-integration-browser-runner: BROWSER_OPTS := --options="--load-extension=$(PWD)/extension/build-test/,--ignore-certificate-errors,--enable-logging=stderr" $(BROWSER_OPTS)
test-integration-browser-runner:
	@$(RM) -fr extension/build-test
	$(MAKE) -C extension build-test
	prova test/integration/test-*.js --log=./tmp/chrome.log $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL) $(SAVE_CHROME_LOGS)

test-load-node: test-precheck go/bin
	node test/integration/runner.js --services=$(LOADTEST_SERVICE)  -- \
	prova test/load/test-*.js $(PROVA_OPTS) $(NODE_OUTPUT_LOCAL)


test-load-browser: test-precheck go/bin
	node test/integration/runner.js --services=$(LOADTEST_SERVICE)  -- \
	make test-load-browser-runner

test-load-browser-runner: BROWSER_OPTS := --options="--load-extension=$(PWD)/extension/build-test/,--ignore-certificate-errors,--enable-logging=stderr" $(BROWSER_OPTS)
test-load-browser-runner:
	@$(RM) -fr extension/build-test
	$(MAKE) -C extension build-test
	prova test/load/test-*.js --log=./tmp/chrome.log $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL) $(SAVE_CHROME_LOGS)




go/bin: $(GO_FILES)
	@$(VGO) build -o $(GOBIN)/servicerunner -a -tags wspr v.io/x/ref/cmd/servicerunner
	@$(VGO) build -o $(GOBIN)/principal v.io/x/ref/cmd/principal
	@$(VGO) build -o $(GOBIN)/test_serviced v.io/x/js.core/test_service/test_serviced
	@$(VGO) build -o $(GOBIN)/stressd v.io/x/js.core/stress/stressd

lint: node_modules
ifdef NOLINT
	@echo "Skipping lint - disabled by NOLINT environment variable"
else
	jshint .
	$(MAKE) -C extension lint
endif

dependency-check: node_modules
	dependency-check package.json --entry src/vanadium.js

clean:
	@$(RM) -fr dist
	@$(RM) -fr docs
	@$(RM) -fr go/bin
	@$(RM) -fr go/pkg
	@$(RM) -fr node_modules
	@$(RM) -fr npm-debug.log
	@$(RM) -fr tmp
	@$(RM) -fr xunit.xml
	$(MAKE) -C extension clean

DOCSTRAP_LOC:= node_modules/ink-docstrap
docs: $(JS_SRC_FILES) jsdocs/docstrap-template/compiled/site.vanadium.css | node_modules
	# Copy our compiled style template
	cp -f jsdocs/docstrap-template/compiled/site.vanadium.css ${DOCSTRAP_LOC}/template/static/styles

	# Build the docs
	jsdoc $^ --readme ./jsdocs/index.md --configure ./jsdocs/conf.json --template ${DOCSTRAP_LOC}/template --destination $@

	# Copy favicon
	cp -f ./jsdocs/favicon.ico $@

# docs-template
#
# Builds the custom Vanadium jsdocs template and rebuilds the docs with it.
# It does so by copying the LESS files we have in jsdocs/styles to docstrap
# and rebuilding the compiled style file by following the "Customization"
# steps: https://github.com/terryweiss/docstrap#customizing-docstrap
# After the build is done, it copies back the compiled style file to our
# folder so it can be checked in and used later.
docs-template: node_modules node_modules/ink-docstrap/node_modules/grunt node_modules/ink-docstrap/bower_components
	# Copy our raw LESS style assets to docstrap
	cp -f jsdocs/docstrap-template/styles/*.* ${DOCSTRAP_LOC}/styles
	# Rebuilt the styles
	cd ${DOCSTRAP_LOC}; ${NODE_BIN}/grunt less
	# Copy back the compiled style file from docstrap
	cp -f ${DOCSTRAP_LOC}/template/static/styles/site.cosmo.css jsdocs/docstrap-template/compiled/site.vanadium.css
	# Rebuild docs
	make docs

node_modules/ink-docstrap/node_modules/grunt:
	cd ${DOCSTRAP_LOC}; npm install

node_modules/ink-docstrap/bower_components:
	cd ${DOCSTRAP_LOC}; ${NODE_BIN}/bower install

# serve-docs
#
# Serve the docs at http://localhost:8020.
serve-docs: docs
	static docs -p 8020

.PHONY: docs-template serve-docs

.PHONY: deploy-docs-production
deploy-docs-production: docs
	make -C $(V23_ROOT)/infrastructure/deploy jsdoc-production

.PHONY: deploy-docs-staging
deploy-docs-staging: docs
	make -C $(V23_ROOT)/infrastructure/deploy jsdoc-staging

node_modules: package.json  check-that-npm-is-in-path
ifndef NONPMUPDATE
	@npm prune
	@npm install --quiet || (rm -fr $(HOME)/.npm && npm install --quiet) 
	@touch node_modules
endif

check-that-npm-is-in-path:
	@which npm > /dev/null || { echo "npm is not in the path. Did you remember to run 'v23 profile install nodejs'?"; exit 1; }

.PHONY: all build clean dependency-check lint test
.PHONY: test-integration test-integration-node test-integration-browser
.PHONY: test-unit test-unit-node test-unit-browser
.PHONY: check-that-npm-is-in-path
.PHONY: gen-vdl gen-vdl-test gen-vdl-test-expected gen-vdl-impl gen-vdl-test-expected-impl

# Prevent the tests from running in parallel, which causes problems because it
# starts multiple instances of the services at once, and also because it
# interleaves the test output.
.NOTPARALLEL: test-integration test-integration-browser test-integration-node
.NOTPARALLEL: test-unit test-unit-node test-unit-browser
.NOTPARALLEL: test-vdl test-vdl-node test-vdl-browser
