Makefile.module 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. MODULE_NAME := $(notdir $(shell pwd))
  2. MODULE_DIR := modules/$(MODULE_NAME)
  3. PROJECT_NAME = web
  4. BABEL := ../../node_modules/.bin/babel
  5. IDE_SRC_FILES := $(shell [ -e public/src/ide ] && find public/src/ide -name '*.js')
  6. IDE_DIST_FILES := $(subst public/src/ide,../../public/js/ide/$(MODULE_NAME),$(IDE_SRC_FILES))
  7. IDE_TEST_SRC_FILES := $(shell [ -e test/unit_frontend/src/ide ] && find test/unit_frontend/src/ide -name '*.js')
  8. IDE_TEST_DIST_FILES := $(subst test/unit_frontend/src/ide,../../test/unit_frontend/js/ide/$(MODULE_NAME),$(IDE_TEST_SRC_FILES))
  9. MAIN_SRC_FILES := $(shell [ -e public/src/main ] && find public/src/main -name '*.js')
  10. MAIN_DIST_FILES := $(subst public/src/main,../../public/js/main/$(MODULE_NAME),$(MAIN_SRC_FILES))
  11. DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml
  12. DOCKER_COMPOSE_MODULE_FLAGS := ${DOCKER_COMPOSE_FLAGS} -f $(MODULE_DIR)/docker-compose.yml
  13. DOCKER_COMPOSE := cd ../../ && \
  14. MODULE_DIR=$(MODULE_DIR) \
  15. BUILD_NUMBER=$(BUILD_NUMBER) \
  16. BRANCH_NAME=$(BRANCH_NAME) \
  17. PROJECT_NAME=$(PROJECT_NAME) \
  18. MOCHA_GREP=${MOCHA_GREP} \
  19. docker-compose ${DOCKER_COMPOSE_MODULE_FLAGS}
  20. ../../test/unit_frontend/js/ide/$(MODULE_NAME)/%.js: test/unit_frontend/src/ide/%.js
  21. @mkdir -p $(dir $@)
  22. $(BABEL) $< --out-file $@
  23. ../../public/js/ide/$(MODULE_NAME)/%.js: public/src/ide/%.js
  24. @mkdir -p $(dir $@)
  25. $(BABEL) $< --out-file $@
  26. ../../public/js/main/$(MODULE_NAME)/%.js: public/src/main/%.js
  27. @mkdir -p $(dir $@)
  28. $(BABEL) $< --out-file $@
  29. compile: $(IDE_DIST_FILES) $(MAIN_DIST_FILES) $(IDE_TEST_DIST_FILES)
  30. @echo > /dev/null
  31. compile_full:
  32. if [ -e public/src/ide ]; then $(BABEL) public/src/ide --out-dir ../../public/js/ide/$(MODULE_NAME); fi
  33. if [ -e public/src/main ]; then $(BABEL) public/src/main --out-dir ../../public/js/main/$(MODULE_NAME); fi
  34. if [ -e test/unit_frontend/src/ide ]; then $(BABEL) test/unit_frontend/src/ide --out-dir ../../test/unit_frontend/js/ide/$(MODULE_NAME); fi
  35. @$(MAKE) compile # Anything else missed
  36. test_acceptance:
  37. ${DOCKER_COMPOSE} run --rm test_acceptance npm -q run test:acceptance:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/acceptance/src