mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-30 04:55:17 -05:00
d55b38cc05
Move to docker image based builds GitOrigin-RevId: 992aeaf69bfea4d1847a07c457575a63985d4407
71 lines
3 KiB
Text
71 lines
3 KiB
Text
MODULE_NAME := $(notdir $(shell pwd))
|
|
MODULE_DIR := modules/$(MODULE_NAME)
|
|
PROJECT_NAME = web
|
|
COFFEE := ../../node_modules/.bin/coffee
|
|
BABEL := ../../node_modules/.bin/babel
|
|
|
|
APP_COFFEE_FILES := $(shell [ -e app/coffee ] && find app/coffee -name '*.coffee') \
|
|
$(shell [ -e test/unit/coffee ] && find test/unit/coffee -name '*.coffee') \
|
|
$(shell [ -e test/acceptance/coffee ] && find test/acceptance/coffee -name '*.coffee')
|
|
APP_JS_FILES := $(subst coffee,js,$(APP_COFFEE_FILES))
|
|
|
|
IDE_SRC_FILES := $(shell [ -e public/src/ide ] && find public/src/ide -name '*.js')
|
|
IDE_OUTPUT_FILES := $(subst public/src/ide,../../public/js/ide/$(MODULE_NAME),$(IDE_SRC_FILES))
|
|
|
|
IDE_TEST_SRC_FILES := $(shell [ -e test/unit_frontend/src/ide ] && find test/unit_frontend/src/ide -name '*.js')
|
|
IDE_TEST_OUTPUT_FILES := $(subst test/unit_frontend/src/ide,../../test/unit_frontend/js/ide/$(MODULE_NAME),$(IDE_TEST_SRC_FILES))
|
|
|
|
MAIN_SRC_FILES := $(shell [ -e public/src/main ] && find public/src/main -name '*.js')
|
|
MAIN_OUTPUT_FILES := $(subst public/src/main,../../public/js/main/$(MODULE_NAME),$(MAIN_SRC_FILES))
|
|
|
|
DOCKER_COMPOSE_FLAGS ?= -f docker-compose.yml
|
|
DOCKER_COMPOSE_MODULE_FLAGS := ${DOCKER_COMPOSE_FLAGS} -f $(MODULE_DIR)/docker-compose.yml
|
|
DOCKER_COMPOSE := cd ../../ && \
|
|
MODULE_DIR=$(MODULE_DIR) \
|
|
BUILD_NUMBER=$(BUILD_NUMBER) \
|
|
BRANCH_NAME=$(BRANCH_NAME) \
|
|
PROJECT_NAME=$(PROJECT_NAME) \
|
|
MOCHA_GREP=${MOCHA_GREP} \
|
|
docker-compose ${DOCKER_COMPOSE_MODULE_FLAGS}
|
|
|
|
app/js/%.js: app/coffee/%.coffee
|
|
@mkdir -p $(dir $@)
|
|
$(COFFEE) --compile --print $< > $@
|
|
|
|
test/unit/js/%.js: test/unit/coffee/%.coffee
|
|
@mkdir -p $(dir $@)
|
|
$(COFFEE) --compile --print $< > $@
|
|
|
|
test/acceptance/js/%.js: test/acceptance/coffee/%.coffee
|
|
@mkdir -p $(dir $@)
|
|
$(COFFEE) --compile --print $< > $@
|
|
|
|
../../test/unit_frontend/js/ide/$(MODULE_NAME)/%.js: test/unit_frontend/src/ide/%.js
|
|
@mkdir -p $(dir $@)
|
|
$(BABEL) $< --out-file $@
|
|
|
|
../../public/js/ide/$(MODULE_NAME)/%.js: public/src/ide/%.js
|
|
@mkdir -p $(dir $@)
|
|
$(BABEL) $< --out-file $@
|
|
|
|
../../public/js/main/$(MODULE_NAME)/%.js: public/src/main/%.js
|
|
@mkdir -p $(dir $@)
|
|
$(BABEL) $< --out-file $@
|
|
|
|
index.js: index.coffee
|
|
$(COFFEE) --compile --print $< > $@
|
|
|
|
compile: $(APP_JS_FILES) $(IDE_OUTPUT_FILES) $(MAIN_OUTPUT_FILES) $(IDE_TEST_OUTPUT_FILES) index.js
|
|
@echo > /dev/null
|
|
|
|
compile_full:
|
|
if [ -e app/coffee ]; then $(COFFEE) -o app/js -c app/coffee; fi
|
|
if [ -e test/unit/coffee ]; then $(COFFEE) -o test/unit/js -c test/unit/coffee; fi
|
|
if [ -e test/acceptance/coffee ]; then $(COFFEE) -o test/acceptance/js -c test/acceptance/coffee; fi
|
|
if [ -e public/src/ide ]; then $(BABEL) public/src/ide --out-dir ../../public/js/ide/$(MODULE_NAME); fi
|
|
if [ -e public/src/main ]; then $(BABEL) public/src/main --out-dir ../../public/js/main/$(MODULE_NAME); fi
|
|
if [ -e test/unit_frontend/src/ide ]; then $(BABEL) test/unit_frontend/src/ide --out-dir ../../test/unit_frontend/js/ide/$(MODULE_NAME); fi
|
|
@$(MAKE) compile
|
|
|
|
test_acceptance:
|
|
${DOCKER_COMPOSE} run --rm test_acceptance npm -q run test:acceptance:run_dir -- ${MOCHA_ARGS} $(MODULE_DIR)/test/acceptance/js
|