mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-12-30 10:47:05 -06:00
abea2c7172
This is primarily intended for simplifying Jenkins jobs.
153 lines
3.9 KiB
Makefile
153 lines
3.9 KiB
Makefile
########################################################################
|
|
#
|
|
# pgAdmin 4 - PostgreSQL Tools
|
|
#
|
|
# Copyright (C) 2013 - 2023, The pgAdmin Development Team
|
|
# This software is released under the PostgreSQL Licence
|
|
#
|
|
#########################################################################
|
|
|
|
SHELL = /bin/sh
|
|
|
|
APP_NAME := $(shell grep ^APP_NAME web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]' | tr -d "'" | awk '{print tolower($$0)}')
|
|
APP_RELEASE := $(shell grep ^APP_RELEASE web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
|
APP_REVISION := $(shell grep ^APP_REVISION web/config.py | awk -F"=" '{print $$NF}' | tr -d '[:space:]')
|
|
|
|
#########################################################################
|
|
# High-level targets
|
|
#########################################################################
|
|
|
|
# Include only platform-independent builds in all
|
|
all: docs pip src
|
|
|
|
appbundle:
|
|
./pkg/mac/build.sh
|
|
|
|
install-node:
|
|
cd web && yarn install
|
|
|
|
install-python:
|
|
./tools/setup-python-env.sh
|
|
|
|
install-python-testing:
|
|
./tools/setup-python-env.sh --test
|
|
|
|
bundle:
|
|
cd web && yarn run bundle
|
|
|
|
bundle-dev:
|
|
cd web && yarn run bundle:dev
|
|
|
|
linter:
|
|
cd web && yarn run linter
|
|
|
|
check: install-node bundle linter check-pep8
|
|
cd web && yarn run karma start --single-run && python regression/runtests.py
|
|
|
|
check-audit:
|
|
cd web && yarn run audit
|
|
|
|
check-auditjs:
|
|
# Commented the below line to avoid vulnerability in decompress package and
|
|
# audit only dependencies folder. Refer https://www.npmjs.com/advisories/1217.
|
|
# Pull request is already been send https://github.com/kevva/decompress/pull/73,
|
|
# once fixed we will uncomment it.
|
|
# cd web && yarn run auditjs
|
|
cd web && yarn run auditjs --groups dependencies
|
|
|
|
check-auditjs-html:
|
|
cd web && yarn run auditjs-html
|
|
|
|
check-auditpy:
|
|
cd web && yarn run auditpy
|
|
|
|
check-pep8:
|
|
pycodestyle --config=.pycodestyle docs/
|
|
pycodestyle --config=.pycodestyle pkg/
|
|
pycodestyle --config=.pycodestyle web/
|
|
pycodestyle --config=.pycodestyle tools/
|
|
|
|
check-python:
|
|
cd web && python regression/runtests.py --exclude feature_tests
|
|
|
|
check-resql:
|
|
cd web && python regression/runtests.py --pkg resql --exclude feature_tests
|
|
|
|
check-feature: install-node bundle
|
|
cd web && python regression/runtests.py --pkg feature_tests
|
|
|
|
check-js: install-node linter
|
|
cd web && yarn run karma start --single-run
|
|
|
|
check-js-coverage:
|
|
cd web && yarn run test:karma-coverage
|
|
|
|
# Include all clean sub-targets in clean
|
|
clean: clean-appbundle clean-debian clean-dist clean-docs clean-node clean-pip clean-redhat clean-src
|
|
rm -rf web/pgadmin/static/js/generated/*
|
|
rm -rf web/pgadmin/static/js/generated/.cache
|
|
rm -rf web/pgadmin/static/css/generated/*
|
|
rm -rf web/pgadmin/static/css/generated/.cache
|
|
|
|
clean-appbundle:
|
|
rm -rf mac-build/
|
|
|
|
clean-debian:
|
|
rm -rf debian-build/
|
|
|
|
clean-dist:
|
|
rm -rf dist/
|
|
|
|
clean-docs:
|
|
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx clean
|
|
|
|
clean-node:
|
|
rm -rf web/node-modules/
|
|
|
|
clean-pip:
|
|
rm -rf pip-build/
|
|
|
|
clean-redhat:
|
|
rm -rf redhat-build/
|
|
|
|
clean-src:
|
|
rm -rf src-build/
|
|
|
|
debian:
|
|
./pkg/debian/build.sh
|
|
|
|
docker:
|
|
echo $(APP_NAME)
|
|
docker build --pull -t ${APP_NAME} -t $(APP_NAME):latest -t $(APP_NAME):$(APP_RELEASE) -t $(APP_NAME):$(APP_RELEASE).$(APP_REVISION) .
|
|
|
|
docs:
|
|
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html
|
|
|
|
docs-pdf:
|
|
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx latexpdf
|
|
|
|
docs-epub:
|
|
LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx epub
|
|
|
|
messages: msg-extract msg-update msg-compile
|
|
|
|
msg-compile:
|
|
cd web && pybabel compile --statistics -d pgadmin/translations
|
|
|
|
msg-extract:
|
|
cd web && pybabel extract -F babel.cfg -o pgadmin/messages.pot pgadmin
|
|
|
|
msg-update:
|
|
cd web && pybabel update --no-fuzzy-matching -i pgadmin/messages.pot -d pgadmin/translations
|
|
|
|
.PHONY: docs
|
|
|
|
pip: docs
|
|
./pkg/pip/build.sh
|
|
|
|
redhat:
|
|
./pkg/redhat/build.sh
|
|
|
|
src:
|
|
./pkg/src/build.sh
|