forked from zaclys/searxng
0606cde105
The idea is to avoid conflict when there are differents branches with changes are made on the static files. A solution is to ask the administrators to build the files from the sources, but it requires to install the npm dependencies. So the solution in this commit keep the sources and the build files in the same git repository. In one branch, the modification of the source (*.less, *.js) are commited without the built files. The built files are commited in a uniq commit, with a commit message "Static build" In case of merge or rebase, this commit can be dropped. New make targets: * static.build.commit.drop: drop the last "Static build". The command checks that there are only build files in the commit. * static.build.commit : call "make static.build.commit.drop" call "make themes.all" commit the files * static.git.restore.staged: git restore --staged <build files> * static.git.restore: git restore <build files> Related to https://github.com/searxng/searxng/issues/137
117 lines
3.1 KiB
Makefile
117 lines
3.1 KiB
Makefile
# -*- coding: utf-8; mode: makefile-gmake -*-
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
.DEFAULT_GOAL=help
|
|
export MTOOLS=./manage
|
|
export MSTATIC=./utils/manage_static.sh
|
|
|
|
include utils/makefile.include
|
|
|
|
all: clean install
|
|
|
|
PHONY += help
|
|
|
|
help:
|
|
@./manage --help
|
|
@echo '----'
|
|
@echo 'run - run developer instance'
|
|
@echo 'install - developer install of searx into virtualenv'
|
|
@echo 'uninstall - uninstall developer installation'
|
|
@echo 'clean - clean up working tree'
|
|
@echo 'search.checker - check search engines'
|
|
@echo 'test - run shell & CI tests'
|
|
@echo 'test.shell - test shell scripts'
|
|
@echo 'ci.test - run CI tests'
|
|
|
|
|
|
PHONY += run
|
|
run: install
|
|
$(Q) ( \
|
|
sleep 2 ; \
|
|
xdg-open http://127.0.0.1:8888/ ; \
|
|
) &
|
|
SEARX_DEBUG=1 ./manage pyenv.cmd python ./searx/webapp.py
|
|
|
|
PHONY += install uninstall
|
|
install uninstall:
|
|
$(Q)./manage pyenv.$@
|
|
|
|
PHONY += clean
|
|
clean: py.clean docs.clean node.clean test.clean
|
|
$(Q)./manage build_msg CLEAN "common files"
|
|
$(Q)find . -name '*.orig' -exec rm -f {} +
|
|
$(Q)find . -name '*.rej' -exec rm -f {} +
|
|
$(Q)find . -name '*~' -exec rm -f {} +
|
|
$(Q)find . -name '*.bak' -exec rm -f {} +
|
|
|
|
PHONY += search.checker search.checker.%
|
|
search.checker: install
|
|
$(Q)./manage pyenv.cmd searx-checker -v
|
|
|
|
search.checker.%: install
|
|
$(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))"
|
|
|
|
PHONY += test ci.test test.shell
|
|
ci.test: test.yamllint test.pep8 test.pylint test.unit test.robot
|
|
test: test.yamllint test.pep8 test.pylint test.unit test.robot test.shell
|
|
test.shell:
|
|
$(Q)shellcheck -x -s dash \
|
|
dockerfiles/docker-entrypoint.sh
|
|
$(Q)shellcheck -x -s bash \
|
|
utils/brand.env \
|
|
./manage \
|
|
utils/lib.sh \
|
|
utils/filtron.sh \
|
|
utils/searx.sh \
|
|
utils/morty.sh \
|
|
utils/lxc.sh \
|
|
utils/lxc-searx.env \
|
|
.config.sh
|
|
$(Q)./manage build_msg TEST "$@ OK"
|
|
|
|
|
|
# wrap ./manage script
|
|
|
|
MANAGE += buildenv
|
|
MANAGE += babel.compile
|
|
MANAGE += data.all data.languages data.useragents data.osm_keys_tags
|
|
MANAGE += docs.html docs.live docs.gh-pages docs.prebuild docs.clean
|
|
MANAGE += docker.build docker.push docker.buildx
|
|
MANAGE += gecko.driver
|
|
MANAGE += node.env node.clean
|
|
MANAGE += py.build py.clean
|
|
MANAGE += pyenv pyenv.install pyenv.uninstall
|
|
MANAGE += pypi.upload pypi.upload.test
|
|
MANAGE += test.yamllint test.pylint test.pep8 test.unit test.coverage test.robot test.clean
|
|
MANAGE += themes.all themes.oscar themes.simple pygments.less
|
|
|
|
PHONY += $(MANAGE)
|
|
|
|
$(MANAGE):
|
|
$(Q)$(MTOOLS) $@
|
|
|
|
|
|
MANAGE_STATIC += static.build.commit.drop static.build.commit static.git.restore.staged static.git.restore
|
|
|
|
$(MANAGE_STATIC):
|
|
$(Q)$(MSTATIC) $@
|
|
|
|
# deprecated
|
|
|
|
PHONY += docs docs-clean docs-live docker themes
|
|
|
|
docs: docs.html
|
|
$(Q)./manage build_msg WARN $@ is deprecated use docs.html
|
|
|
|
docs-clean: docs.clean
|
|
$(Q)./manage build_msg WARN $@ is deprecated use docs.clean
|
|
|
|
docs-live: docs.live
|
|
$(Q)./manage build_msg WARN $@ is deprecated use docs.live
|
|
|
|
docker: docker.build
|
|
$(Q)./manage build_msg WARN $@ is deprecated use docker.build
|
|
|
|
themes: themes.all
|
|
$(Q)./manage build_msg WARN $@ is deprecated use themes.all
|