mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 12:47:56 +08:00
* As part of https://github.com/chanzuckerberg/cellxgene/pull/1548 we accidentally removed the part of the "get_or_else_dev_env_default" function that allowed users to override the environment variables. This commit adds that back. * When environment.default was changed from a shell script file to json, the shell commands used to parameterize DATASET were not evaluated. This commit fixes this issue as well.
46 lines
1.5 KiB
Makefile
46 lines
1.5 KiB
Makefile
PROJECT_ROOT := $(shell git rev-parse --show-toplevel)
|
|
PATH := $(PATH):$(PROJECT_ROOT)/scripts
|
|
|
|
SHELL := env PATH='$(PATH)' /bin/bash
|
|
|
|
ifeq ($(shell which jq),)
|
|
$(error Please install jq using "apt-get install jq" or "brew install jq")
|
|
endif
|
|
|
|
define env_or_else_default
|
|
$(if $($(1)),$($(1)),$(shell jq -r '.$(1)' "$(PROJECT_ROOT)/environment.default.json"))
|
|
endef
|
|
|
|
# if not a full path, create a full path relative to the project root
|
|
define full_path
|
|
$(shell [[ $(1) = /* ]] && echo $(1) || echo $(PROJECT_ROOT)/$(1))
|
|
endef
|
|
|
|
# https://stackoverflow.com/a/14777895/9587410
|
|
ifeq ($(shell uname),Darwin) # is Windows_NT on XP, 2000, 7, Vista, 10...
|
|
IS_DARWIN := "true"
|
|
endif
|
|
|
|
export CELLXGENE_COMMIT := $(shell git rev-parse --short HEAD)
|
|
export CXG_SERVER_PORT := $(call env_or_else_default,CXG_SERVER_PORT)
|
|
export CXG_CLIENT_PORT := $(call env_or_else_default,CXG_CLIENT_PORT)
|
|
export CXG_OPTIONS := $(call env_or_else_default,CXG_OPTIONS)
|
|
export DATASET := $(call full_path,$(call env_or_else_default,DATASET))
|
|
export JEST_ENV := $(call env_or_else_default,JEST_ENV)
|
|
|
|
.PHONY: start-server
|
|
start-server:
|
|
cellxgene launch -p $(CXG_SERVER_PORT) $(CXG_OPTIONS) $(DATASET)
|
|
|
|
# copy the client assests to a location known to the server
|
|
# $(1) is the source of the client assets
|
|
# $(2) is the destination
|
|
define copy_client_assets
|
|
mkdir -p $(2)/common/web/static/assets
|
|
mkdir -p $(2)/common/web/templates/
|
|
cp $(1)/index.html $(2)/common/web/templates/
|
|
cp -r $(1)/static $(2)/common/web/
|
|
cp $(1)/csp-hashes.json $(2)/common/web/
|
|
endef
|
|
|