mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 12:47:56 +08:00
* Cleanup the backend-dev convenience method * Add the frontend_dev convenience method frontend_dev is a soup-to-nuts convenience method for setting up the FE development environment with node running a the client code on port 3000 with the a separate cellxgene package serving the API over port 5005 in the background. The script can be run from Finder. * Update the developer scripts documentation * Remove the 'test' make target in the client Makefile Rationale: * Given how long the smoke tests take to run, it is unlikely that developers will want to run all tests together. * It is unlikely that developers will have set up the backend server properly for the tests to pass. * Available commands should be safe-ish and not lend themselves to confusing errors. * You can still group tests by concatenating them in a make command, as in `make unit-test smoke-test`. * This target isn't used in any of our CI pipelines -- KISS. * Some version of python3... * Minor typos in docs * Respond to feedback from @bkmartinjr * Make adjustments so that DATASET path is predictable * Simplify environment defaults a bit
33 lines
1.2 KiB
Makefile
33 lines
1.2 KiB
Makefile
PROJECT_ROOT := $(shell git rev-parse --show-toplevel)
|
|
PATH := $(PATH):$(PROJECT_ROOT)/scripts
|
|
|
|
SHELL := env PATH='$(PATH)' /bin/bash
|
|
|
|
# get_or_else_dev_env_default
|
|
# - If a variable is defined, return its value
|
|
# - Else return the default value from environment.dev
|
|
define get_or_else_dev_env_default
|
|
$(if $($(1)),$($(1)),$(shell VAR=$$(sed -n 's/$(1)=\(.*\)/\1/p' $(PROJECT_ROOT)/environment.default); eval "echo \"$$VAR\""))
|
|
endef
|
|
|
|
export CXG_SERVER_PORT := $(call get_or_else_dev_env_default,CXG_SERVER_PORT)
|
|
export CXG_CLIENT_PORT := $(call get_or_else_dev_env_default,CXG_CLIENT_PORT)
|
|
export JEST_ENV := $(call get_or_else_dev_env_default,JEST_ENV)
|
|
export DATASET := $(call get_or_else_dev_env_default,DATASET)
|
|
export CXG_OPTIONS := $(call get_or_else_dev_env_default,CXG_OPTIONS)
|
|
|
|
.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/
|
|
endef
|
|
|